Эмулятор сети Петри

1. Немного математики или Что такое сеть Петри?

2. Что это такое?

В первом приближении это эмулятор сетей Петри, позволяющий промоделировать каноническую сеть Петри, а также некоторое ее расширение, предложенное мною (касающееся передачи фишек).

Возможно использование следующих элементов сети :

3. Интерфейс

Программа написана под Windows 95/NT. При написании использовался компилятор Borland Delphi 3.
Как это выглядит:
Как это выглядит...

4. Использование программы

В программе есть 4 режима редактирования, опишем каждый из них :

Основной режим (normal mode).

При этом кнопка находится в нажатом состоянии. В основном режиме, Вы можете смотреть и изменять свойства объектов сети, которые находятся на рабочем поле. Для того чтобы открыть диалог со свойствами объекта, необходимо щелкнуть на нем правой кнопкой мыши и, затем выбрать пункт меню "Properties".. В основном режиме Вы также можете перетаскивать имеющиеся объекты по рабочему полю. Вы также можете удалить объект из сети, для этого необходимо выбрать объект и нажать Delete.

Режим вставки позиции (adding place).

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

Режим вставки перехода (adding bridge).

Эквивалентен предыдущему режиму, но при нажатии на левую кнопку мыши вставляется не позиция, а переход, при нажатии на уже существующий переход переход поворачивается на 15 против часовой стрелки.

Режим создания соединения (adding vector).

При данном режиме осуществляется соединение позиций и переходов. Для того чтобы соединить два объекта между собой, необходимо сначала указать объект с которого начнется соединение, щелкнув на нем левой кнопкой мыши. Линия может быть ломаной и установка очередного узла линии осуществляется нажатием левой кнопки мыши на рабочем поле. Для завершения соединения, необходимо также как и вначале щелкнуть левой кнопкой мыши над одним из объектов. При этом следует учесть, что соединение можно установить только между противоположными объектами - позицией и переходом.

5. Проектирование сети.

Проектирование сети заключается в размещении объектов сети на рабочем поле и установке связей между ними. Если скажем возникает необходимость использования позиции, то все что нужно сделать - это щелкнуть левой кнопкой мыши над требуемым объектом в панели инструментов (в данном случае - позицией), а затем опять щелкнуть левой кнопкой мыши на рабочем поле в том месте, куда Вы хотите разместить объект(позицию). На рабочем столе должен появиться кружок синего цвета с белой окантовкой - это и есть позиция. Далее точно так же, Вы можете поместить на рабочий стол любой из имеющихся переходов.

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

Сохранение сети осуществляется либо выбором соответствующего пункта в меню "File", либо нажатием на кнопку с изображением дискеты (опять же на панели управления), либо нажатием F2. Для загрузки сети или создания новой сети также предусмотрены соответствующие пункты меню, кнопки на панели упраления и горячие клавиши (F3 соответственно).

Послесловие.

1. В программе еще много глюков, поэтому воспользуйтесь советом -

Сохраняйтесь по-чаще.
2. Сеть сохраняется в INI-файл, который, при необходимости, можно править руками (я так и делаю :-).

Благодарности.

Выражаю благодарность всем, кто помог мне советом или словом добрым, обнаружил ошибки и не поленился сообщить мне о них, кстати если обнаружите любые ошибки, сообщите мне, я обязательно разберусь, т.к. программа находится в стадии разработки.

Большое спасибо Михаилу Заведееву, описание программы которго я положил в основу этого документа (собственно написал его он, я всего-лишь исправил - не люблю писать документацию :-).

Если данная программа вас заинтересовала - ее можно взять здесь (127K RAR архив с примерами сетей).

При выходе новых версий я постараюсь обновлять данную страничку.
Также советую посмотреть программу Михаила Заведеева, будет с чем сравнить.

Пожелания и замечания можно прислать сюда.


Created 03.12.1997 23:27. Last updated 15.06.1999 23:25.
Назад на главную страницу