Функции и структура монитора моделирования

Монитор моделирования (Monitor/Simulator) представляет собой основную программу, управляющую процессом моделирования, использованием ресурсов, сбором статистики и выдачей ре­зультатов.

Монитор моделирования (ММ) выполняет следующие основные функции:

организация (ведение) «службы» времени;

организация и управление последовательными и псевдопараллельными процессами, отображающими в модели процессы, происходящие в реальном объекте последовательно и/или параллельно (одновременно) во времени;

ведение очередей событий («текущих» и «будущих») с целью правильного (адекватного) отображения поведения системы в процессе моделирования — правильное воспроизведение причин­но-следственных связей, существующих в реальной системе;

контроль и управление использованием ресурсов моделируемой системы, представленных в модели, в процессе моделирования;

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

управление запуском и остановом модели;

реализация взаимодействия с пользователем в процессе мо­делирования (отработка команд пользователя).

Практически все ММ можно разбить на два класса в за­висимости от организации «продвижения» модельного времени в процессе моделирования. Модельное время () отображает в модели реальное время, в котором функционирует моделируемый объект или система (). Таким образом, будем считать, что «реальное время» и «системное время» для нас тождественны. Так как ЭВМ работает с цифровой информацией и является по отношению к перерабатываемым данным дискретно функциони­рующей системой, то и ход времени в ЭВМ отображается дискретно с определенным шагом (точностью). Взаимосвязь между предыдущим  и последующим  моментами времени можно представить как  = + , где — величина кванта времени (шага дискретизации).

Первый класс мониторов — это ММ, для которых  = const. Их называют мониторами с постоянным шагом.

Ко второму классу относятся ММ, в которых  переменная и случайная величина, зависящая от момента появления после­дующего события, т.е.  = var. Такие мониторы называются ММ с переменным шагом (или ММ событийного типа). В них  определяется интервалом времени от текущего момента до ближайшего события (перехода системы в новое состояние). Это автоматически гарантирует правильность (адекватность) отобра­жения причинно-следственных связей в модели, так как только происшедшее (происходящее) событие может влиять на после­дующие события (во времени).

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

Индекс i означает, что квант t зависит от типа решаемой задачи , но на все время решения этой задачи он равен константе.

Для сохранения правильного (соответствующего реальной «жизни» объекта) взаимодействия событий с учетом их временной последовательности (в том числе одновременности) появления, т.е. для правильного отображения в модели причинно-следственных связей, необходимо обеспечить, чтобы в один и тот же квант времени  моделирования не попадали события, которые могут существенно взаимодействовать (влиять друг на друга).

Решение этой задачи усложняется, если в процессе моделирования (как и в реальном объекте), события появляются существенно различной интенсивностью. Выбор кванта временя min(), на основе минимального (ожидаемого) времени между смежными событиями может привести к увеличению общего количества квантов n= /min() и, следовательно, к увеличению временных затрат в процессе моделирования, так как в периоды низкой интенсивности при  = const увеличивается число «холостых» квантов, когда в системе не возникает смены eе состояний, требующих затрат машинного времени на анализ ситуации и продвижение . Поэтому в большинстве современных систем моделирования применяют моделирование с переменным квантом времени (событийное). В дальнейшем будем рассматривать именно событийное моделирование. На рис. 11 изображен пример временной диаграммы обработки событий при событийном моделировании: по оси абсцисс отложена ; по оси ординат — ; — длительность моделирования  — время работы модели;  — время установки начальных значений и запуск модели; — значение кванта с номером k для приращения , t (i,j) время обработки события i -го типа c порядковым номером j; — время просмотра очереди текущих событий;  — время просмотра очереди будущих событий и выбора ближайшего.

;  — в данном примере

 

 

где  — «чистое» время обработки события; — время коррекции собираемой статистики при появлении каждого события i.

На диаграмме приведен пример с присутствием в модели трех типов событий (i =1,3). Моменты появления события отображаются в верхних трех строках прямоугольниками с двумя индексами i и j.

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

 

Рис. 11

Эти процессы осуществляются как MM (), так и интерпретацией и реализацией операторов модели, соответствующих данному событию :

где  — время начальной настройки значений параметров модели, = 1, если в момент времени k, определяемый порядковым номером события в общем потоке событий, происходит событие типа;  = 0, если в момент времени k, определяемый порядковым номером события в общем потоке событий, не происходит событие i -го типа; — число типов событий; — время коррекции статистики при появлении события i -гo типа; — время обработки событий типа i в момент времени k.

ММ в каждый момент , когда происходит появление новой группы (или одного) событий, обрабатывает эту группу событий (текущих или активных) и, после того как очередь текущих событий станет пуста, переходит к анализу очереди будущих событий, определяет ближайшее событие и увеличивает значение счетчика  на величину +  и цикл повторяется снова.

Это основная функция MM — управление очередями событий и модельного времени— одного из блоков системы. Другими блоками являются имитаторы процессов, и задающие путь каждой заявки от ресурса к системы, интерпретатор операторов языка, на котором программирование модели. Общая организация системы приведена на рис. 12а.

Первая функция ММ — управление процессами.

Блок 1 анализирует списки будущих и активизированных — (т.е. активных в модельном времени, но ожидающих в машинном времени) событий и имеющихся для определения процесса, подлежащего активизации в момент машинного времени; прерывает и возобновляет работу процессов; передает информацию об изменениях состояний в блок сбора статистики 10; формирует информацию для сообщений об ошибках (блок 9).

Блок 2 фиксирует нормальное окончание моделирования (истекло заданное модельное время или заданное число событий); представляет приостанов работы модели по условию или команде; фиксирует аварийное окончание моделирования (пуста очередь активизированных и будущих событий, превышены для модели размеры памяти и пр.).

Блоки 3,11,12 определяют необходимость и управляют выдачей результатов.

Блоки 4 и 5 — после приостанова (останова) управляют внесением изменений в данные.

Блоки13 и 21 проверяют и реализуют либо продолжение моделирования, либо его прекращение (останов).

Вторая функция ММ — управление ресурсами. Рациональный выбор требуемых ресурсов и их распределение — одна из задач проектирования системы управления. Под ресурсами понимаются программные и аппаратные средства моделируемой системы. Ресурсы в реальных системах ограничены. Эти же ограничения должны отображаться в модели, а в ММ должны быть предусмотрены средства для слежения за использованием ресурсов. Существующее многообразие ресурсов можно разбить на две категории, условно назвав их ресурсами типа «память» и ресурсами типа «устройство». Для работы с ними в состав монитора введены блоки 7 и 8 соответственно. Ресурс типа «память» допускает одновременное его использование несколькими «запросами», если только их суммарные требования к его величине (объему памяти) не превышают емкости памяти данного ресурса.

 

 

Рис. 12а

Ресурс типа «устройство» аналогичен ресурсу типа «память» единичной емкости, поэтому он не может использоваться несколькими запросами одновременно, а только в режиме разделения времени.

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

Если требуемый ресурс выделен по пришедшему запросу, то блок 7 (8) возвращает управление процессу, сформировавшему данный запрос (через блок 1).        

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

Блоки 7 и 8 передают необходимую информацию об изменении состояний ресурсов и об изменении длин очередей в блок «Сбор статистики» (10).

Транслятор-интерпретатор операторов языка моделирования имеет обычную организацию [5] с одной характерной особенностью: интерпретирующие программы делятся на два типа. Одни из них, условно обозначенные ОАР (операторы активизации ресурса), активизируют монитор для работы с ресурсами (по входам И1, И2 и МЗ), другие— типа ОАП (операторы активизации процесса) после интерпретации оператора активного процесса возвращают управление следующему оператору процесса имитационной модели (см. рис.126, вверху).

Программы разных типов инициируются соответствующими типами операторов имитационных моделей. Блоки 19 и 20 условно представляют модели процессов п. 1 — п. К, совокупность которых является моделью объекта (см. рис.126, внизу).

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

организации хранения результатов по нескольким вариантам исследуемого процесса или объекта;

целенаправленного изменения параметров модели;

настройки модели на новые исходные данные;

организации перебора возможных вариантов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: