УДК 519.711.3
О ГРАФИЧЕСКОМ ПРЕДСТАВЛЕНИИ СОБЫТИЙНОГО АВТОМАТА
© 2009 Е. А. Бабкин
доцент каф. программного обеспечения и администрирования информационных систем, канд. тех. наук, доцент e-mail: [email protected]
Курский государственный университет
Вводится понятие событийного автомата как модели, представляющей процесс функционирования дискретной системы в терминах событий, состояний и транзактов. Предлагается способ графического представления событийного автомата, основанный на представлении событий и состояний вершинами графа событий-состояний событийного автомата. Выделяются два вида состояний: моносостояния и мультисостояния.
Рассматривается построение графа событийного автомата на основе событийного графа на уровне событий и макрособытий.
Ключевые слова: дискретная система, событие, состояние, транзакт, событийный граф, событийный автомат, граф событий-состояний.
Введение
Для разработки, анализа, документирования и имитационного моделирования дискретных систем (ДС) используются различные модели: событийные графы, сети Петри, автоматные модели (например, модель Харела), схемы алгоритмов, диаграммы деятельностей, сетевые модели и т.д. В основе этих моделей лежит различное представление основных элементов функциональной модели и различные наборы основных графически представляемых элементов.
Функциональные модели дискретных систем можно разделить на четыре разновидности в зависимости от набора объектов, представляемых графически и являющихся основными:
-модели, ориентированные на активности (схемы алгоритмов, сетевые модели работ), - будем называть их моделями активностей;
-модели, ориентированные на состояния (автоматные модели), - модели состояний;
-модели, ориентированные на события (событийные сетевые модели, событийные графы и алгоритмы), - событийные модели;
-смешанные модели, то есть модели, имеющие в качестве основных более одного динамического объекта:
• ориентированные на активности и состояния (диаграммы деятельностей),
• ориентированные на события и состояния (сети Петри).
Каждый из видов моделей отражает определенное мировоззрение, определенный взгляд на поведение изучаемой системы. При этом при описании функционирования ДС используется определенный набор терминов (понятий). В зависимости от конкретной прикладной области удобным является тот или другой способ представления.
В событийных моделях основным элементом является событие, и процесс функционирования ДС представляется в виде последовательности событий, то есть процесс функционирования представляется в терминах событий. Событие в этом случае - это любое значимое мгновенное изменение состояния системы или внешней среды. В случае рассмотрения функционирования ДС событиями являются прежде всего изменения состояний объектов модели, которые могут быть как динамическими, так и статическими. Значимость изменений определяется влиянием их на результаты моделирования, на достижение цели моделирования. Для представления событийных имитационных моделей ДС в работах [Schruben 1983; Бабкин 2005] предлагается использование математической модели в виде событийного графа. В работе [Schruben 1983] впервые предложена формализация событийной модели в виде событийного графа. В работе [Бабкин 2005] рассмотрен другой подход к построению событийных графов, отличающийся большей детализацией и видом представления событийных графов: событийные графы имеют более близкую к алгоритмам форму и поэтому могут быть названы событийными алгоритмами.
Модель Харела [Harel 1987; Douglass 1998] является дальнейшим развитием и усложнением модели конечного автомата. В этой модели используется понятие события как изменения внешней для автомата среды, инициирующего внутренние изменения (переходы и выполнения действий) автомата. Событиями являются и изменения взаимодействия автоматов. Однако основным графически представляемым объектом является состояние, то есть в этой модели процесс функционирования системы представляется в терминах состояний. В модели Харела существуют два вида активностей: действия и деятельности. Действия мгновенны, то есть не имеют длительности. По сути дела, такие действия являются событиями. Действия привязаны к состояниям и переходам, деятельности - только к состояниям. В автоматной модели Харела одновременно может выполняться только один экземпляр процесса, сложно описать взаимодействие между экземплярами автоматов с одним типом процесса. Процессы одного типа имеют один алгоритм функционирования. Чтобы показать функционирование и взаимодействие множества экземпляров процессов одного типа, выполняющихся одновременно, необходимо либо алгоритмы функционирования автоматов объединить в один, либо дублировать описания автоматов. И то и другое значительно усложняет описание функционирования автомата. Поэтому ограниченность автоматной модели заключается в сложности описания одновременно выполняющихся и взаимодействующих асинхронных процессов.
В работе [Шалыто 1998] отмечается, что никакая разновидность представления, ориентированная только на состояние или только на событие, в общем случае, не является исчерпывающей. Только смешанные модели позволяют удовлетворять требованиям практики. Они удобны тем, что расширяют возможности представления систем. Известны смешанные модели, ориентированные на события и состояния, - это сети Петри и их модификации.
В сетях Петри [Питерсон 1984; Котов 1984] существуют два вида вершин: позиции и переходы. Вершины-позиции представляют состояния, а вершины-переходы -переходы между состояниями. Для представления моделей реальных ДС необходимо использовать модифицированные временные сети Петри с приоритетами и разноцветными марками. Однако представление модели в виде классической сети Петри имеет ряд ограничений, усложняющих разработку и отдаляющих это представление от исходной модели. Во-первых, это ограничение по функциям для входящих дуг: только И для вершин-переходов, только ИЛИ для вершин-позиций. Во-вторых, это ограничение
на связывание вершин, вершина-позиция может быть связана только с вершиной-переходом, а вершина-переход - только с вершиной-позицией. Первое ограничение естественно, поскольку выход из состояния является событием. Второе ограничение -неестественно, поскольку событие может не приводить к новому состоянию системы, после него может мгновенно следовать другое событие. В классических сетях Петри приходится вводить промежуточные состояния, в которых система не задерживается.
Рассмотрим формализм дискретной системы в виде событийного автомата [Бабкин 2007; Бабкин 2007а], который, как и сети Петри, можно отнести к смешанным моделям, ориентированным на события и состояния.
2. Графическое представление событийного автомата
Событийный автомат представляет процесс функционирования ДС в терминах состояний, событий и транзактов. В событийном автомате, в отличие от классического автомата, могут одновременно обрабатываться несколько транзактов. Под транзактом будем понимать требование на выполнение некоторого процесса, на решение некоторой задачи в системе.
Можно выделить два основных типа состояний:
-моносостояния (неразделяемые состояния) - это состояния, в которых одновременно не может быть больше одной марки-транзакта, будем помечать их г/,
-мультисостояния (разделяемые состояния) - это сложные состояния, в которых одновременно может быть больше одной марки-транзакта, будем помечать их гц/.
Для графического представления используются следующие условно-графические обозначения вершин (рис. 1).
а) б)
Т
Е
Ж
Рис. 1. Условно-графические обозначения элементов событийного автомата: а) простое состояние г/ с временем задержки Т/, б) сложное состояние гц/ , в) событие Е
Вершина состояния помечается именем состояния Zj или zqj, и если задано время нахождения в этом состоянии, то помечается также временем Tj. Моносостояния и мультисостояния могут быть как простыми, так и составными [Douglass 1998]. Мультисостояния представляют собой либо набор простых невзаимодействующих состояний, либо последовательно-связанный набор состояний, либо параллельный набор последовательно-связанных состояний. Мультисостояния можно разделить на типовые и нетиповые. К типовым относятся, например, состояния-очереди. С другой стороны,
мультисостояния можно разделить на неупорядоченные и упорядоченные. Неупорядоченным назовем состояние, в котором не определен порядок переходов между подсостояниями и порядок выхода транзактов из состояния. Для мультисостояний может быть ограничено число транзактов, одновременно находящихся в этом состоянии. Это ограничение может быть задано числом или функцией.
Вершина-состояние специфицируется именем состояния г/, типом состояния и набором деятельностей А/. Вершина составного мультисостояния также имеет спецификацию внутренней организации мультисостояния: описания подсостояний и переходов между ними.
Транзакты представляются марками, перемещающимися по вершинам графа. Марки могут представлять как транзакты, так и сигналы взаимодействия процессов. В вершинах-состояниях могут размещаться марки-транзакты. На графе отмечается начальное расположение марок-транзактов.
Дуги отображают причинно-следственные связи между состояниями и событиями и помечаются условиями следования событий щ и состояний V/.
Граф событий-состояний событийного автомата состоит из двух видов вершин: вершин-состояний и вершин-событий. В полном графе событийного автомата, в котором отображаются все события переходов, вершины-состояния могут быть связаны только с вершинами-событиями. Вершины-события могут быть связаны с вершинами любого вида. По вершинам движутся марки представляющие транзакты. В вершине-состоянии в зависимости от его типа может находиться одновременно только одна или несколько марок-транзактов.
Вершина-событие специфицируется именем события Е. Каждая событийная вершина Е, если число входных дуг больше одной, дополнительно специфицируется функцией Е, возбуждения (выполнения) в зависимости от истинности условий следования щ и наличия марок-транзактов в состояниях, с которыми вершина Е, связана входными дугами. В простых случаях функцией возбуждения Е, можно пометить вершину Е,. Например, если Е, является конъюнкцией, то рядом с вершиной проставляется знак &, если - дизъюнкцией, то - 1. Если событийная вершина имеет п выходов, то функция Е, представляет собой набор функций Е,=(/,1, /,2, /п), задающих
возбуждение каждого из выходов вершины-события. Вершина-событие Е, возбуждается (выполняется), если является истинной хотя бы одна функция / из набора Е,. Из вершины-состояния г/ уходит марка, если возбуждена вершина-событие Е, , соединенная входной дугой с г/ , и является истинным условие / для этой дуги. В вершину-состояние г/ поступает марка, если возбуждена вершина-событие Е, , соединенная выходной дугой с г/ , и является истинным условие// для этой дуги.
На рисунке 2 приведен граф событий-состояний системы с двумя состояниями -триггера.
Рис. 2. Граф событийного автомата с двумя моносостояниями
Здесь г0 и г1 состояния автомата.
Внешние события:
Еь - начало обработки транзакта (начало работы) - транзакт поступает в систему, событие входа;
Еe - конец обработки транзакта (конец работы) - транзакт уходит из системы, событие выхода, функция возбуждения события Ее= (С(г1)=1)&Р;
ЕR - требование установки системы в состояние 0 (г0 - начальное состояние системы), событие входа;
Е5 - требование установки системы в состояние 1 (г1), событие входа.
Внутренние события:
Е01 - переход системы из состояния 0 в состояние 1, событие перехода, функция возбуждения события Ео1= (С(г1)=1)&Ек;
Е10 - переход системы из состояния 1 в состояние 0, событие перехода, функция возбуждения события Е10= (С(г0)=1)&Е8.
Функция С(г/) определяет число марок-транзактов, находящихся в состоянии г/.
В рассматриваемом примере все состояния являются простыми моносостояниями, если выполняется условие, заключающееся в том, что после каждого события Еь следует событие Ее, то есть в системе одновременно обрабатывается только один транзакт. В противном случае все состояния являются мультисостояниями.
При возбуждении внешнего события Еь в модели появляется марка-транзакт, которая поступает в начальное состояние г0. При возбуждении внешнего события Е5 и наличии марки-транзакта в вершине-состоянии г0 возбуждается внутреннее событие Е01 и марка-транзакт переходит в состояние г1. При возбуждении внешнего события ЕR и наличии марки-транзакта в вершине-состоянии г1 возбуждается внутреннее событие Е10 и марка-транзакт переходит в состояние г0. Если марка-транзакт находится в состоянии г1 и выполняется условие Р, то возбуждается внешнее событие Ее - это происходит либо в момент перехода в состояние г1 , либо когда условие Р становится истинным.
Рассмотрим пример представления процесса функционирования системы массового обслуживания (СМО) в виде графа событий-состояний событийного автомата. СМО имеет ограничения на время ожидания в очереди и конечную длиной L очереди. Для этого сначала приведем событийный граф имитационной модели СМО
(рис. 3) [1], который представляет процесс функционирования системы в терминах событий.
В событийном графе представлены следующие события:
єнПМ, єкПМ - начало и конец процесса моделирования; єнП - начало процесса обслуживания транзакта в СМО;
eKnN2 - конец процесса обслуживания транзакта в СМО, транзакт обслужен полностью;
eKnN3 - конец процесса обслуживания транзакта в СМО, отказ в обслуживании транзакта в связи с отсутствием свободных мест в очереди;
eKnN4 - конец процесса обслуживания транзакта в СМО, отказ в обслуживании транзакта в связи с окончанием времени ожидания в очереди;
ea eKa - начало и конец активности обслуживания транзакта в канале; e3K, eoK - занятие и освобождение канала; e30 - занятие очереди;
eo10 - освобождение из очереди транзакта стоящего первым;
eOJO - освобождение из очереди транзакта J.
Связь во времени между событиями появления транзактов в модели
отображается дугами первого типа (мгновенное следование) и второго типа (следование с задержкой), помеченными интервалами времени между событиями Tj.
Рис. 3. Исходный событийный граф процесса функционирования СМО с ограничением по времени ожидания в очереди
Окончание процесса моделирования определяется по числу Ь транзактов, обслуженных в СМО. Поэтому событие екПМ происходит после события екПМ2 при условии, что в СМО обслужилось заданное число КМ транзактов (Ь = КМ).
В событийном графе используются вершины второго типа, которым
соответствуют следующие условия:
Р1 - анализ состояния средства К, значения: Зан - «занято» (0),
Св - «свободно» (1);
Р2 - анализ состояния очереди О, значения: Плн - «полна» (0),
Нплн - «не полна» (1);
Р3 - анализ состояния очереди О, значения: Пст - «пуста» (0),
Нпст - «не пуста» (1);
Р4 - анализ числа обслуженных транзактов Ь, значения: Ь < КМ - меньше заданного числа КМ (0), Ь = КМ - равно заданному числу КМ (1).
Вершины А1, А2, А3 представляют распараллеливание процесса.
Дуги второго типа помечены величинами задержки:
Тп1 - время поступления первого транзакта после начала моделирования;
Тп - интервал времени между поступлениями транзактов;
Та - время обслуживания транзакта в канале (длительность активности);
ТО - максимальное время ожидания транзакта в очереди.
Событийные вершины, в которых происходит смена активного процесса (активизация процесса I), помечены 1:=.
Преобразуем исходный событийный граф в граф событийного автомата. Между событийными вершинами событийного графа и графа событийного автомата существует взаимно-однозначное соответствие. В графе событийного автомата отображаются состояния статических и динамических объектов. Дугам второго типа (с задержкой во времени Т/) соответствуют состояния событийного автомата, помеченные соответствующим временем Т/. Это состояния как динамических, так и статических объектов. Состояние занятости статического объекта начинается событием занятия ез и заканчивается событием освобождения ео и поэтому соединяется в графе дугами с этими событиями. Кроме того, в имитационную модель ДС, которая включает как собственно модель системы, так и модель среды, включаются состояния начала и окончания моделирования и состояния ухода заявок из системы. Тип состояния (простое или сложное) определяется по тому, сколько одновременно транзактов может быть в этом состоянии.
На рисунке 4 приведен граф событий-состояний событийного автомата, полученный на основе событийного графа (см. рис. 3).
Состояния событийного автомата:
г0 - простое моносостояние, начальное состояние системы моделирования
(состояние канала гК=0, состояние очереди гО=0), в начальный момент в этом состоянии находится одна марка-транзакт процесса моделирования;
г1 - простое моносостояние, ожидание поступления первого транзакта
(гК=0, гО=0), время поступления первого транзакта Тп1;
г2 - простое моносостояние, ожидание поступления следующего транзакта,
время поступления следующего транзакта Тп;
z3 - простое моносостояние, активность обслуживания транзакта в канале,
канал занят транзактом (zk=1), время обслуживания транзакта в канале (время активности) Ta;
Рис. 4. Граф событийного автомата на уровне событий
zq4 - упорядоченное составное мультисостояние (состояние-очередь),
ожидание обслуживания в очереди накопителя, очередь занята транзактом &к=1, zО>0), максимально допустимое время ожидания в накопителе для транзакта ТО;
zqs - неупорядоченное простое мультисостояние, процесс обслуживания
транзакта не был выполнен в связи с конечностью накопителя (очередь накопителя заполнена С^4)=Ь, и транзакт получил отказ в обслуживании), в этом состоянии накапливаются транзакты, получившие отказ в обслуживании в связи с конечностью накопителя (выход N3 в СМО);
zqб - неупорядоченное простое мультисостояние, процесс обслуживания
транзакта не был выполнен в связи с достижением времени ожидания ТО, максимально допустимого для данного транзакта, в этом состоянии накапливаются транзакты, получившие отказ в обслуживании в связи с ограничением времени ожидания в накопителе (выход М4 в СМО);
zq7 - неупорядоченное простое мультисостояние, процесс обслуживания
транзакта выполнен, в этом состоянии накапливаются обслуженные транзакты (выход N2 в СМО);
Zs - простое моносостояние, конечное состояние системы моделирования, при
появлении марки-транзакта в этом состоянии процесс моделирования заканчивается.
В начальном состоянии z0 графа размещена марка-транзакт процесса моделирования. Эта марка перемещается в зависимости от условий по вершинам-состояниям и вершинам-событиям и порождает другие марки-транзакты процессов обслуживания.
События в модели событийного автомата те же, что и в событийном графе. Сплошные дуги отображают движение марок-транзактов. Дуга (еоК, ео1О) обозначена пунктиром, поскольку отражает не движение марки-транзакта, а передачу сигнала от одного транзакта другому о том, что событие еоК произошло.
У вершины-состояния zq4 два выхода. Один из них помечен кружком - знаком инверсии. Этот выход активизируется, если текущее время ожидания в очереди г^4)*та, то есть когда Ь^4)<Та. Второй непомеченный выход активизируется, если
^4) = Та.
Спецификация событий:
енПМ: ПМ:=1; ЬнЩПМ); і:=0 - инициация процесса моделирования ПМ,
присвоение начальных значений атрибутам марки-транзакта ПМ; енП: П(Г):=1; generate(J) - начало процесса обслуживания Г и генерация
значений атрибутов J (вычисление и присвоение значений атрибутам марки-транзакта Г); езК: К:=Г - занятие канала К транзактом Г;
еш: а:=Г - начало выполнения активности обслуживания а для транзакта Г;
ека: а:=0 - конец выполнения активности обслуживания а;
еоК: К:=0 - освобождение канала К;
езО: 1:=1+1; О(1):= Г - занятие очереди О транзактом Г;
Єоіо: Г:=О(1); йеЫе(О(1)); 1:=1-1 - освобождение очереди О от транзакта,
стоящего первым; еоГО: йеЫе(О(Г)); 1:=1-1 - освобождение очереди О от транзакта Г;
вкпт-' П(1):=0; Ь:= Ь+1 - конец N2 процесса обслуживания I;
екпт: П(1):=0 - конец N3 процесса обслуживания I;
екПШ: П(1):=0 - конец N4 процесса обслуживания I;
екПМ: ПМ:=0 - конец процесса моделирования.
Функции возбуждения вершин событий:
Енпм= (С(и)=1);
?нп= аЫТ) у(г(г2)=Тп);
Езк= енП & (С(гз)=0) Уеою;
Ена= езК;
Езо= енП & (С(1з)>0) & (СШ<Ь);
енП & (С(гз)>0) & (СШ=Ь)’, Ека= (г(гз)=Та);
Здесь Цг) - текущее время состояния ц.
Перемещение марок-транзактов осуществляется следующим образом. Если марка находится в состоянии г0 (процесс моделирования не выполняется), то возбуждается вершина-событие начала процесса моделирования енПМ, в результате чего марка процесса моделирования поступает в вершину-состояние г1 (ожидание поступления первого транзакта). В вершине-состоянии г1 осуществляется задержка марки на время Тп1. Если марка находится в вершине г1 и время задержки Тп1 закончилось, то возбуждается вершина-событие начала процесса обслуживания енП, после чего марка-транзакт процесса обслуживания поступает либо в вершину-событие занятия канала езК, если выполняется условие С(г3)=0 (канал свободен), либо в вершину-событие занятия накопителя езО, если выполняется условие (С(г3)>0)&(С(гд4)<Ь) (канал занят и очередь неполна), либо в вершину-событие екпт, если выполняется условие (С(г3)>0)&(С(гд4)=Ь) (канал занят и очередь полна). При этом одновременно порождается марка, поступающая в вершину-состояние г2 (ожидание поступления следующего транзакта).
В вершине-состоянии гд4 может одновременно находиться бесконечное множество марок-транзактов процессов обслуживания. Они упорядочены в очередь в соответствии с порядком прибытия в это состояние и с уровнем приоритета процессов. В вершинах-состояниях и накапливаются марки-транзакты, для которых
процесс обслуживания завершен (выходы N3, N4 и N2 соответственно).
Для события ео1О может быть два варианта представления.
Первый вариант естественен для модели состояний. В этом случае нет дуги отображающей связь событий еоК и ео1О. Вершина-событие освобождения очереди ео1О возбуждается, если в вершине-состоянии гд4 есть марки-транзакты и выполняется условие С(г3)=0 (канал свободен). При этом из вершины-состояния zq4 выбирается марка-транзакт, стоящая первой в очереди.
Второй вариант представления естественен для модели событий-состояний (см. рис. 4). Он отражает зависимость событий различных процессов. При выполнении события еоК марка-транзакт поступает в вершину-событие екПт и одновременно порождается марка-сигнал, поступающая в вершину-событие ео1О. В этом случае вершина-событие ео1О возбуждается, если в вершине-состоянии zq4 есть хотя бы одна марка, и из вершины-состояния zq4 уходит марка-транзакт, стоящая первой в очереди.
Выполнение события ео1О возбуждает вершину-событие езК, вслед за которой возбуждается вершина-событие ена , и таким образом марка-транзакт, стоящая первой в очереди, поступает в вершину-состояние z3 (занимает канал). Если при поступлении марки в вершину-событие ео1О в вершине-состоянии zq4 нет марок, то марка-сигнал удаляется.
З. Графическое представление событийного автомата на уровне макрособытий
В работах [Бабкин 2005; Бабкин 2008] рассматривается преобразование событийного графа в макрособытийный граф с использованием структурной декомпозиции. При этом событийный граф разделяется на связные подграфы, называемые макрособытиями и удовлетворяющие следующим условиям:
1) подграф имеет не более одной точки входа;
2) все дуги, соединяющие вершины внутри подграфов, являются дугами первого
типа.
Структурная декомпозиция событийного графа для рассматриваемого примера (рис. 5) дает следующие макрособытия:
Е0 - начало процесса моделирования, включает событие єнПМ;
Е1 - начало процесса обслуживания транзакта в СМО, включает событие єнП, анализ состояния канала Pi, анализ состояния очереди P2 и события занятия очереди єзО и конец процесса обслуживания транзакта в СМО єкШ3;
Е2 - занятие канала, включает события занятия канала єзК и начала активности обслуживания транзакта e„a;
Ез - конец процесса обслуживания транзакта в СМО, включает события конца активности обслуживания транзакта єксі, освобождения канала єоК и конца процесса обслуживания транзакта в СМО єкШ2 и анализ числа обслуженных транзактов P4,
Е4 - освобождение первого транзакта из очереди, включает анализ состояния очереди P3 и событие освобождения первого транзакта из очереди єо1о;
Еs - отказ в обслуживании транзакта в связи с окончанием времени ожидания в очереди, включает события освобождения из очереди транзакта єо10 и конца процесса обслуживания транзакта в СМО єкШ4,
Е6 - конец процесса моделирования, включает событие єкПМ.
Граф событий-состояний событийного автомата на уровне макрособытий (рис. б) включает те же состояния (zo, Zl, z2, Z3, zq4, zqs, zq6, zq?, z«), что и граф событийного автомата (рис. 4), и макрособытия (Е0, Еь Е2, Ез, Е4, Еs, Е6).
Функции возбуждения вершин-событий:
Внутренние функции макрособытий специфицируются на основе соответствующих подграфов событийного графа (рис. 5) и состоят из спецификаций событий:
Е0: спецификация енПМ;
Е1: спецификация енП, если (Р1=Зан и Р2=Нплн) то спецификация езО,
если (Р1=Зан и Р2=Плн) то спецификация екПт;
Е2: спецификация езК, спецификация ена;
Fo= (C(zo)=l);
Fl= (t(zl)=T„l) v(t(z2)=T„); F2= Ei & (C(Z3)=0) vE4; F3= (t(z3)=Ta);
F= E3 & (C(zq)>0); Fs= (t(zq4)=To);
F= (C(zq?)=KM).
Е3: спецификация ека, спецификация еоК, спецификация екПт; Е4: спецификация ео1О;
Е5: спецификация ео1О, спецификация екПт;
Е6: спецификация екПМ.
Рис. 5. Структурная декомпозиция событийного графа
Рис. 6. Граф событийного автомата на уровне макрособытий
Граф событий-состояний событийного автомата на уровне макрособытий содержит меньше событийных вершин, то есть является проще. Однако в случае сложных макрособытий он менее нагляден, что является недостатком, особенно на начальных этапах формализации модели системы. Кроме того, существует опасность объединения в одном макрособытии событий различных транзактов, что приводит к еще меньшей наглядности, особенно с точки зрения последовательности состояний
транзактов, и к увеличению трудоемкости при изменении описаний процессов функционирования системы. Например, в рассматриваемом примере при объединении в одно макрособытий Е3 и Е4, что возможно с формальной точки зрения, нарушается наглядность отображения следования состояний транзактов. Без уточнения функций возбуждения вершин-событий нельзя установить направление движения и последовательность смены состояний транзактов.
4. Заключение
Таким образом, в данной работе предлагается понятие событийного автомата как модели ориентированной на представление процесса функционирования дискретной системы в терминах событий, состояний и транзактов. В событийном автомате в общем случае могут одновременно выполняться несколько транзактов. На основе признака разделяемости состояния транзактами выделены два вида вершин-состояний: моносостояния и мультисостояния. Рассматривается также преобразование событийного графа в граф событийного автомата - как на уровне событий, так и на уровне макрособытий.
Рассмотренный способ графического представления событийного автомата, основанный на представлении событий и состояний вершинами графа событийного автомата, позволяет удовлетворить требованиям практики, повышает наглядность представления основных элементов модели ДС.
Библиографический список
Schruben L.W. Simulation Modeling with Event Graphs // Communications of the ACM. - 1983. - Vol. 26. - Num. 11. - P. 957-963.
Бабкин Е. А. Методические указания по моделированию вычислительных систем на событийно-ориентированном языке. - Курск : КПИ, 1988.
Бабкин Е. А. Событийные модели дискретных систем / Курск. гос. ун-т. - Курск, 2005. - 18 с. Деп. в ВИНИТИ 14.01.05, № 30-В2005.
Бабкин Е. А. О синтезе событийных моделей дискретных систем / Е. А. Бабкин // Ученые записки : электронный научный журнал Курского государственного
университета. Эл № 77-26463. - 2006. - № 1. - 17 с. http://www.scientific-notes.ru/ pdf/s15.pdf.
Harel D. Statecharts: A visial formalism for complex systems // Sci. Comput. Program. - 1987. - Vol.8.
Douglass B.P. UML Statecharts. - MA: I-Logix Inc., 1998.
Шалыто А. А. Switch-технология. Алгоритмизация и программирование задач логического управления. - СПб.: Наука, 1998. - 628 с.
Питерсон Дж. Теория сетей Петри и моделирование систем : пер. с англ. - М.: Мир, 1984.
Котов В. Е. Сети Петри. - М.: Наука, 1984.
Бабкин Е. А. Иерархическое событийно-автоматное моделирование / Е. А. Бабкин, Е. А. Бобрышев // Информационные технологии моделирования и управления. Научно-технический журнал. - Воронеж : Научная книга, 2007. - № 1 (35). - С. 39-48.
Бабкин Е. А. О формализме событийно-автоматного моделирования / Е. А. Бабкин, Е. А. Бобрышев // Третья всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности
«Имитационное моделирование. Теория и практика» ИММОД-2007: сборник докладов. Т. I. - СПб. : ФГУП ЦНИИТС, 2007а. - С. 82-86.
Бабкин Е.А. О методах декомпозиции событийных графов. / Е. А. Бабкин, Е. А. Бобрышев // Ученые записки: электронный научный журнал Курского
государственного университета, № гос. регистрации №0420800068\0024. - 2008. - № 2(6). - 17 с. http://www.scientific-notes.ru/pdf/006-02.pdf.