Научная статья на тему 'Модели поиска и копирования символьных данных на J-сетях'

Модели поиска и копирования символьных данных на J-сетях Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
53
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
J-СЕТИ / МАКРОПОЗИЦИЯ / ИНФОРМАЦИОННЫЙ МАРКЕР / ЗАПРОСНЫЙ МАРКЕР / J-NETS / MACROPOSITION / INFORMATIONAL TOKEN / QUERY TOKEN

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Желтов П.В.

С помощью J-сетей смоделирована операция копирования информации из таблицы. Для представления информации были разработаны информационные маркеры, в частности для выполнения операции копирования разработан маркер, состоящий из двух частей: пустой и запросный. В запросной части содержится запрос или условие копирования. Таблица представлена в виде макропозиции с тремя подпозициями: ядра, в котором содержится проиндексированная информация, входного и выходного буферов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

J-nets symbol data searche and coping models

To submit information informational markers have been developed. In particular, to perform the copy operation the marker consisting of an empty and uplink parts was designed. Request part of the query contains a condition or copying. The table is presented in the form of macroposition consisting of three sub-positions: the nucleus, which contains the indexed information, and input and output buffers.

Текст научной работы на тему «Модели поиска и копирования символьных данных на J-сетях»

№ 4 (40) 2012

П. В. Желтов, канд. техн. наук, доцент Чувашского государственного университета, г. Чебоксары

Модели поиска и копирования символьных данных на ^сетях

В процессе проектирования информационных систем существенную роль играет разработка математического аппарата. Одним из направлений эффективного использования методов математического моделирования является взаимодействие между программными модулями.

Введение

Во многих системах эмуляции документооборота и взаимодействия различных приложений требуется смоделировать реальные взаимодействия между программами до их программной реализации для наилучшей оптимизации процесса конструирования программных продуктов. Для этого удобно применить ^сети, являющиеся подклассом цветных сетей Петри [1, 2, 3]. За счет наличия цветных маркеров возможно представление различных типов данных в приложениях. Более того, цветные маркеры позволяют моделировать запросные операции — копирование, редактирование и удаление информации.

Моделирование компонент

В связи с тем, что во всех случаях происходит работа со структурированными храни-

лищами данных, таких как файлы и таблицы, смоделируем с помощью ^сетей таблицу в виде макропозиции.

На рисунке 1 представлена макропозиция Ртк, которая состоит из функционального ядра, входного и выходного буферов (подпози-ции Р!Ыи Роит, соответственно). Под входным буфером понимается промежуточное хранилище данных, куда поступает информация. Входной буфер реализует интерфейс таблицы (множество функций обращения и работы с таблицей). Под выходным буфером понимается промежуточное хранилище данных, откуда изымается информация.

Алгебраическое представление модели на рис. 1 приведено в формуле:

Р,< ( )Рк (11..........^ ) Роит (). (1)

В рамах стандартной спецификации сетей Петри макропозиция Ртк выглядит, как показано на рис. 2.

рг Ц ¡¡ЛГ

фГЩШГ

р

оит

Рис.1.Макропозиция Ръ

81

№ 4 (40) 2012

мается маркер, в котором хранится информация (рис. 3).

£

■ч

§

а

I <0 Ч

а £

Л

а

и

со

0

1 §

I

0 с

!

1

р

Рис. 2. Макропозиция Ртк в стандартной спецификации сетей Петри

В функциональном ядре макропозиции Ртк находится таблица, в которой хранятся данные. Она состоит из п столбцов и т строк, т. е. из (п • т) ячеек. тп — символьное обозначение индексов ячеек, где т — номер строки, меняется от 1 до т, п — номер столбца, меняется от 1 до п.

Позиция Ртк в подобной модели гибкая. Это означает, что внутри позиции существуют также позиции — места локализации маркеров и что она может расширяться при увеличении числа маркеров. Подпозиции Р1М и Роит, наоборот, жесткие, т. е. вновь пришедший маркер будет вытеснять имеющийся в этой подпозиции маркер и заменит его. Максимальное количество маркеров, которое может содержаться в позициях, следующее:

М™* = п ■ т; М,™х = 1; М™? = 1.

Записи в таблице реализуются маркерами, в которых хранится информация. На рисунке 1 маркеры являются информационными. Под информационным маркером пони-

Р

N

информационная часть

Рис. 3. Структура информационного маркера: * Индекс указывает на расположение маркера в таблице.

** В информационной части хранится информация (она скрыта либо нас не интересует).

Моделирование процесса копирования

Рассмотрим операцию копирования информации из таблицы (рис. 4). Предположим, необходимо копировать запись, содержащую символ а. В данном случае под записью подразумевается маркер. Во входную буферную подпозицию Р!Ы поступает запрос в виде маркера, который является запросным. Под запросным маркером понимается маркер, в котором хранится запрос или условие на поиск искомой информации (рис. 5). На рисунке 4 запросный маркер изображен в виде кружочка.

Состояние модели на рис. 4 аналитически представляется следующим образом:

Р \ 0 V \ и т тп | Р ()

р I а ] I ?.....?..... ? ..... а Гоит ().

У^ЩЯят

оит

Р

тк

Рис. 4. Копирование из таблицы (вход маркера запроса)

р

р

2

№ 4 (40) 2012

пустая часть

запросная часть

Рис. 5. Структура запросного маркера (ядерный маркер).

* Содержится запрос или условие

Заранее неизвестно, где находится искомая запись в таблице, под каким индексом. Условием нахождения искомой записи будет совпадение, в данном случае символа а с искомой записью, т. е. запросной части запросного маркера с одной из частей какого-либо ядерного маркера.

Запросный маркер из подпозиции Рт входит во внутреннюю позицию Ртк.

Состояние модели на рис. 6 аналитически представляется следующим образом:

р ()Р |И+0 и т тпр ()

Пы\ )'тк | ? +а? ? ,..., а ГоитУ. ).

Далее, запросный маркер обходит все маркеры, находящиеся внутри позиции Ртк, начиная от маркера с индексом 11 и заканчивая маркером т. При обходе маркеров происходит реакция сравнения содержимого. Если информационные части маркеров не равны, то взаимодействия между маркерами нет. Если же информационные части маркеров равны, то запросный маркер копирует индекс, т. е. в него осуществляется запись искомой информации (рис. 7). После записи запросный маркер становится информационным. В данной модели возможны два типа реакции: нейтральная реакция и реакция уподобления маркеров. В результате нейтральной реакции ничего не происходит. В результате бинарной реакции уподобления маркеров числители, содержащие ноль, уподобляются ненулевому числителю. 11 0 11 О

— + — = — + — — нейтральная реакция, ? а ? а взаимодействия нет.

в со

Ртк

Рис. 6. Копирование из таблицы (нахождение записи)

Ртк

Рис. 7. Копирование из таблицы (запись информации)

83

№ 4 (40) 2012

£

■ч

§

а

I <0 Ч

а £

Л

а

и

со

0

1 §

I

0 с

!

тп 0 тп тп

— + — = — +--реакция уподобления

а а а а маркеров.

Поиск искомой информации и реакция уподобления аналитически представляются следующим образом:

Р ()р +0 и т! тп)Р (;

рт ( )Ртк ( ?, ? + а.....?..... ? ..... а Гоит ( );

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

р ()р Г!! и+0 т! тп > (;

р ( )Ртк [ ?.....? + а..... ? ..... а }оит ( );

р ()р (!! !п т!+0 тп> ();

р ( )Ртк [ ?.....?..... ? + а..... а }оит ( );

р ()р Г!! 1п т! тп+0V (;

р ( )Ртк ( ?.....?..... ? ..... а + а ) ит ( );

р ()р Г!! !п т! тп+тпV (;

р ( )Ртк ( ?.....?..... ? ..... а + а Г°ит ( ;

После того как запросный маркер стал информационным, он выходит из позиции Ртк в подпозицию Роит (рис. 8).

Состояние модели на данном рисунке аналитически представляется следующим образом:

р ()р Ш !п т! тп)р Гтп)

р ()рк ( ?.....?..... ? ..... а )Роит 1а ).

На этом операция копирования закончена. Далее следует дать формальное определение некоторых понятий сетей Пет-

ри, необходимых для правильного понимания.

Каждый маркер характеризуется одной величиной — весом ю, под которым понимается условная относительная числовая характеристика, служащая количественной мерой сравнения маркеров.

В рассмотренных выше моделях вес всех маркеров равнялся ! Возможны случаи, когда вес маркера будет равняться 0, т. е. маркер пустой (либо его не существует). Если в моделях вес маркеров принимает только дискретные числовые значения 0 или ! то базис является двоичным. Во множественном дискретном базисе вес маркера может принимать несколько значений, например 0; 0.5; ! (0; ! — двоичный базис; (0; 0,5; !) — множественный базис.

Количество входных и выходных подпози-ций может быть отлично от ! На рисунке 9 изображена макропозиция, состоящая из 2 входных буферных подпозиций рт и р ш.

На рисунке Ю изображена макропозиция ртк в стандартной спецификации сетей Петри.

Состояние модели на рис. 9 аналитически представляется следующим образом:

(Рт (й) + Р N 2

(0))х Ртк (П)Ро

а

Как видим из рис. Ю, через переход t1 планируют пройти 2 маркера. Переход считается простым, если количество маркеров, поступающих на вход, равно количест-

р„

р_

Рис. 8. Копирование из таблицы (выход копии)

84

ПРИКЛАДНАЯ ИНФОРМАТИКА /-

' № 4 (40) 2012

Рис. 9. Макропозиция ртк

Рис. 10. Макропозиция ртк

ву маркеров, прошедших данный переход. Переход считается мультиплицирующим, если количество маркеров после прохождения перехода увеличивается в к раз (рис. 11). Переход считается демультипли-цирующим, если количество маркеров после прохождения перехода уменьшается в к раз (рис. 12).

Однако работа с таблицами не ограничивается простыми операциями копирования, так как обычно присутствуют условия, определяющие, будет ли выполняться какое-либо действие. Под условием подразумевает-

Рис. 12. Демультиплицирующий переход

Рис. 11. Мультиплицирующий переход (символ «х» означает «умножение»)

-N ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 4 (40) 2012 ' -

Рис. 13. Запись в таблицу по условию «И» во множественном базисе (запуск через внешнее воздействие)

ся внешнее воздействие, которое осуществляется человеком либо другой сетью.

Рассмотрим следующую модель — запись в таблицу по условию «И» во множественном базисе. Все переходы в данной модели простые. Запуск системы осуществляется через внешнее воздействие. На рисунке 13 внешнее воздействие (оператор) обозначается символом 0.

Состояние модели на рис. 13 аналитически представляется следующим образом:

i (Popí (0,5O)t1p/w1 ( ) + p0p2 (0,5Q)Pn2 ( ))•

со

| • PM1 (®)POUT [y jt3PIN ( )PTK [yy jPOUT ( ).

Í ' '

ч Под условием «И» понимается логиче-

| ская функция, которая связывает два усло-

г§ вия и при выполнении обоих является истин-

§ ной. В J-сетях логическая функция модели-% í « руется половинками маркера (вес маркера

в этом случае равен 0,5), т. е. пока не про-

§ изошла сборка маркера из двух половинок,

условие не выполняется. Данная система

| реагирует не на половинки, а только на це-

g лые маркеры. Половинки маркеров достав-

| ляются извне и являются частями управ-

^ ляющего маркера, т. е. запускают деление

ядерного маркера. Ядерный маркер — мар-

Ü кер, который при взаимодействии с другим

маркером генерирует себе подобный. Под модулем M1 имеется в виду программный модуль (процедуры, функции). Внутри модуля M1 содержится ядерный маркер.

В таблице Tk, размером 2 • 2, имеются две записи под индексами 11 и 12 (рис. 13). Необходимо произвести третью запись в таблицу. Задачей программиста является реализация соответствующего программного кода, т. е. моделируется процедура записи, а сама запись уже готова и хранится в определенном месте. В программном коде значение либо заранее присваивается переменной, либо оно берется из какого-либо хранилища данных. В этой модели она помещена в выходной подпозиции pOUT модуля M1 в виде маркера.

После запуска системы через внешнее воздействие происходит вход управляющих маркеров во входные подпозиции pN1 и pNN2 (рис. 14).

Состояние модели на рис. 14 аналитически представляется следующим образом:

(Pop1 ( )ÍP,N1 (0,50) + Р0p2 ( )f2Pn2 (0,5O))-

• Pm1 (®)POUT ) t3 PIN ( )PTK (yy j POUT ( ).

Далее управляющие маркеры входят в подпозицию pM1 (рис. 15).

86 у

№ 4 (40) 2012

Рис. 14. Запись в таблицу по условию «И» во множественном базисе (вход управляющих маркеров во входные подпозиции)

Рис. 15. Запись в таблицу по условию «И» во множественном базисе (вход управляющих маркеров в ядро)

Заключение

Таким образом, на ^сетях смоделирован процесс поиска и копирования из таблицы. Для представления таблицы использованы макропозиции, а для представления записей данных в ней — информационные маркеры. Активным элементом в процессе поиска и копирования является запросный маркер, который обходит все записи таблицы до тех пор, пока не найдет нужный, после чего происходит обмен информацией между маркерами, в результате которого нужная информация копируется из записи в числитель информационного маркера, который следует в выходную подпозицию макропо-

зиции. Разработанные модели могут быть применены как метасредства при конструировании программных продуктов и обеспечить взаимодействие разработчиков разной квалификации.

Список литературы

1. Желтов П. В., Желтов В. П., Желтова Л. В., Кузнецова Н. А. Алгоритмы на сетях Петри. Чебоксары: Изд-во Чуваш. ун-та, 2008. — 146 с.

2. Желтов П. В. Моделирование многоагентных систем сетями Петри. Чебоксары: Изд-во Чуваш. ун-та, 2008. — 108 с.

3. Котов В. Е. Сети Петри. М.: Наука. Главная редакция физико-математической литературы, 1984. — 160 с.

87

i Надоели баннеры? Вы всегда можете отключить рекламу.