Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
model-00ae89b6 / Л13_М_pr_.doc
Скачиваний:
49
Добавлен:
10.04.2015
Размер:
166.91 Кб
Скачать

6.3.2. Списковые структуры или списки

Списковые структурыилиспискииспользуются для объединения объектов системы моделирования в группы и создания динамической (изменяемой во времени) модельной среды. Параметры списка позволяют собирать статистические данные об использовании списков "их поведения" за время моделирования. Чаще всего необходимо создавать список транзактов, список приборов, очередей, накопителей, гистограмм, список созданных списков.

6.3.3. Константы

Константы – скалярные объекты. При создании системы моделирования чаще всего константами описывают:

  • допустимое число событий, чем больше значение этой константы, тем более детально описана реальная система;

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

  • максимальная абсолютная величина приоритета транзакта;

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

Остальные типы переменных являются частными для конкретных систем моделирования.

6.3.4. Системные переменные

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

  1. Системное время– независимая переменная величина, относительно которой синхронизируются все события в модели.

  2. Время последнего сброса статистики– для отчета относительного времени на очередном шаге модельного эксперимента.

  3. Текущее событие– событие, связанное с перемещением активного транзакта.

  4. Число доступных транзактов.

  5. Активный транзакт– транзакт, продвигающийся по модели в данный момент времени.

  6. Основные списки транзактов.

7.Списки задержанных транзактов.

Служебные переменные – признаки совершения событий; счетчики выполнения событий; переменные – источники генераторов случайных чисел, общее число совершившихся событий; основной выходной файл.

6.4. Описание объектов модели в симпас

Для определения транзактов и СИМПАС определен тип TRANSAKT, представляющие собственную запись, содержащую следующие поля

TRANSACT=RECORD

PB: ARRAY [1…MPTB] of BOOLEAN

P

– булевские параметры;

PI: ARRAY [1…MPTB] of INTEGER

P

– целые параметры;

PR: ARRAY [1…MPTB] of REAL

P

– вещественные параметры;

PF: ARRAY [1…MPTB] of PFACILITY

P

– ссылки на приборы;

PQ: ARRAY [1…MPTB] of PQUEUE

P

– ссылки на очереди;

PS: ARRAY [1…MPTB] of PSTORAGE

P

– ссылки на накопители;

PRTY: PRTYRANGE

P

– приоритет;

TESTPRTY: BOOLEAN

P

– ключ приоритета;

ANS: INTEGER

S

– номер ансамбля;

INTEGER

S

– число членов ансамбля;

INTEGER

S

– номер транзакта;

PREDANS: PTRANSACT

S

– ссылки на предыдующий транзакт в ансамбле;

SLEDANS: PTRANSACT

S

– ссылки на следующий транзакт в ансамбле;

PRED: PTRANSACT

S

– ссылки на предыдущий транзакт в списке;

SLED: PTRANSACT

S

– ссылки на следующий транзакт в списке;

EVE: EVENT

S

– событие инициализации;

NEXTTIME

S

– время активизации;

TRANSLIST: PLIST

S

– ссылка на занимаемый список.

Специальный тип данных PTRANSACT = ^TRANSACT служит для ссылки на транзакты.

Первые восемь полей доступны для приминения пользователем и обозначены символом “Р”. Символом “S” отмечены поля, используемые для системных целей. В частности, если транзакт используется для имитации потока автомобилей на автостраде, его параметры могут применяться для идентификации конкретного автомибиля в потоке, например первый действительный параметр может хранить количество топлива, а второй – указывать среднее потребление бензина на километр пути.

Спецификация полей прибора (FACILITY):

TEST: BOOLEAN

P

– признак включения;

NAME: ALFA

P

– имя прибора;

STATUS: (FREE,SEIZED,PREEMPTED)

S

– состояние прибора;

SLED: PFACILITY

S

– ссылка на следующий прибор в списке;

PRED: PFACILITY

S

– ссылка на предыдущий прибор в списке;

TRANSPOINT: PTRANSACT

S

– ссылка на отработанный транзакт;

P: INTEGER

S

– число захватов;

CI: INTEGER

S

– число входов в прибор;

TIMEF: REAL

S

– суммированное время занятости;

PRETIME: REAL

S

– время предыдущего обращения;

MTIME: REAL

S

– среднее время занятости ;

PRO: REAL

S

– загрузка прибора;

FL: PLISTT

S

– ссылка на список ожидаемых транзактов;

INTER: PLISTT

S

– ссылка на список прерванных транзактов.

Если FAC1: PFACILITY– ссылка на прибор, то используя имяFAC1^.STATUS можно определить его состояния (FREE – свободен, SEIZED – занят, PREEMPTED – захвачен). Описание и назначение полей очередей (QUEUE).

TEST: BOOLEAN

P

– признак включения;

NAME: ALFA

P

– имя прибора;

STATUS: (EMPTY,FULL)

S

– состояние очереди;

LQ: INT

S

– длина очереди текущая;

MQ: INT

S

– длина очереди максимальная;

SIZE: INT

S

– длина очереди предельная;

SLED: PQUEUE

S

– ссылка на следующую очередь в списке;

PRED: PQUEUE

S

– ссылка на предыдущую очередь в списке;

CI: INTEGER

S

– число входов в очереди общее;

CO: INTEGER

S

– число входов в очереди нулевой длины;

TIMEQ: REAL

S

– суммарное время занятости;

PRETIME: REAL

S

– время предыдущего обращения;

LM: REAL

S

– средняя длина;

MTIME: REAL

S

– среднее время занятости.

Ссылка на очередь определяется типом PQUEUE = ^QUEUE. ЕслиQ1– ссылка на очередь, тоQ1^.LQопределяет ее текущую длину. Параметры очередей используются для различных целей. Так, текущие длины очередей могут служить для выбора транзактами кратчайших путей обслуживания.

Накопитель как статистический объект определил типом STORAGE. Приведем значение полей.

TEST: BOOLEAN

P

– признак включения;

NAME: ALFA

P

– имя прибора;

S: INTEGER

S

– емкость;

SS: INTEGER

S

– текущее содержание;

SF: INTEGER

S

– доступная емкость;

SM: INTEGER

S

– максимальное содержимое;

CI: INTEGER

S

– число входов;

UT: REAL

S

– загрузка;

SMEAN: REAL

S

– среднее содержимое;

MTIME: REAL

S

– среднее время занятости;

TIMES: REAL

S

– суммарное время занятости;

PRETIME: REAL

S

– время предыдущего обращения;

SLED: PSTORAGE

S

– ссылка на следующий накопитель в списке;

PRED: PSTORAGE

S

– ссылка на предыдущий накопитель в списке;

SLT: PLISTT

S

– ссылка на список ожидающих транзактов.

Соседние файлы в папке model-00ae89b6