Две разновидности управление в ДСМ

 

В ДСМ используются два вида событий: условные и безусловные. Безусловные события рассматриваются в моделях хронологических потоков. Безусловные события выполняются точно в тот момент времени, когда запланированное время его наступления становится равно текущему. Условное событие наступает не только в зависимости от времени, но и от других условий.

В соответствии с двумя видами событий в ДСМ различают два вида управления:

1. Императивное (повелительное, указывающее). Связано с управлением движения ленты фреймов и проверкой содержимого окна текущего времени. Операторы императивного управления планируют события на будущие моменты времени, включают метки этих событий в календарь, удаляют метки событий из календаря. Операторы могут явно указывать моменты времени, например, запланировать наступление EVK в момент времени T – планирование в абсолютном времени; запланировать наступления события EVK с задержкой на t единиц от текущего времени – планирование в относительном времени. Операторы императивного управления могут не использовать в явном виде не использовать значение времени, а реализовывать механизм приоритетов. Например, включить событие EVK перед (после) событием EVN. Императивное управление всегда связано с изменением календаря событий и поддержанием хода часов модельного времени.

2. Интеррогативное (вопросительное). Определяет процесс функционирования системы при достижении ею определенного статуса, т.е. при выполнении определенного набора логических условий. Интеррогативное управление не связано с часами модельного времени. Операторы интеррогативного постоянно следят за статусом системы и обеспечивают реакцию на его изменение. Интеррогативное управление используется, когда невозможно заранее предсказать наступление события даже с использованием стохастических методов.

Схема интеррогативного управления

 

Работы события EVN
Работы события EVM  
Работы события EVK  
Программы работ
     
     
     
     
     
     
да
да
да
да
да
да
Возврат после выполнения программы работ событий
К блоку пересчета состояний времени

 

Между множеством типов событий {EVN,AVM,…,EVK} и множеством логических условий {CN1,CN2,…,CNL} устанавливается соответствие либо перед началом моделирования, либо в процессе моделирования.

Условие – это булевская функция, определяемая набором логических условий, при выполнении которых система должна изменить свой статус, т.е. должно наступить событие. Если условия выполнены, соответствующая функция CN активна. В процессе имитация после окончания выполнения программы работ очередного события монитор проверяет соответствие логического условия типу события (CN EV). Если соответствие имеется, проверяется активность логического условия. Если соответствующая функция активна монитор передает управления программе работ соответствующего события. Если из всего множества функций нет не одной активной, происходит пересчет системного времени и интеррогативное управление запускается вновь.

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

Основной оператор интеррогативного управления запланировать наступление события EVK в связи с выполнением функции условий CNL. Если CNL новое условие, монитор моделирования должен включить новый элемент в множество условий.

Другой оператор интерроготивного управления разрушить связь между событием EVK и условием CNL. Если условие CNL не связано с другими типами событий, монитор исключает его из множества логических условий. Интеррогативное управление использует списковую структуру спискового вида:

 

 

 

 


Логическое условие 1   Логическое условие 2   Логическое условие L
         
         

 

     
     
     
     

Список ожидаемых событий

 

Схема интеррогативного управления может быть описана следующей циклической структурой:

WHILE <множество {CN} содержит хотя бы один активный элемент, т.е. существует функция СТД=true в текущий момент времени> DO выполнить программу работ всех событий, связанных со всеми активными условиями

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

 

Схема универсального дискретно-событийного симулятор а

 

Он попеременно выполняет функции императивного и интеррогативного управления на всем протяжении имитационного эксперимента

 

WHILE <имитационный эксперимент продолжается>DO

(*интеррогативное управление*)

WHILE <множество {CN} содержит хотя бы один активный элемент, т.е. существует функция CNL=true в текущий момент времени> DO

 

 

END;

(*императивное управление*)

переместить ленту фреймов влево так, чтобы не пустой фрейм попал в окно текущего времени, т.е. выполнить пересчет системного времени.

выбрать метки всех событий, находящегося в окне текущего времени

выполнить программы работ соответствующих событий

END

 

 


Концепция состояний

 


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



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