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

Иерархическая декомпозиция событийных графов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
323
75
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРЕТНАЯ СИСТЕМА / СОБЫТИЕ / МАКРОСОБЫТИЕ / СОБЫТИЙНАЯ МОДЕЛЬ / СОБЫТИЙНЫЙ ГРАФ / МАКРОСОБЫТИЙНЫЙ ГРАФ / ИЕРАРХИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ / discrete system / event / macroevent / event model / event graph / macroevent graph / hierarchical notation

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

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

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

HIERARCHICAL DECOMPOSITION OF EVENT GRAPHS

The event-graphs expansion by including arcs, marked by specification signs, is explored. These arcs represent transitive dependencies of an events succession and permit to implement multilevel hierarchical event models specifications of discrete systems. Being a modification of object decomposition, hierarchical event graph decomposition is based on selection of event graphs descriptions of imbedded hierarchical processes. Such decomposition makes it possible to build hierarchical specifications of event models. A form of macro-event graph with tracks, where each track represents a process, is suggested for a visual presentation of hierarchical models. The realization of the hierarchical program model is considered.

Текст научной работы на тему «Иерархическая декомпозиция событийных графов»

УДК 519.711.3

ИЕРАРХИЧЕСКАЯ ДЕКОМПОЗИЦИЯ СОБЫТИЙНЫХ ГРАФОВ

© 2010 Е. А. Бабкин

проф. каф. программного обеспечения и администрирования информационных систем, канд. тех. наук, доц. e-mail: eababkin@gmail.com

Курский государственный университет

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

Ключевые слова: дискретная система, событие, макрособытие, событийная модель, событийный граф, макрособытийный граф, иерархическое представление.

1. Введение

Событийные графы являются удобным средством описания поведения дискретной системы (ДС) в терминах событий [Schruben 1983; Бабкин 1988; Бабкин 2005]. Однако недостатком событийно-ориентированного подхода считается невозможность многоуровневого иерархического представления модели и ее программной реализации [Брейер 1979]. Действительно, поскольку событие определяется как мгновенное изменение состояния системы или внешней среды, можно выполнять спецификации либо на уровне элементарных событий, либо на уровне макрособытий [Бабкин 2005]. Объединение наборов событий в макрособытия имеет следующие ограничения:

- события должны быть связаны,

- не должно быть задержек между событиями, то есть следование событий должно быть мгновенным.

В связи с этим в работах по событийным графам рассматривается либо только одноуровневое [Schruben 1983], либо двухуровневое [Бабкин 2005] событийное представление модели и одноуровневая ее программная реализация. Для процессоориентированного представления таких ограничений нет [Брейер 1979]. В работе [Бабкин 2009] рассмотрены возможности неограниченного по числу уровней иерархического представления событийных моделей за счет расширения событийных графов введением дуг с метками спецификаций и использования иерархического представления процессов и активностей. В настоящей работе рассматривается развитие подхода, предложенного автором ранее.

2. Основные элементы иерархического представления событийных графов

Основным видом вершин в событийном графе являются вершины-события

[Schruben 1983]. В форме графа, рассматриваемой в работах [Бабкин 1988; Бабкин

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

мгновенного следования событий (рис. 1а), второго типа - следования событий с задержкой Тц (рис. 1б), третьего типа - отмены событий (рис. 1в). Если выполнение события в, приводит непосредственно к выполнению события в), то это представляется либо дугой первого типа при мгновенном следовании событий, либо дугой второго типа при следовании событий с задержкой [Бабкин 1988]. В первом случае время следования равно нулю (Т) = 0). Во втором случае время следования Т, может быть определено как детерминированная или стохастическая функция. Если выполнение события в1 приводит непосредственно к отмене ранее запланированного события в, то это представляется дугой третьего типа. В этом случае отмена события в, происходит мгновенно после выполнения события в/.

а)

© ©)

в)

©—©

Рис. 1. Непосредственные причинно-следственные зависимости между событиями в1 и в:

а) мгновенное следование события в, после в,-, б) следование с задержкой Т, события в, после в, в) отмена события в) после выполнения в1

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

Введем для представления неизвестной зависимости новую разновидность дуги

- помеченную дугу. На рисунке 2 представлены два случая следования событий с неизвестным условием следования и с неизвестным условием и временем следования.

а) (Г^Н© б) ©-^--©

Рис. 2. Следование событий в1 и в;. а) мгновенное следование с неизвестным условием следования,

б) следование с задержкой с неизвестным условием и временем следования

Будем использовать помеченную дугу также для отображения транзитивной зависимости следования событий. При иерархическом подходе к разработке и представлению модели такая дуга позволяет детализировать зависимости следования на следующем, более низком уровне представления модели. На рисунке 3 представлены два случая следования событий. В первом случае (рис. 3 а) метка {М/Щ} указывает на дополнительную спецификацию условия следования. Во втором случае (рис. 3б) метка М)} указывает на дополнительную спецификацию и условия и времени следования.

а) б)

Рис. 3. Следование событий в1 и в;. а) мгновенное следование с условием специфицированным в Мц, б) следование с задержкой со спецификацией в МЩ

Дуга второго типа, помеченная меткой спецификации {М/Щ}, представляет на данном уровне сложную активность с событиями начала в1 и конца в) активности, которая на следующем более низком уровне представляется процессом и описывается событийным графом. Причем процесс, детализирующий активность, имеет те же события начала в, и конца в) процесса, что и детализируемая активность. Таким образом, помеченная дуга отображает сложные активности-процессы, специфицируемые отдельными событийными графами.

В работе [Бабкин, Бобрышев 2008] рассматриваются два способа декомпозиции событийного графа: структурный и объектный. Разновидностью объектной

декомпозиции является иерархическая декомпозиция событийного графа [Бабкин 2009]. Иерархическая декомпозиция событийного графа основана на выделении событийных подграфов иерархически вложенных процессов. Такая декомпозиция позволяет строить иерархические спецификации событийных моделей.

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

3. Пример иерархической декомпозиции событийной модели

Рассмотрим использование помеченных дуг для иерархического представления событийных графов на примере модели двухфазной сети массового обслуживания (СтМО) (рис. 4), состоящей из трех систем массового обслуживания СМОг, СМО2 и СМОз. Транзакты поступают из источника И - входной поток сети W. Они имеют различные значения атрибутов приоритета и номера СМО второй фазы, в которой они обслуживаются. СМОи состоит из канала Ки и накопителя Ни. Емкости накопителей ограничены, поэтому с накопителями связаны выходные потоки транзактов Wl, W2 и

W3, получивших отказ в обслуживании в связи с конечным размером соответствующего накопителя. W4 и Ws - выходные потоки транзактов, обслуженных в СтМО.

W2

Процесс имитационного моделирования состоит из ожиданий поступления транзактов и из активностей а обслуживания этих транзактов. Временная диаграмма процесса имитационного моделирования приведена на рисунке 5.

Ожидание

Ожидание

первого транзакта следующего транзакта

I I ч-

I

Обслуживание !

1 1

транзакта 1 I

Обслуживание ! ^^ранзакта^^^!

! Обслуживание ^^ранзакта^^

Рис. 5. Временная диаграмма процесса имитационного моделирования

Сначала выполним описание процесса имитационного моделирования на высшем уровне представления. На этом уровне процесс имитационного моделирования представим в виде простейшего компонента-процесса, состоящего из одной активности РМ (рис. 6).

На этом графе:

енРМ - событие начала активности (процесса) имитационного моделирования

РМ,

екРМ - событие конца активности (процесса) имитационного моделирования РМ, {РМ} - метка спецификации процесса РМ.

Будем различать простые и сложные активности. Простые активности не разделяются на следующих уровнях на составляющие активности, то есть они не представляются процессами на других низших уровнях представления и полностью специфицируются на данном уровне представления. Сложные или составные

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

Процесс моделирования

Рис. 6. Спецификация верхнего уровня представления имитационной модели

Процесс имитационного моделирования, содержащий одну сложную активность PM, детализируем на следующем событийном графе (рис. 7), представляющем ожидания транзактов и активности обслуживания транзактов в СтМО в соответствии с временной диаграммой (см. рис. 5).

Рис. 7. Спецификация процесса моделирования PM

На этом графе детализируется активность PM и, соответственно, причинноследственная зависимость между событиями eHPM и eKPM. Здесь:

Тпі - время ожидания поступления первого транзакта;

Тп - время ожидания поступления следующего транзакта;

i - число транзактов, обслуженных в СтМО;

N - число транзактов, которые должны быть обслужены в СтМО, определяет длительность имитационного эксперимента;

P - активность (процесс) обслуживания транзакта в СтМО;

Л1 - начало параллельного выполнения процесса;

eHP - событие начала активности (процесса) обслуживания транзакта в СтМО;

eKPN4 - событие конца активности (процесса) обслуживания транзакта в СтМО (выходной поток N4);

eKPN5 - событие конца активности (процесса) обслуживания транзакта в СтМО (выходной поток N5);

P4 - условие окончания процесса моделирования (по числу заявок i = K).

В событийном графе на основе подхода, изложенного в [Бабкин 2GG5], выделяются следующие макрособытия:

Е0 - начало процесса моделирования;

Е1 - начало активности (процесса) обслуживания транзакта в СтМО;

Е2 - конец активности (процесса) обслуживания транзакта в СтМО;

Е3 - конец процесса моделирования.

Кроме того:

Е4* - группа событий процесса P;

{P-E4*} - метка спецификации активности (процесса) обслуживания P с указанием номера соответствующей группы событий.

Активность обслуживания P является сложной активностью и может быть представлена в виде процесса, состоящего из последовательности активностей обслуживания транзакта в СМО1 и в СМО2 или СМО3 (рис. В).

Этой временной диаграмме соответствует спецификация процесса P обслуживания транзакта в СтМО в виде событийного графа (рис. 9), которая детализирует причинно-следственную зависимость между событиями eHP и eKP. В этой спецификации параллельные однотипные участки СтМО, а именно СМО2 и СМО3, объединяются в одно описание с параметром номера участка U. В рассматриваемом событийном графе:

J - номер транзакта;

J:= - изменение номера транзакта;

M(J) - номер СМО второй фазы, в которой обслуживается транзакт J; eHPS1 - событие начала активности (процесса) обслуживания в СМОї;

U - номер СМО, в которой выполняется обслуживание транзакта; номер U СМО и его объектов канала и накопителя может состоять из номера фазы сети массового обслуживания и из номера СМО в фазе;

eKPS1 - событие конца активности (процесса) обслуживания в СМО1; eHPSU - событие начала активности (процесса) обслуживания в СМОи; eKPSU - событие конца активности (процесса) обслуживания в СМОц;

PS(U) - активность (процесс) обслуживания транзакта в СМО с номером U;

Обслуживание транзакта в СМО1

Обслуживание транзакта в СМО2 или СМО3

Рис. В. Временная диаграмма обслуживания транзакта в сети массового обслуживания

Е3* - группа событий активности (процесса) Р8(и);

{Р8(и)-Е3*} - метка спецификации активности (процесса) обслуживания Р8(и) с указанием номера соответствующей группы событий.

В событийном графе выделены следующие макрособытия:

Р-Е0 - начало процесса Р обслуживания в СтМО и начало активности (процесса) Р8 обслуживания транзакта в СМО1;

/

\

/ {Р8(и)-Еэ*}

\

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

\

/

\

/

Рис. 9. Спецификация процесса Р обслуживания транзакта в СтМО

Р-Е1 - конец активности (процесса) Р8 обслуживания транзакта в СМО1 и начало активности (процесса) Р8 обслуживания транзакта в СМОи;

Р-Е2 - конец активности (процесса) Р8 обслуживания транзакта в СМОи.

Активность обслуживания Р8(и) является сложной активностью и может быть детализирована в виде процесса Р8 обслуживания транзакта в СМО с номером и. Событийный граф этого процесса, специфицирующий причинно-следственную зависимость между событиями енРви и гкР$и, приведен на рисунке 10.

На этом графе:

Pi(U) - анализ состояния zK(U) канала К системы СМОи. Св - свободен (zKU) = 0), Зан - занят (zku) = J);

P2(U) - анализ состояния zH(U) накопителя Н системы СМОи. Нплн - неполон (zH(U) < LU, где - LU емкость накопителя системы СМОи), Плн - полон (zHu) = L U);

P3(U) - анализ состояния zHu) накопителя Н системы СМОи. Нпст - непуст (zh(U) > О), Пст - пуст (zh(u) = 0);

А2 - начало параллельного выполнения участков процесса;

e3K(U) - событие занятия канала К с номером U;

eoKu) - событие освобождения канала К с номером U;

eHaU) - событие начала выполнения активности обслуживания а в канале К с номером U;

eKaU) - событие конца выполнения активности обслуживания а в канале К с номером U;

Та(и) - время выполнения активности обслуживания а в канале К с номером U;

eKPW(U) - событие конца W(U) процесса P в связи с переполнением накопителя;

e3H(U) - событие занятия накопителя Н с номером U;

Соши) - событие освобождения из очереди накопителя Н с номером U транзакта, стоящего первым.

В событийном графе выделены следующие макрособытия:

PS-E0 - анализ состояния канала и накопителя СМОи;

PS-Ei - занятие канала К с номером U;

PS-E2 - конец обслуживания в канале К с номером U транзакта J.

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

\

/

/

Рис. 10. Спецификация процесса PS обслуживания транзакта в СМО

Спецификации процессов составляют иерархию спецификаций событийной модели. Таким образом для рассматриваемой модели выделены три уровня представления (рис. 11):

- уровень имитационной модели - спецификация процесса имитационного моделирования РМ (см. рис. 7); элементами модели являются события процесса моделирования, а также активность и события обслуживания в СтМО;

- уровень модели СтМО - спецификация процесса обслуживания Р (см. рис.

9) в сети массового обслуживания, представляет порядок и маршрут обслуживания в сети массового обслуживания; элементами модели являются активности и события обслуживания в СМО;

- уровень модели СМО - спецификация процесса обслуживания PS (см. рис.

10) в системе массового обслуживания, представляет порядок обслуживания в системе массового обслуживания; элементами модели являются активность обслуживания в канале и события обслуживания в канале и накопителе СМО.

Уровень имитационной модели

Уровень модели СтМО

Уровень модели СМО

Рис. 11. Иерархия спецификаций для имитационной модели СМО

Для сложных систем уровень СтМО может разделяться на несколько подуровней. Событийная модель уровня СМО также может быть представлена в виде композиции моделей следующего уровня - уровня статических объектов СМО: канала и накопителя [Бабкин, Бобрышев 2008].

4. Иерархическое представление макрособытийных графов

Программно-реализуемой формой событийного графа является макрособытийный граф [Бабкин, Бобрышев 2007]. Макрособытийный граф представляет модель на уровне макрособытий, которые реализуются в виде программных секций или процедур. Для каждого выделенного процесса событийный граф преобразуется в макрособытийный на основе метода структурной декомпозиции. В результате этого спецификацию модели можно представить также многоуровневой совокупностью спецификаций макрособытийных графов (рис. 12). Макрособытийные графы состоят из одного типа вершин - макрособытий и четырех типов дуг: дуги мгновенного следования макрособытий, дуги следования макрособытий с задержкой и дуги отмены макрособытий (см. рис. 1). Вершины-макрособытия могут быть помечены основными операторами, которые выполняются в модели в этих вершинах. Полная спецификация вершин-макрособытий выполняется отдельно либо в виде текста, либо в виде событийного графа макрособытия и текста. Дуги помечаются условиями и временем следования макрособытий:

[<условие следования макрособытия>] / <время задержки следования макрособытия>

При безусловном следовании макрособытий Е; и Е/ дуга помечается символом "— ". Дуги первого типа, отображающие в модели безусловное следование макрособытий без задержки (Ту = 0), не помечаются.

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

а) б) в)

Процесс Процесс Процесс

моделирования РМ обслуживания Р обслуживания Р8

{Р-Е4*} {Р8(и)-Ез*}

/ {Р-Е4 }

- / Тп

1:=, Ы(1):=,

и:=1

/ {Р8(и)-Еэ }

/{Р8(и)-Ез }

Рис. 12. Спецификации процессов модели на уровне макрособытий

Для большей наглядности объединим эти спецификации в один общий макрособытийный граф, описывающий функционирование моделируемой системы в целом. Объединение выполняется заменой дуг с пометками спецификаций в основном процессе на соответствующие спецификации вложенных процессов. При этом макрособытие, из которого исходит дуга с меткой спецификации, соединяется дугой первого типа с начальным макрособытием событийного графа вложенного процесса. Условие следования этой дуги совпадает с условием следования помеченной дуги. Конечное событие событийного графа вложенного процесса соединяется дугой первого типа с макрособытием основного процесса, в которое входит дуга с меткой спецификации. Условие следования этой дуги определяется условием следования конечного события во вложенной спецификации и повторяемостью вложенной спецификации в основном процессе. Чтобы отразить декомпозицию макрособытийной модели на иерархически вложенные процессы, разделим представление общего макрособытийного графа на дорожки [Бабкин, Бобрышев 2008]. Будем использовать дорожки для группирования макрособытий процессов одного типа или одного уровня. В макрособытийном графе (рис. 13) выделены дорожки иерархически-вложенных процессов РМ, Р и Р£.

Рис. 13. Имитационная модель СтМО на уровне макрособытий

В результате иерархической декомпозиции число макрособытий будет больше, чем при обычной структурной декомпозиции событийных графов. Увеличение числа макрособытий происходит за счет разделения (декомпозиции) макрособытий начала и конца вложенного процесса. При структурной декомпозиции макрособытия Е1 процесса верхнего уровня РМ и Р-Е0 вложенного процесса Р объединяются в макрособытие Е1 , а макрособытия Р8-Е2 процесса Р£, Р-Е1 и Р-Е2 процесса Р и Е2 процесса РМ объединяются в макрособытие Е2 . Однако при этом в одно макрособытие включаются события различных процессов, то есть спецификации процессов

смешиваются. Так, в рассматриваемом примере в макрособытие Е2 включаются события трех процессов PM, Р и Р8.

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

5. Об организации событийных программных моделей

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

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

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

- секция процесса Р8 обслуживания в СМО, включающая процедуры макрособытий Р8-Е0, Р8-Ех и Р8-Е2;

- секция процесса Р обслуживания в СтМО, включающая процедуры макрособытий Р-Е0, Р-Ех и Р-Е2;

- секция процесса моделирования РМ, включающая процедуры макрособытий Е0, Е1, Е2 и Ез;

- диспетчер событий - процедура, осуществляющая выборку текущего макрособытия из списка событий и вызов соответствующей процедуры макрособытия.

Разделение спецификации модели на процессные секции в значительной мере позволяет разделить описания процессов различных уровней. Однако остается некоторое смешивание описаний процессов. Например, при возврате из нижнего процесса необходимо явно указывать макрособытие верхнего процесса, к которому осуществляется возврат. Кроме того, макрособытия процессов связаны дугами первого типа (мгновенного следования) и их удобно реализовать не через механизм планирования событий, а непосредственным вызовом процедур событий. Однако поскольку процесс верхнего уровня вызывает начальное событие нижнего уровня, а процесс нижнего уровня при возврате вызывает событие верхнего процесса, возникает противоречие в требованиях к порядку описания процедур и их группировки по процессам, поэтому одна из этих дуг-связей должна быть реализована через механизм планирования. Структура списка событий и, соответственно, механизм планирования в этом случае являются простыми. Каждая запись о планируемом макрособытии представляет набор элементов (3, Е, Т, Раг), где 3 - номер транзакта, Е - номер

макрособытия, T - время, когда должно произойти планируемое макрособытие, Par -остальные параметры макрособытия (приоритет, номер входа и т.д.).

Другим, более сложным способом является реализация процессных секций в виде программных процедур. При этом значительно усложняется структура списка событий: указатель на событие должен включать указатели (номера) всех процессов, в которые вложен данный процесс, и событий возврата из каждого процесса. Каждая запись о планируемом макрособытии представляет набор элементов (J, S, T), где S -список записей (P, E), причем P - номер типа процесса, E - номер макрособытия возврата (транзитивно-планируемое макрособытие). Для последней записи в списке E -номер планируемого макрособытия.

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

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

6. Заключение

В работе [Бабкин, Бобрышев 2008] рассматриваются два способа декомпозиции событийного графа: структурный и объектный. Разновидностью объектной

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

Для наглядного представления иерархических моделей предлагается форма макрособытийного графа с дорожками, в которой каждая дорожка представляет процесс.

Событийные модели, построенные на основе предлагаемого подхода, могут быть реализованы как процессо-ориентированными программными моделями, так и программными событийно-ориентированными моделями. Группирование процедур событий в спецификации программной модели в соответствии с принадлежностью выделенным процессам позволяет в значительной степени структурировать спецификацию программной модели и упростить внесение изменений в спецификацию. Программная модель в этом случае состоит из процессных секций, то есть является событийно-процессной моделью. Каждая процессная секция представляет собой набор процедур событий данного процесса. При реализации процессных секций в виде процедур процессов усложняется механизм планирования (структура списка событий).

Кроме того, в язык моделирования должны быть добавлены операторы начала и конца процесса.

Библиографический список

Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных / под ред. М. Брейера. М.: Мир, 1979. С. 12-29, 35-44.

Бабкин Е.А. Методические указания по моделированию вычислительных систем на событийно-ориентированном языке. Курск : Курск. гос. пед. ин-т, 1988.

Бабкин Е. А. Событийные модели дискретных систем / Курск. гос. ун-т. Курск,

2005. 18 с. Деп. в ВИНИТИ 14.01.05, № 30-В2005.

Бабкин Е.А. О синтезе событийных моделей дискретных систем // Ученые записки : электронный научный журнал Курского государственного университета.

2006. № 1. URL: http://www.scientific-notes.ru/pdf/s15.pdf (дата обращения: 11.02.2010). Эл № 77-26463.

Бабкин, Е.А., Бобрышев Е.А. О методах декомпозиции событийных графов // Ученые записки : электронный научный журнал Курского государственного

университета. 2008. № 2(6). URL: http://www.scientific-notes.ru/pdf/006-02.pdf (дата обращения: 15.03.2010). № гос. регистрации №0420800068\0024

Бабкин, Е.А. Бобрышев Е.А. Иерархическое событийно-автоматное моделирование // Информационные технологии моделирования и управления: научнотехнический журнал. Воронеж: Научная книга, 2007. № 1 (35). С. 39-48.

Бабкин Е.А. Иерархическое представление событийных графов // Четвертая всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика» ИММ0Д-2009 : сб. докладов. Т. I. СПб.: ОАО "ЦТСС", 2009. С. 78-82.

Schruben L.W. Simulation Modeling with Event Graphs // Communications of the ACM. 1983. Vol. 26. Num. 11. P. 957-963.

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