УДК 004.514.2
ФОРМАЛЬНОЕ ПРЕДСТАВЛЕНИЕ СОБЫТИЙНЫХ МОДЕЛЕЙ ДИСКРЕТНЫХ СИСТЕМ
© 2012 Е. А. Бабкин1, В. В. Разиньков2
1канд. техн. наук, доцент, профессор каф. программного обеспечения и администрирования информационных систем e-mail: [email protected] 2аспирант каф. программного обеспечения и администрирования информационных
систем e-mail: [email protected]
Курский государственный университет
Вводятся понятия и символьные обозначения отношений следования и отмены событий, потоков событий и операций соединения и разделения потоков. Рассматривается формальное символьное представление событийного поведения дискретных систем на уровне элементарных событий и макрособытий.
Ключевые слова: событие, событийный граф, событийное моделирование, отношение следования событий, отношение отмены событий, поток событий.
Введение
Практическими источниками развития теории имитационного событийного моделирования дискретных систем являются событийные языки моделирования, такие как SIMSCRIPT [Kiviat и др. 1969], SMPL [Макдугал М. 1979] и СЛАМ [Прицкер 1987]. Первыми теоретическими работами в рассматриваемой области стали работы M.R. Lackner [1964; 1962], в которых он представил теорию дискретных событийных систем. В этих работах изменение, а не время стало первоначальным. Предложенная M.R. Lackner теория исчисления изменений требует, чтобы время определялось в терминах изменений. L. Schruben [1983] предложил графическое представление событийной модели в виде событийного графа (event graphs), отображающего не состояния системы, а ее изменения. В дальнейшем предлагались некоторые изменения в событийных графах, однако, работа L. Schruben осталась наиболее заметной. В работах Е.А. Бабкина [1988; 2005] было предложено другое представление событийного графа, отличающееся способом графического представления причинноследственных зависимостей и методологией выделения событий и построения событийного графа.
Одной из проблем событийного моделирования является то, что одно и то же событийное поведение дискретной системы может быть представлено различными событийными графами, которые могут быть программно реализованы с различной эффективностью. E. Yucesan [1989] показал, что используемые подходы могут приводить к ошибочным результатам, так как событийный граф неустойчив к влиянию мировоззрений исследователя. Для одной и той же системы разные исследователи могут построить различные событийные графы. В связи с этим возникает задача формализации эквивалентных преобразований, анализа и синтеза событийных графов. Для этого удобно использовать символьное представление событийной модели дискретной системы.
Отношения следования и отмены событий
Можно выделить два вида зависимостей между событиями: причинно-
следственную и информационную.
В работе Кгап21ши11ег и др. [1996] событийный граф определяется как ориентированный граф G = (Е, ^), где E - непустое множество событий e графа G, а ^ - отношение, соединяющее события, так что x ^ у означает, что есть ребро из события x до события у в G с началом в событии x и концом в событии у. В этой работе вводится обозначение отношения следования между событиями в событийном графе в виде символа ^. Однако нет отображения важных параметров отношения следования, и прежде всего параметра времени. Кроме того, не рассматриваются условия следования и символьное представление отношения отмены событий.
В работах Бабкина, Бобрышева [2007; 2007а] вводится отношение следования
(планирования) событий, отображаемое стрелкой —— . Это бинарное отношение
описывает логические ситуации «предыдущий-следующий» и отображается как
а е,
здесь а - высказывание о происхождении события или некоторая логическая функция высказываний об инициирующих событиях и состоянии
системы; е - планируемое событие;
At - время задержки следования (планирования), то есть время, через которое
должно наступить событие е, после того как функция а примет истинное значение.
Функция а является событийной логической функцией, то есть функцией, принимающей значение «истинно», только в момент совершения событий [Бабкин 2010].
Если после события е1 через время А/ следует событие ^2 при условии
истинности с, то это в символьной форме можно представить следующим образом:
е1 Л С е2 .
Событие ^2 обязательно произойдет только при условии, если произошло событие еI и в этот момент логическое выражение с было истинно. Говорят также в этом случае, что событие еI планирует событие е2 через время А/ при условии с или, что то же самое, событие ^ следует за событием е^ при условии с через время А
Л/
е2 ^ ех Л с .
Событие ех в этом случае будем называть событием-предшественником, а событие ^2 - событием-последователем.
Следует заметить, что событие может планироваться несколькими
событиями или же планироваться при условии, что произошли или не произошли
некоторые события. В этом случае в событийной логической функции а допустимы
отношения дизъюнкции, конъюнкции или отрицания, включающие события. Например, если событие в3 следует через время А/ после события или после события е*2 при выполнении условия с в момент времени, когда происходят события или е*2 , то
это в символьной форме можно представить следующим образом:
Л( / \
е3 ^ (ег V е2) л с,
или, что то же самое, в эквивалентной форме:
/ \ At
(ег V е2) л с ^ e3 .
Выделим следующие виды отношений следования событий: безусловное, условное, без задержки во времени (мгновенное), с задержкой, с неизвестной задержкой и с необязательной задержкой.
Мгновенное безусловное следование события 6*2 после события будем в символьном виде представлять как
е2 ,
безусловное следование события 6*2 после события через время At -
e, ^A'e2,
условное следование после события , при выполнении в этот момент условия с, через время At события 6*2 -
e1 Л c ^At e2.
Необходимо отметить, что это случай следования событий с предусловием.
Следование с постусловием требует ввода фиктивного (пустого) события е0,
то есть события, которому в системе не сопоставлено никакого изменения. Это событие может означать, например, факт наступления запланированного момента времени. Следование с постусловием с можно представить следующим образом:
£\ в0 Л С в2 .
Это означает, что после события e, происходящего в момент времени , через время At происходит событие , если в этот момент ti + At выполняется условие с .
Безусловное следование события после события через неизвестное время, которое необходимо в дальнейшем определить, будем обозначать как
е2 .
Такое обозначение может быть удобно на начальных этапах формализации модели.
Безусловное следование события после события , когда нас не интересует время следования, будем обозначать как
^ е2 .
Введем отношение отмены событий, отображаемое стрелкой —Cancel , где
cancel - признак отношения отмены, знак At - время задержки отмены события. Это отношение описывает класс пар логических ситуаций «предыдущий-следующий» и отображается как
а _____At
а cancel e .
Если событие через время At отменяет событие &2 при условии истинности с , то это в символьной форме можно представить следующим образом:
e1 ^ С ^ cancel e2 .
Совершение события 6*2 обязательно будет отменено только при условии, если это событие было ранее запланировано, произошло событие e1 и в этот момент логическое выражение с было истинно. Говорят также в этом случае, что событие &2 отменяется событием ei:
At
e2 , — вЛ Л с
2 cancel 1
Виды отношений отмены событий такие же, как и виды отношений следования. Мгновенную безусловную отмену события 6*2 после события будем представлять как
е ^ , е
1 cancel 2
безусловную отмену события ^2 после события через время АХ как
____ At
e\ cancel e2
условную отмену события 6*2 после события через время АХ, если
выполняется условие с, как
At
е1 Л С ^cancel e2
безусловную отмену события 6*2 после события через неизвестное время, которое необходимо в дальнейшем определить, как
?
el cancel e2 ,
безусловную отмену события ^2 после события , когда нас не интересует время задержки отмены, как
e1 ^cancel e2 .
Таким образом, событие причинно-следственно зависит от события ех, если ^2 связано с e отношением следования или отмены. Два события причинноследственно независимы, если между ними нет отношений следования и отмены.
Основываясь на классификациях переменных состояния и конфликтов действий в модели, данных в работе [Page 1999], определим информационную зависимость событий. Два события ех и е2 информационно зависимы, если
(О, ПОг)U(I, nO2)U(12 nО,) *0,
где O\ - подмножество переменных состояния, изменяемых при наступлении события ,
о2 - подмножество переменных состояния, изменяемых при наступлении события е*2 ,
1\ - подмножество переменных состояния, влияющих на наступление события ,
12 - подмножество переменных состояния, влияющих на наступление события е2 .
Подмножество I\ - это подмножество переменных, входящих во множество выражений условий следования С = {с1} события после всех событий-предшественников и во множество выражений функций изменения F = {fi} состояний переменных, то есть
А = АС1 U If\ .
Аналогично для подмножества 12 12 = !с 2 ^ 1р 2 .
Два события ех и ^2 информационно независимы, если
(О, ПO2)и(I, ПO2)и(12 nО,) = 0 .
Два события е1 и независимы., если они независимы причинно-следственно и
информационно одновременно. Независимые события могут происходить как последовательно, так и одновременно. Зависимые причинно-следственно события могут происходить только последовательно. Ограничения на одновременность наступления информационно зависимых событий определяются только информационными зависимостями в момент совершения событий. В этом случае необходимо рассматривать предусловия и постусловия событий, истинность которых вычисляется в момент совершения событий. Допустимость одновременного выполнения экземпляров одного события зависит от характера (природы) моделируемых процессов.
Два независимых события е и , происходящие в моменты времени и ?2
соответственно, являются одновременными, если = ?2 .
Два независимых события е и , происходящие в моменты времени и ?2
соответственно, являются неодновременными, если ф ?2 , причем событие происходит после события , если ?2 > .
Два зависимых события е и , связанные отношением следования е1 Л с е2 , являются неодновременными, даже если АХ = 0. Формально в модели
они происходят в один момент времени, но после е. Если два зависимых события и связаны отношением отмены е1 Л С ——сстсе! е2 и АХ = 0, то отмена события ^2 происходит после наступления е при истинности условия с .
Потоки событий
Поток событий - это детерминированная или стохастическая последовательность событий, происходящих одно за другим в какие-то моменты времени [Советов, Яковлев 2005]. Таким образом, потоком событий будем называть
упорядоченное множество событий Тг = ^е{ 1 = 1, п^, здесь I - номер события в потоке.
Признаками упорядочения потоков событий являются время наступления этих событий и наличие информационной или причинно-следственной зависимости между событиями.
Рассмотрим потоки событий, упорядоченные по времени поступления этих событий.
Однородный поток событий Тг = ( е= 1,п) характеризуется только
множеством моментов времени наступления этих событий ТТг = (Х1
I = 1, п
причем
. Время события может задаваться интервалом Х^ от некоторого одного
момента времени - начального момента времени - или интервалом АХг- между двумя следующими друг за другом событиями. То есть однородный поток событий может быть также задан в виде последовательности интервалов времени АХг- между 1-м и (/-1)-м событиями Тг.
Неоднородный поток событий характеризуется не только моментами наступления событий, но и параметрами событий, то есть событие может быть представлено как в; = (Х;, Рцр, где Х( - момент времени совершения события,
Ри, • ••, Ры - набор признаков события е. Потоки событий, для которых известно время наступления, - это наблюдаемые реализации событийного поведения систем. Например, для неоднородного потока событий может быть задано время выполнения события Х, объект О, в котором происходит событие, приоритет события Рг и функция изменения£ [Бабкин 2010].
Нотации событийного поведения могут быть представлены в виде совокупности потоков событий, связанных отношениями следования или отмены, для которых время не является непосредственной характеристикой, то есть событие е характеризуется только признаками событиярц, ..., р^.
Потоком зависимых событий будем называть такое упорядоченное множество
событий Тг = ^ег г = 1, , что
0Тг 1{ех)Зе]- 0Тгл С]- ^ е{) © (е]- л С]- е1
где с ^ и у - соответственно условие и время задержки следования или отмены
события е1 после события еу , причем У = I — 1 .
Поток событий, состоящий из двух событий, связанных отношением следования
или отмены, будем называть элементарным.
В случае описания зависимых потоков событий используется последовательная
нотация их следования, например поток с условным следованием четырех событий:
А Г АГ„ АГ,
£ Л С~[ ^ 1 е2 Л С2 ^ 63 Л С3 ^ £4 .
Для уменьшения размера символьного событийного описания введем сокращенные нотации.
Последовательное безусловное следование п событий без задержки во времени
е, ^ ... V ^
будем обозначать как
(ег;е2;...;еп),
а одновременное следование п независимых событий е, , ..., еп -
I е2 I ••• I ) •
Например, одновременное безусловное следование п событий без задержки во времени после события в0
ео ^0 е1,
0
е0 ^ е2 ,
будем обозначать как
е0 ^° (е1 \ е2\ ... I ) ;
одновременное условное следование п событий с задержкой во времени № после события е0 с общим условием С
Аг
е0 Л с ^ е1, е0 л с ^Аг є2
Є0 Л С обозначим
е0 Л ^ ^ (Є1 І Є2 II ) .
Два потока Тгх = 11 = 1,«у и Тг2 = ^е2 | ] = 1, ку, где верхний индекс
определяет принадлежность потоку событий, назовем непересекающимися, если ЕТг1Ув2 ЕТг2(в] * е2 ) , пересекающимися, если Зв- ЕТ^Зв2 ЕТг2(е■ = в2). Потоки могут быть связаны отношением следования или отмены, так же как и события. Например, если после потока Ттх е1 11 = 1, безусловно следует поток
Тг2 = (е) I ] = 1, ^ и потоки не имеют общих событий, то это будет представлено как
Тг ^ Тг2 , что означает: после выполнения последнего события е\ Е Тг1 выполняется первое событие е2 Е Тт2, то есть в1п ^ е1 .
Два наблюдаемых потока событий Тг1 = ^е1 11 = 1,^ и Тг2 = ^е1 | j = 1, являются последовательными, если интервалы времени, в течение которых они происходят, не пересекаются, то есть [1, X1 ]п [2,]= 0 . Причем если X]2 > 1Хп, то после потока Тгх следует поток Тт2 , а если ^ ^ , то после потока Тт2 следует поток
Тгх. _ _
Два наблюдаемых потока событий Тг1 = ^е1 11 = 1,^ и Тг2 = ^е1 | j = 1, являются параллельными (одновременными), если интервалы времени, в течение
которых они происходят, совпадают ^п ]=[^12, ^ ], то есть ^ = ^2 и 11п = ^, и
частично параллельными, если инте
происходят, пересекаются к1, Х1 |П к2, ^
рвалы времени, в течение которых они
^ 0 , то есть ^ tj2 или t^ ^ tk .
Сокращенную нотацию последовательного безусловного следования n потоков без задержки во времени
Trx Tr2 ... Trn
будем обозначать как
(Trx;Tr2;...;Trn).
Параллельное следование n потоков обозначим
(Trx\Tr2\...\Trn).
Два потока Trx = (Tr1 ^ Tr2) и Tr2 = (Tr1 ^ Tr2) сходятся, если они являются пересекающимися и Tr1 ^ Tr^, Tr2 = Tr2 , и расходятся, если они являются пересекающимися и Tr\ = Trx , Tr2 * Tr% .
Поток Tr2 = ^e1 | j = 1, kj является продолжением потока Trx = ^ex | i = 1, kj,
если eX = ej2, то есть первое событие потока Tr2 совпадает с последним событием потока Trx.
Для выполнения эквивалентных преобразований символьных нотаций потоков необходимо ввести операции соединения (Join) и разделения (Part) потоков. Возможны две разновидности этих операций: по общему событию и по отношению следования.
Операция соединения потоков по общему событию:
Trx Join (ex = e2) Tr2 = Tr,
1 2 1 где e Е Jti С Tr, бу Е7^2 С Tr. Если ег- является последним событием потока Ттх, а
62 - первым событием потока Tr2 , то это последовательное соединение потоков Trx и
1 2
Tr2 . При этом события ei и б у в потоке Tr совмещаются в одно событие.
Операция разделения потоков по общему событию eg :
Tr Part(eg) = (Tr\ ,Tr^j,
где eg = eg = el, eg E Tr , elg E Trx, ef E Tr2 . Событие является последним
событием потока 7Vj, а ej2 - первым событием потока Tr2 , то есть поток Tr2 является продолжением потока Trx .
Символьное представление событийных моделей
Событийное поведение дискретной системы можно представить в виде
совокупности зависимых потоков событий. Причем символьную нотацию возможно
использовать для описания поведения системы на уровне как элементарных, так и
составных событий и макрособытий.
Рассмотрим пример системы массового обслуживания с конечным накопителем
и ограничением по времени ожидания в накопителе [Бабкин, Бобрышев 2008].
Поведение такой системы может быть описано следующим набором зависимых
потоков событий:
Tr - e 0 e
lr\ -V нПм ^ енП ,
Tr _ e ^ТпЗ e lr2 _V нП ^ енП ,
Tr3 = енП Л (К = Св) (езК I ена ) ,
Tr4 = енП Л (К = Зан) Л (Н = НпЛН) езН ^ТН eoJH
Tr5 = енП Л (К = Зан) Л (Н = Плн) ^0 екПМ3 :
Tr6 = (eoJH ; екПМ3 ) ,
Tr7 = ена ^ТЯ (ека еоК ) ,
Tr9 = еоК Л (Н = Нпст) ^ ео1Н ^Г10 = е01Я ^ (езЯ I ена ) ,
^11 ео1Н * cancel eoJH
Потоки Tr2, Tr3, 7)4 и Tr5 являются расходящимися, поскольку имеют общее начало: событие енП . Кроме того, эти потоки являются продолжением потока 7?! , поскольку Trx заканчивается событием енП, с которого они начинаются. В связи с этим можно соединить, например, потоки Trx и Tr3 :
7>u = Trx Join (е1нп = е\п) Тгъ =
У потока Тг2 начальное и конечное события совпадают, следовательно, это
циклический поток. Сходящимися потоками являются потоки Тт3 и Тги, Тг5 и Тг6.
Возможно символьное описание поведения системы на уровне макрособытий [Бабкин 2005]. Например, макрособытийное описание для рассматриваемого примера:
Ех л (К = Св) ^1а Е
Та ^
——н
Ех л (К = Зан) л (Н = Нплн) ^ н Е3,
Е2 л (Н = Нпст) ^Та Е2 ,
Е2 л (I = N) Е4 ,
Е2 л (Н = Нпст) ^°сапсе1 Е3 .
Каждое макрособытие при этом может быть также специфицировано в символьной форме:
Ео : макрособытие начала моделирования
^нПм ;
Ех : макрособытие поступления транзакта и начала обслуживания транзакта в СМО
Е2 : макрособытие окончания обслуживания транзакта в СМО
(ека; ЄоК ) ,
0
екПЫ 2 ,
0
еоК Л (Н = Нпст) ^ (ео1Н ; (езК І Єна )) ;
Е3 : макрособытие отказа в обслуживании транзакта в СМО в связи с превышением времени ожидания в накопителе Н
(воШ ;екПЫ3);
Е4 : макрособытие окончания моделирования
Єк.Пм
Заключение
Рассмотренные формальные символьные представления причинноследственных отношений событий, потоков зависимых событий и операций над потоками событий в совокупности составляют алгебру зависимых событий, позволяющую в формальном виде представить поведение дискретной системы как на уровне элементарных событий, так и на уровне макрособытий. Предложенный формализм позволяет рассмотреть вопросы анализа, преобразования и синтеза событийных моделей.
Библиографический список
Бабкин Е. А. Методические указания по моделированию вычислительных систем на событийно-ориентированном языке. Курск: КПИ, 1988.
Бабкин Е. А. Событийные модели дискретных систем / Курск. гос. ун-т. Курск, 2005. 18 с. Деп. в ВИНИТИ 14.01.05, № 30-В2005.
Бабкин Е. А., Бобрышев Е. А. Иерархическое событийно-автоматное моделирование // Информационные технологии моделирования и управления. Научнотехнический журнал. Воронеж: Научная книга, 2007. № 1 (35).
Бабкин Е. А., Бобрышев Е. А. О формализме событийно-автоматного моделирования // Третья всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика» ИММ0Д-2007: сб. докладов. Т. 1. СПб.: ФГУП ЦНИИТС, 2007а. С. 82-86.
Бабкин Е. А., Бобрышев Е. А. О методах декомпозиции событийных графов // Ученые записки. Электронный научный журнал Курского государственного университета. Курск, 2008. № 2(6). 17 с. URL: http://scientifical-notes.ru/pdf/006-02.pdf (дата обращения: 11.02.2012). № гос. регистрации №0420800068\0024.
Бабкин Е. А. О понятии события в дискретно-событийном моделировании // Информационные системы: Теория и практика: сб. науч. работ / редкол.: Е.А. Бабкин, В.А. Кудинов, И.В. Селиванова; отв. ред. Е.А. Бабкин; фак. информатики и вычислит. техники Курск. гос. ун-та. Курск, 2010. С. 46-51.
Макдугал М. Моделирование на уровне систем // Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных / под ред. М. Брейера. М.: Мир, 1979. С. 11-133.
Прицкер А. Введение в имитационное моделирование и язык СЛАМ II: пер. с англ. М., 1987. 646 с.
Советов Б. Я., Яковлев С. А. Моделирование систем: учеб. пособие для вузов. 4 изд., стер. М.: Высшая школа, 2005. 343 с.
Kiviat P.J., Villanueva R., Markovitz H. The SIMSCRIPT II Programming Language. Prentica-Hall, 1969.
Kranzlmuller D, Grabner S., Volkert J. Program Analysis Through Visualization // Software Visualization / Eades, P., Zhang, K., (Eds.) / Series on Software Engineering and Knowledge Engineering. 1996. Vol. 7. World Scientific Publishing, Singapore. P. 183-202.
Lackner M.R. Toward a General Simulation Capability / Proceedings of the AFIPS Spring Joint Computer Conference. San Francisco, CA, May 1-3, 1962. P. 1-14.
Lackner M.R. Digital Simulation and System Theory. System Development Corporation, Santa Monica, CA, 1964.
Page E., Nance R.. Incorporating Support for Model Execution within the Condition Specification // Transactions of the Society for Computer Simulation. 1999. 16(1). P. 47-62.
Schruben L.W. Simulation Modeling with Event Graphs // Communications of the ACM. 1983. Vol. 26. №. 11. P. 957-963.
Yucesan E. SimulationGraphs for the Design and Analysis of Discrete EventSimulation Models: PhD Dissertation. Cornell University, Ithaca, NY,1989.