Научная статья на тему 'Разработка имитационного событийного графа'

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

CC BY
557
57
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Auditorium
Область наук
Ключевые слова
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / СОБЫТИЙНЫЙ ГРАФ / ЭТАПЫ РАЗРАБОТКИ / ПРЕОБРАЗОВАНИЕ СОБЫТИЙНОГО ГРАФА

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

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

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

Текст научной работы на тему «Разработка имитационного событийного графа»

УДК 004.94

РАЗРАБОТКА ИМИТАЦИОННОГО СОБЫТИЙНОГО ГРАФА

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

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

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

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

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

В работах Л.В. Шрубена [Schruben 1983] и Е. А. Бабкина[Бабкин 2005] рассматриваются основные элементы представления событийных моделей в виде событийных графов и подходы к построению событийных графов. Однако в этих работах, так же как и во многих других, рассматриваются вопросы построения событийных графов только для решения задач имитационного моделирования. Поскольку событийный граф описывает поведение системы в терминах событий [Бабкин 2005], то он может использоваться и для решения задач проектирования дискретных систем. В связи с этим разделим событийные графы на используемые для описания поведения дискретных систем и на создаваемые для целей имитационного моделирования. В работе [Бабкин 2008] рассматривается преобразование событийной сетевой модели (сетевого графика), используемой для целей анализа дискретных систем определенного типа, в имитационный событийный граф. В работе [Бабкин, Разиньков 2011] рассматриваются вопросы и процесс формализации описания дискретных систем в терминах событий.

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

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

Рассмотрим преобразование событийного графа, описывающего поведение системы, в ИСГ.

В работах Шрубена [Schruben 1983] и Сарджента [Sargent 1988] перечисляются и рассматриваются задачи имитационного моделирования, основанные на анализе событийного графа:

1) определение необходимых переменных модели и минимальных наборов значений этих переменных (идентификация переменных состояния модели);

2) определение и устранение возможных логических ошибок из-за одновременного свершения запланированных событий (определение приоритетов одновременных событий);

3) минимизация числа типов событий - редукция событийного графа;

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

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

1) преобразование событийного графа поведения системы в имитационный событийный граф;

2) минимизация числа переменных модели;

3) минимизация числа событий и макрособытий и соответствующих событийных секций (процедур) программной модели;

4) определение и устранение возможных логических ошибок из-за одновременно выполняемых событий.

Рассмотрим задачу преобразования событийного графа поведения системы в имитационный событийный граф на примере событийного графа, описывающего поведение системы массового обслуживания (СМО) с конечным накопителем и ограничением на время ожидания транзакта и с ограничениями на время работоспособности канала обслуживания (рис. 1). В СМО транзакты поступают из двух источников - И1 и И2, время поступления для этих транзактов имеет различные вероятностные распределения. Транзакты, поступающие из источника Иъ имеют ограничение на время ожидания в накопителе, а транзакты, поступающие из источника И2, его не имеют.

W4, W5

На рисунке 2 приведен событийный граф, описывающий поведение системы массового обслуживания. На вход этой системы поступают транзакты двух типов: 1 и 2. Поэтому входными событиями являются события енП1 и енП2 - события начала процессов обслуживания П1 и П2 этих транзактов. Кроме того, транзакты первого типа имеют ограничения на время Гн ожидания в накопителе Н, а транзакты второго типа такого ограничения не имеют. Поэтому в событийном графе введены условные вершины Р4, в которых проверяется тип транзакта. Выходными событиями в графе являются события конца процессов обслуживания транзактов: екПИ/3 - в случае полного обслуживания, екПИ/4 - отказ в обслуживании в связи с отсутствием мест в очереди, екпи^5 ~~ отказ в обслуживании в связи с превышением времени ожидания в очереди Гн. В событийном графе на рисунке 2 внешние (входные и выходные) событийные вершины отмечены двойными линиями.

Рис. 2. Событийный граф, описывающий поведение СМО

Подграф С1з включающий вершины енр (событие начала работоспособности) и екр (событие конца работоспособности), описывает поведение канала в случае прекращения (причины: отказ, перерыв) и возобновления работоспособности. На этом рисунке: езК - событие занятия канала К; еоК - событие освобождения канала К; ена ~ событие начала активности обслуживания а;

ека - событие конца активности обслуживания а; езН - событие занятия накопителя Н;

eoiH - событие освобождения накопителя Н - транзакт, стоящий первым в очереди, удаляется из накопителя;

ео/н - событие освобождения накопителя Н от транзакта / - транзакт с номером / удаляется из накопителя;

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

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

7R0 - время работоспособности канала К;

TR1 - время неработоспособности канала К;

К - переменная состояния канала: К = 0 - канал свободен, К =1 - канал занят;

R - переменная состояния работоспособности канала: R = 0 - канал работоспособен, R = 1 - канал неработоспособен;

Pj - условие проверки состояния и работоспособности канала: Р^ = 0, если (К = 0)П(й = 0), Рг = 1, если (К = 1)П(й = 1);

Р2 - условие проверки состояния накопителя: Н = Нплн - накопитель не полон, Н = Плн - накопитель полон;

Р3 - условие проверки состояния накопителя: Н = Нпст - накопитель не пуст, Н = Пст - накопитель пуст;

Р4 - условие проверки типа заявки: Р4 = 1, если транзакт поступил из источника Иъ Р4 = 2, если транзакт поступил из источника И2 ;

Р5 - условие проверки состояния канала: К = Св - канал свободен, К = Зан -канал занят;

Щ - обозначение событийной вершины, в которой происходит смена обрабатываемого транзакта;

M1 и М2 - разрывы (ссылки) дуг.

При преобразовании событийного графа, описывающего поведение системы, в ИСГ необходимо выполнить следующие шаги преобразования:

1) если в модели должна поступать последовательность внешних входных событий et G Е!, то определить условия и время планирования этих событий -разработать модель внешней среды;

2) внести дополнения в ИСГ для инициации (установки) начального состояния объектов модели (начального состояния модели);

3) ввести в событийный граф событие начала процесса моделирования енПм. Определить множество событий Esched#, которые должны планироваться после события енпм, и условия и время планирования этих событий;

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

Разработка модели внешней среды

Если в модели должна поступать последовательность внешних входных событий et G Е!, то определяются условия и время планирования этих событий.

Здесь также может быть необходимость в определении переменных процесса поступления внешних событий и добавлении операторов изменения их значений в событийные вершины.

Для рассматриваемого примера, поскольку за время моделирования должно поступить множество транзактов первого и второго типов, необходимо ввести планирование событий енП1 и енП2 через времена ГпТ1 и ГпТ2 соответственно.

Фрагмент ИСГ, включающий планирование енп# и енп2, приведен на рисунке 3.

Если входные транзакты поступают последовательно друг после друга через время ТпТ1 и ГпТ2, то вид этого фрагмента ИСГ будет такой, как приведено на рисунке 4.

Инициализация модели в начальном состоянии

Для выполнения имитационного моделирования должно быть задано начальное состояние модели, которое состоит из начальных состояний статических объектов (средств, ресурсов и очередей), составляющих систему. Обычно таким состоянием является состояние «свободно», то есть все средства, ресурсы и очереди системы являются полностью свободными (не занятыми транзактами). Будем в дальнейшем считать такое состояние состоянием системы по умолчанию, если явно не определено другое состояние системы. Если необходимо задать другое начальное состояние, то модель должна быть установлена в это состояние, и для этого могут вноситься изменения в ИСГ.

Например, если начальным состоянием СМО в рассматриваемом примере будет состояние, когда канал занят и в накопителе ожидают обслуживания Ь транзактов первого типа, то его можно задать, генерируя в начале процесса моделирования Ь транзактов. На рисунке 5 приведен измененный фрагмент начала процесса моделирования для этого случая: здесь х> - текущее число сгенерированных транзактов, Р5 - условие начальной генерации транзактов, генерация выполняется, пока V < Ь. Планирование множества инициализируемых событий Во множество Езс[1ес11 обязательно должны входить:

Рис. 3. Фрагмент ИСГ, определяющий модель внешней среды и включающий входные события енП1 и енП2

Рис. 4. Фрагмент ИСГ, определяющий модель внешней среды при последовательном поступлении событий енП1 и енП2

1) событийные вершины е£ £ Ех (входные внешние события), не имеющие входов;

2) по одной событийной вершине из каждой сильно связанной компоненты, не имеющей входов.

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

Рис. 5. Фрагмент ИСГ инициализации модели в загруженном состоянии

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

Сильно связанным компонентом является множество вершин событийного графа, для каждой из которых существует путь в любую вершину этого множества (в том числе и к самой себе) при движении по дугам планирования [БсИшЬеп 1983]. Для выделения таких вершин необходимо из графа сначала удалить дуги отмены.

Рассмотрим ИСГ, полученный после предыдущих операций (рис. 6). Выделим сильно связанные компоненты событийного графа.

В рассматриваемом примере сильно связанными компонентами являются множества вершин:

Есотр1 ~ {^нш}' Есотр2 — (енП2}> ЕсотрЗ ~ {^нш}' ЕсотрА {^зК> ^на> ^ка> ^оК> Есотр5 {^нр> ^кр}-

Рис. 6. Событийный граф, описывающий поведение СМО и внешней среды и установку начального состояния

На рисунке 7 показан ИСГ, в котором сильно связанные компоненты заменены вершинами.

Ecomph EComp2i ЕСотрЗ и Ecomps

Рис. 7. Выделение сильно связанных компонент в событийном графе (дуги отмены удалены)

Выполним анализ этого графа.

1. Событийных вершин, не имеющих входов, в ИСГ нет.

2. Сильно связанные компоненты, не имеющие входов:

3. Компонента Есотр4 имеет входы, в ней нет циркуляции транзактов и нет внутренних процессов, требующих инициации в начале моделирования, поэтому нет необходимости планировать события этого компонента.

В связи с этим необходимо планировать после события енПм события сильно связанных компонент Есотр1, Есотр2, Есотр3 и Есотр5: енП1, енП2, енПЗ, а также одно из событий Есотр5: либо енр , либо екр . На рисунке 8 приведен соответствующий фрагмент ИСГ начала процесса моделирования. Здесь

Т01 - время поступления первого транзакта первого типа; Tq2 - время поступления первого транзакта второго типа.

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

Рис. 8. Фрагмент ИСГ начала процесса моделирования

Определение конца процесса моделирования

Событие екП обычно либо планируется через время Тм после события енП, либо свершается после того как в системе будет закончено обслуживание определенного числа транзактов N.

Для второго варианта необходимо введение дополнительной переменной I для подсчета числа заявок, обслуженных в системе, и дополнительных операторов вычисления значений этой переменной.

Кроме этих двух вариантов возможны и любые другие условия окончания процесса моделирования. Окончание моделирования может быть связано с выходным внешним событием. В рассматриваемом ИСГ это множество Е¥ = (екп\/уз< екшгь> екП\/У5}- Окончание процесса моделирования может быть связано вообще с любыми событиями, интересующими исследователя. Например, в ИСГ могут использоваться оба варианта окончания моделирования одновременно. Ограничение по времени необходимо на случай возможного зацикливания алгоритма.

На рисунке 9 приведен фрагмент ИСГ, определяющий следование события екПм после события ект/узПЬ'1' при достижении переменной / значения N. Переменная / должна быть установлена в 0 в событийной вершине енПм.

Рис. 9. Фрагмент ИСГ, определяющий условия конца процесса моделирования по числу обслуженных транзактов

На этом рисунке Р6 - условие проверки окончания процесса моделирования: число обслуженных транзактов / = N. Значение переменной I изменяется в событийной вершине екПшз.

Окончательный вид ИСГ приведен на рисунке 10.

Type(J)=l

v=v+l

Type(J)=l ( енш

Type(J)=2(( енП2

[Нплн]

Pr(J):= Pr(J)+l

Рис. 10. Имитационный событийный граф

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

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

Бабкин Е.А. Событийные модели дискретных систем / Курск. гос. ун-т. Деп. в ВИНИТИ 14.01.05, № 30, 2005. 18 с.

Бабкин Е.А. Преобразование сетевых моделей в имитационные событийные графы // Ученые записки: Электронный научный журнал Курского государственного университета. 2008. № 2 (6). URL: www.scientific-notes.ru/pdf/006-01.pdf (дата обращения: 12.07.2016). № гос. регистрации №0420800068\0023.

Бабкин Е.А., Разиньков В.В. О подходе к формализации событийных моделей дискретных систем // Информационные системы: Теория и практика: сб. науч. работ. Вып. 2 / редкол.: Е.А. Бабкин, В. А. Кудинов, И.В. Селиванова; отв. ред. Е.А. Бабкин; фак. информатики и вычислит. техники Курск. гос. ун-та. Курск, 2011. С. 68-79.

Sargent R.G. Event graph modeling for simulation with an application to flexible manufacturing systems // Management science. 1988. Vol. 34. No. 10. P. 1231-1251.

Schruben L.W. Simulation Modeling with Event Graphs // Communications of the ACM. (1983). 26. Р. 957-963

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