MS_glavy_123 (1086515), страница 8
Текст из файла (страница 8)
2) изменяется текущее время: t1 = ;
3) некоторые агрегаты за получают внешние сигналы. При выдаче ими выходных сигналов появляется возможность рассмотреть еще несколько агрегатов, получивших эти сигналы в качестве внешних, и т.д.;
4) агрегаты, не получившие к моменту внешних сигналов, изменяют свои состояния в соответствии с оператором U. Для них необходима проверка принадлежности состояний подмножеству особых состояний и наличия на интервале
моментов выдачи выходных сигналов. В связи с этим может появиться новая совокупность агрегатов, получивших в интервале
внешние сигналы. Моделирование продолжается до тех пор, пока состояние системы не будет зафиксировано для момента
по всем агрегатам. Если система циклическая, то одного просмотра всех элементов на данном шаге недостаточно. На каждом шаге такие элементы просматривают дважды;
5) вычисляется значение критерия интерпретации результатов и формируется момент = 2
, после чего процедура моделирования повторяется.
Моделирующий алгоритм со случайным шагом. При рассмотрении широкого класса систем можно обнаружить существенную неравноправность состояний. Среди них выделяются обычные состояния, в которых система находится почти все время, и особые состояния, когда наступают внесистемные и внутрисистемные события. Особые состояния характеризуются еще и тем, что координаты в эти моменты времени изменяются скачком (происходит событие), а в промежутке между особыми состояниями изменение координат либо происходит плавно и непрерывно (этот процесс нас не интересует, если суммарное изменение какого-либо из параметров не превысит критическое значение, изменяющие хотя бы одну из координат
, что приведет к новому состоянию системы), либо не происходит вовсе. Системы с такой интерпретацией поведения называют системами с дискретными событиями.
С учетом этого для построения моделирующих алгоритмов можно использовать более экономичный (в смысле затрат машинного времени) способ, чем моделирование с постоянным шагом. Для этого достаточно производить осмотр агрегатов системы лишь в моменты, соответствующие особым состояниям, поэтому такой принцип моделирования называют моделированием «по особым состояниям» или «событийным моделированием». Длительность шага является случайной величиной.
Пусть m — модель, (i = 1, 2,...) — ее элементы (агрегаты). В течение рассматриваемого интервала времени (0, Т) — времени реализации — элемент
изменяет состояние в моменты системного времени
(k— номер момента). Моменты смены состояния элемента
, можно разделить на три типа: 1) случайные, связанные с внутренними свойствами элемента; 2) случайные, связанные с изменением состояния других элементов модели, влияющих на поведение
; 3) детерминированные, связанные с заданным расписанием его функционирования. Моментами смены состояний модели в целом являются все моменты
.
При программировании для каждого агрегата отводят ячейку памяти, в которой фиксируется момент очередного перехода агрегата в новое состояние и вид этого состояния. Такие ячейки образуют массив состояний. Он отражает динамику функционирования модели: одна его часть хранит информацию о прошлом системы, другая представляет собой список будущих событий.
Применяя понятие агрегата и приведенные выше рассуждения к моделям информационных систем, можно сделать следующие выводы.
1. Агрегат— это устройство, программа или массив, т.е. некоторый ресурс системы.
2. Входной сигнал — это сообщение, заявка на ресурс.
3. Процесс функционирования системы может интерпретироваться как последовательность «захватов» и «освобождений» ресурсов системы каждой заявкой.
В этом случае последовательность, в которой рассматриваются агрегаты, определяется не всей совокупностью их связей, а маршрутом каждой отдельной заявки. Теперь на интервале нужно рассматривать все находящиеся в системе заявки вместо всех агрегатов. Такой метод моделирования иногда называют способом «последовательной проводки заявок» [1].
2.3. Функции и структура монитора моделирования
Монитор моделирования (Monitor/Simulator) представляет собой основную программу, управляющую процессом моделирования, использованием ресурсов, сбором статистики и выдачей результатов.
Монитор моделирования (ММ) выполняет следующие основные функции:
организация (ведение) «службы» времени;
организация и управление последовательными и псевдопараллельными процессами, отображающими в модели процессы, происходящие в реальном объекте последовательно и/или параллельно (одновременно) во времени;
ведение очередей событий («текущих» и «будущих») с целью правильного (адекватного) отображения поведения системы в процессе моделирования — правильное воспроизведение причинно-следственных связей, существующих в реальной системе;
контроль и управление использованием ресурсов моделируемой системы, представленных в модели, в процессе моделирования;
организация и управление очередями запросов к ресурсам, которые могут возникать в ходе моделирования;
управление запуском и остановом модели;
реализация взаимодействия с пользователем в процессе моделирования (отработка команд пользователя).
Практически все ММ можно разбить на два класса в зависимости от организации «продвижения» модельного времени в процессе моделирования. Модельное время ( ) отображает в модели реальное время, в котором функционирует моделируемый объект или система (
). Таким образом, будем считать, что «реальное время» и «системное время» для нас тождественны. Так как ЭВМ работает с цифровой информацией и является по отношению к перерабатываемым данным дискретно функционирующей системой, то и ход времени в ЭВМ отображается дискретно с определенным шагом (точностью). Взаимосвязь между предыдущим
и последующим
моментами времени можно представить как
=
+
, где
— величина кванта времени (шага дискретизации).
Первый класс мониторов — это ММ, для которых = const. Их называют мониторами с постоянным шагом.
Ко второму классу относятся ММ, в которых переменная и случайная величина, зависящая от момента появления последующего события, т.е.
= var. Такие мониторы называются ММ с переменным шагом (или ММ событийного типа). В них
определяется интервалом времени от текущего момента до ближайшего события (перехода системы в новое состояние). Это автоматически гарантирует правильность (адекватность) отображения причинно-следственных связей в модели, так как только происшедшее (происходящее) событие может влиять на последующие события (во времени).
В ММ первого класса, более простых по своей организации по сравнению с ММ событийного типа, проблема сохранения причинно-событийных связей разрешается посредством правильного выбора .
Индекс i означает, что квант t зависит от типа решаемой задачи , но на все время решения этой задачи он равен константе.
Для сохранения правильного (соответствующего реальной «жизни» объекта) взаимодействия событий с учетом их временной последовательности (в том числе одновременности) появления, т.е. для правильного отображения в модели причинно-следственных связей, необходимо обеспечить, чтобы в один и тот же квант времени моделирования не попадали события, которые могут существенно взаимодействовать (влиять друг на друга).
Решение этой задачи усложняется, если в процессе моделирования (как и в реальном объекте), события появляются существенно различной интенсивностью. Выбор кванта временя min( ), на основе минимального (ожидаемого) времени между смежными событиями может привести к увеличению общего количества квантов n=
/min(
) и, следовательно, к увеличению временных затрат в процессе моделирования, так как в периоды низкой интенсивности при
= const увеличивается число «холостых» квантов, когда в системе не возникает смены eе состояний, требующих затрат машинного времени на анализ ситуации и продвижение
. Поэтому в большинстве современных систем моделирования применяют моделирование с переменным квантом времени (событийное). В дальнейшем будем рассматривать именно событийное моделирование. На рис. 11 изображен пример временной диаграммы обработки событий при событийном моделировании: по оси абсцисс отложена
; по оси ординат —
;
— длительность моделирования
— время работы модели;
— время установки начальных значений и запуск модели;
— значение кванта с номером k для приращения
, t(i,j)— время обработки события i-го типа c порядковым номером j;
— время просмотра очереди текущих событий;
— время просмотра очереди будущих событий и выбора ближайшего.