Научная статья на тему 'О графическом представлении событийного автомата'

О графическом представлении событийного автомата Текст научной статьи по специальности «Математика»

CC BY
314
66
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
дискретная система / событие / состояние / транзакт / событийный граф / событийный автомат / граф событий­-состояний / discrete system / event / state / transact / event graph / event automaton / event-state graph

Аннотация научной статьи по математике, автор научной работы — Бабкин Е. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ABOUT GRAPHICAL PRESENTATION OF EVENT AUTOMATON

Concept of event automaton is introduced which is model representing process functioning of discrete system in terms of events, states and transacts. We give the way of graphical presentation of event automaton what is founded on notation of events and states vertexes of event-state graph of event automaton. Two flavors is introduced: mono-state and multi-state. Creation of graph of event automaton on basis of event graph on level events and macroevents is described in this paper.

Текст научной работы на тему «О графическом представлении событийного автомата»

УДК 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), максимально допустимое время ожидания в накопителе для транзакта ТО;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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.

i Надоели баннеры? Вы всегда можете отключить рекламу.