Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MIRA / диплом1.doc
Скачиваний:
12
Добавлен:
16.04.2013
Размер:
546.82 Кб
Скачать
      1. Компоненты е-сети

Все компоненты Е-сети в СВПИМ порождены от базового класса TNObject и перегружают все его виртуальные функции. Кроме того, каждый из компонентов имеет собственные данные и методы, специфичные для него.

Переходыпредставлены в редакторе классом TNetObj. Кроме свойств, определенных в базовом классе, объект имеет набор собственных свойств, описывающих тип перехода, ширину графического изображения, высоту графического изображения, выражение в операторе TIME, выражение в операторе CONTROL, выражение в операторе TRANSFER и т.д.

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

Дугипредставлены классом TlineObj Кроме свойств, определенных в базовом классе, объект имеет следующий набор собственных свойств: тип дуги, направление дуги, указатель на переход, к которому присоединена дуга, указатель на позицию, к которой присоединена дуга и т.д.

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

Класс TNetObj:

TNetObj = class (TNObject)

public

TypeNet :TAllTypeNet;

ResizeRgn :HRGN;

Width :integer;

Height :integer;

HeightVertLine:integer;

IsPassed :boolean; (*добавленное свойство*)

Свойство IsPassed описывает состояние перехода (срабатывающий или нет)

Класс TPosObj:

TPosObj = class (TNObject)

public

TypePos :TAllTypePos;

Width :integer;

Height :integer;

Orientation :Boolean;

Length : Longint;

Pos1,Pos2 :TPoint;

InOutPoint: array[1..2] of TPoint;

SatatusInOutPoint:array[1..2] of TWayLine;

OrientationRgn :HRGN;

NumPoints:integer; (*добавленное свойство*)

Свойство NumPoints описывает количество фишек в позиции.

    1. Структура подсистемы визуального отображения

Структура подсистемы имеет следующий вид:

ОБРАБОТКА ФАЙЛА

СОЗДАНИЕ СПИСКА

НАЧАЛЬНАЯ МАРКИРОВКА

ГРАФИЧЕСКОЕ ОТОБРАЖЕНИЕ

      1. Обработка файла созданного микросим

Файл с данными о сработавших переходах создается в результате работы МИКРОСИМ. Структура файла описана в п. 2.3.3. Имя файла задается в виде <имя модели>.log, располагается он в директории МИКРОСИМ. При некорректном задании параметров моделирования размер файла может достигать нескольких мегабайт. Очевидно, что активная работе с таким файлом будет затруднена из-за ограниченной пропускной способности дисковой системы.

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

Для обеспечения хранения файла со сработавшими переходами был введен тип записи, содержащей следующие параметры сработавшего перехода:

OneLine= Record

Segment: string (*имя сегмента*);

Perehod: string (*имя перехода*);

Ttime: real (*текущее модельное время*);

Ddelay: real (*задержка*);

FromPos: String (*имя входной позиции*);

FromCount: integer (*кол-во фишек*);

ToPos: string (*имя выходной позиции*);

ToCount:integer (*кол-во фишек*);

end;

В процессе обработки файла организуется список из таких записей, в порядке следования сработавших переходов.

Соседние файлы в папке MIRA