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

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

CC BY
232
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
событие / событийные графы / макрособытие / структурный способ декомпозиции / объектный способ декомпозиции / событийный граф с дорожками / event / event graphs / macro event / structural way decomposition / object way decomposition / striped event graph

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

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

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

ABOUT DECOMPOSITIONS OF EVENT GRAPHS

The structural way and the object way of event graph decomposition are described in this paper. We give the way of object decomposition of event graph what permits to get the object model for the explicit event graph, to describe the objects‟ behavior in event or macro event terms, to map the event graph to object program model. We describe two ways of decomposition implementation: first of all, by scheduling; secondly, by function calling. We declare the event graph modification – striped event graph; it produces explicit dependences for event and model‟s objects.

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

УДК 519.711.3

О МЕТОДАХ ДЕКОМПОЗИЦИИ СОБЫТИЙНЫХ ГРАФОВ © 2008 Е. А. Бабкин, Е. А. Бобрышев

доцент кафедры программного обеспечения и администрирования информационных систем, канд. техн. наук, доцент, [email protected]

аспирант кафедры программного обеспечения и администрирования информационных систем, [email protected]

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

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

1. Введение

При преобразовании событийной модели в программную модель необходимо выделение событийных секций - частей или процедур программной модели [Автоматизация... 1979], то есть декомпозиция модели. Наиболее наглядным и удобным средством описания при дискретно-событийном моделировании является представление модели в виде событийного графа (СГ) [БсИтЬеп 1983; Бабкин 1988]. В работах [Бабкин 2005; Бабкин 2006] рассматривается декомпозиция событийного графа, которая лежит в основе преобразования СГ в программную модель. При этом СГ разделяется на связные подграфы - макрособытия, удовлетворяющие определенным структурным ограничениям [Бабкин 2006]. Эти подграфы в программной модели реализуются в виде процедур или частей программной модели. Будем называть такую декомпозицию СГ структурной или процедурной.

Процесс представления предметной области задачи в виде совокупности объектов, обменивающихся сообщениями, называется объектной декомпозицией [Буч 2004; Леоненков 2004]. Поскольку дискретно-событийные системы могут быть представлены в виде совокупности статических и динамических объектов, возможна декомпозиция СГ, основанная на выделении подграфов по признаку принадлежности событийных и условных вершин статическим и динамическим объектам модели [Бабкин 2007; Бабкин 2007а]. Будем называть такую декомпозицию СГ объектной.

Рассмотрим эти два подхода к декомпозиции СГ.

2. Структурная декомпозиция событийного графа

Рассмотрим систему массового обслуживания (СМО) с конечным накопителем и ограничением по времени ожидания в накопителе (рис. 1).

Рис. 1. Система массового обслуживания

Заявки поступают из источника И в СМО - входной поток N1. СМО включает накопитель Н и канал К. В СМО существует два выходных потока заявок: N2 - поток заявок, обслуженных в канале К, и N3 - поток заявок получивших отказ в обслуживании в СМО либо поскольку накопитель полностью занят, либо из-за того, что время ожидания заявки превысило максимально допустимое время ожидания.

Соответствие элементов модели в виде СМО и в виде событийного графа для рассматриваемого примера представлено в таблице.

Соответствие элементов модели СМО и событийного графа

Модель СМО Событийная модель

События

Каналы обслуживания Статические объекты

Канал К Средство К езК еоК

Накопители

Накопитель Н Очередь Н езН> еоН

Действия Динамические объекты

Обслуживание в К Активность а ена, ека

Последовательность действий Процессы

Обслуживание в СМО Процесс обслуживания П енп, екп№2 , екп№

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

Здесь ез - событие занятия статического объекта;

ео - событие освобождения статического объекта; ен - событие начала динамического объекта; ек - событие конца динамического объекта.

Поскольку заявка освобождает очередь Н в двух случаях, необходимо различать следующие разновидности события еоН :

ео1н - освобождение очереди, когда заявка дождалась обслуживания, в этом случае заявка, стоящая в очереди первой, удаляется из очереди;

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

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

Окончание процесса моделирования определяется по числу і заявок, обслуженных в СМО. Поэтому событие екпм происходит после события гкпт при условии, что через модель прошло заданное число К заявок (і = К).

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

Рі - анализ состояния средства К, значения: Зан - "занято" (0), Св - "свободно" (1);

Р2 - анализ состояния очереди Н, значения: Плн - "полна" (0), Нплн - "неполна" (1);

Р3 - анализ состояния очереди Н, значения: Пст - "пуста" (0), Нпст - "непуста" (1);

Р4 - анализ числа обслуженных заявок і, значения: і<К - меньше заданного числа К (0), і=К - равно заданному числу К (1).

Рис. 2. Исходный событийный граф процесса функционирования СМО с ограничением по времени ожидания в очереди р

Вершины А1, А2, А3 представляют распараллеливание процесса.

Дуги второго типа помечены величинами задержки:

Т0 - время поступления первой заявки после начала моделирования,

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

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

ТН - максимальное время ожидания заявки в очереди.

Событийные вершины, в которых происходит смена активного процесса (активизация процесса Т), помечены АТ.

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

1) подграф имеет не более одной точки входа;

2) все дуги, соединяющие вершины внутри подграфов, являются дугами первого

типа;

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

В работе [Бабкин 2005] совокупность событий такого подграфа называется макрособытием.

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

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

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

Е1 - поступление заявки в СМО;

Е2 - начало обслуживания заявки в канале;

Е3 - окончание обслуживания заявки в канале и СМО;

Е4 - окончание обслуживания заявки в СМО в связи с тем, что время ожидания заявки в очереди достигло максимального Т^) ;

Е5 - окончание моделирования.

Событийный граф, состоящий из макрособытий Е0 - Е5, приведен на рисунке 4. Дуги помечаются парой <условие> / <время>, прочерк означает безусловный переход.

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

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

1) все дуги, связывающие макрособытия, реализуются через механизм планирования [Бабкин 2005; Бабкин 2006] (рис. 5);

2) дуги первого типа реализуются передачей управления между соответствующими процедурами, а дуги второго типа - через механизм планирования (рис. 6).

В обоих случаях вводится процедура Управление и информационная структура Список событий для реализации механизма планирования. На рисунках 5 и 6:

Вызов - программный вызов процедур макрособытий Е0 - Е5 из процедуры Управление;

План. (Е) - занесение (планирование) макрособытия Еі в список событий;

Отмена (Е) - удаление макрособытия Еі из списка событий;

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

этого макрособытия и устанавливает текущее время Т равным запланированному времени этого макрособытия.

Второй вариант реализации предпочтительнее с точки зрения машинного времени выполнения моделирования. Однако событие Е2 не будет появляться в списке событий, что вносит некоторые трудности в процесс трассировки и отладки модели. Событие Е2 в этом случае является ненаблюдаемым при трассировке модели.

Рис. 4. Граф макрособытий процесса функционирования СМО

Удал. Список

• событий

Вызов

Ео

Еі

Е2

Ез

Е4

Ез

План.

< н

План. (Е1)

План. (Е2)

План. (Е4)

_ План. (Е3) ^

План. (Е2)

Отмена (Е4)

<(- План. (Е5) ->•

Отмена

Удал. Список

• событий

Вызов

Ео

Еі

Ез

Е4

Ез

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

Е2

План.

і

План. (Е1)

(і План. (Е4)

План. (Е3)

Отмена (Е4)

План. (Е5)

Отмена

Рис. 6. Структура программной модели (второй вариант реализации)

3. Объектная декомпозиция событийного графа

Другой подход к декомпозиции СГ основан на выделении подграфов по признаку принадлежности событийных и условных вершин статическим и динамическим объектам модели.

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

Разделим графически событийный граф на вертикальные полосы - дорожки (рис. 7) по аналогии с диаграммами деятельности в языке ЦМЬ [Буч 2004; Леоненков 2004]. Каждая дорожка соответствует определенному статическому или динамическому объекту модели:

1 - процесс моделирования Пм;

2 - процесс обслуживания П, который является в то же время моделью внешней

среды;

3 - канал К вместе с активностью а, выполняемой в нем;

4 - накопитель Н.

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

Первый шаг. Размещение событийных вершин по дорожкам.

Вершина-событие (событийного графа) е включается в дорожку объекта Ои, если событие является событием изменения состояния этого объекта.

Второй шаг. Размещение условных вершин по дорожкам.

Условные вершины Р можно размещать с учетом того,

1) состояние какого объекта Ои анализируется в условной вершине Р (по анализируемому объекту) и

2) какова степень связи условной вершины р с другими вершинами (по связности с вершинами графа).

По первому критерию условную вершину Р1 - анализ состояния канала К необходимо включить в дорожку канала К. По второму критерию вершина Р1 имеет одинаковую степень связи равную единице с вершинами объектов П, К и Н: СР1-п = СР1-К = СР1-н = 1. Итак, по первому критерию следует отдать предпочтение включению вершины Р1 в дорожку канала К. Если вершину Р1 включить в дорожки П или Н, то кроме связей по управлению между объектом К и соответствующим объектом появится дополнительная информационная связь, предоставляющая состояние канала К. Это ведет к увеличению числа связей между объектами и усложнению структуры модели.

Аналогичны рассуждения для вершин Р2, Р3 и Р4.

Третий шаг. Размещение вершин начала и окончания распараллеливания процесса.

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

Вершина А1 имеет степень связи СА1-П = 2 с дорожкой объекта П и СА1-К = 1 с дорожкой объекта К. Поэтому размещаем А1 в подграфе объекта П.

Вершина А2 имеет степень связи СА2-П = 1 с дорожкой объекта П, СА2-К = 1 с дорожкой объекта К и СА2-Н = 1 с дорожкой объекта Н. Поэтому являются равноценными варианты размещения А2 в дорожках П, К и Н. Однако естественным является размещение А2 в дорожке К, поскольку входная дуга вершины А2 связывает ее с вершиной ео? дорожки К.

Вершина А3 имеет степень связи СА3-Н = 2 с дорожкой объекта Н и СА3-П = 1 с дорожкой П. Поэтому размещаем А1 в подграфе объекта Н.

Заменяя дорожки объектами, которым они соответствуют, получим объектную событийную модель (рис. 8). В этой модели связи между объектами представляются дугами, которые помечаются именами вершин событийного графа (см. рис. 7): начальной и конечной, и временем задержки для дуг второго типа. Для рассматриваемого примера только одна дуга енпм ^ е„п является дугой второго типа с задержкой То.

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

Поскольку дуги второго типа реализуются в программной модели через механизм планирования, необходимо полученные событийные подграфы (см. рис. 7) разделить на подграфы макрособытий, то есть выполнить их структурную декомпозицию. На рисунке 9 представлена структурная декомпозиция событийного графа с дорожками, при этом выделены следующие макрособытия Ео, Е1, ..., Е10:

Ео - начало моделирования;

Е1 - поступление заявки в СМО;

Е2 - начало обслуживания заявки в канале, если он свободен;

Е3 - начало обслуживания заявки в канале;

событийными подграфами объектов модели

Рис. 8. Объектная модель на уровне событий

Е4 - окончание обслуживания заявки в канале;

Е5 - занятие очереди, если она неполна;

Е6 - освобождение очереди в связи с тем, что время ожидания в очереди достигло максимального 7^;

Е7 - освобождение очереди, если она непуста;

Е8 - окончание обслуживания заявки в СМО;

Е9 - окончание обслуживания заявки в СМО в связи с отказом в обслуживании, очередь полна или время ожидания закончилось;

Е10 - окончание моделирования, если количество обслуженных заявок равно K.

Таким образом событийный граф разделяется на событийные подграфы объектов. Эти подграфы описывают поведение объектов моделируемой системы.

На рисунке 10а приведен событийный подграф, определяющий поведение канала. Здесь:

єпК - событие на входе П канала - требование занятия канала;

єпК - событие на входе П канала - занятие канала;

eO1К - событие на выходе О1 канала - канал нельзя занять;

єшК - событие на выходе О2 канала - освобождение канала.

Подграфы макрособытий Е2 и Е3 разделены, и событийные вершины продублированы, поскольку каждому макрособытию соответствует отдельная операция и процедура.

Событие єпК на входе Н канала вызывает выполнение внутреннего макрособытия Е2 канала - начало обслуживания заявки в канале, если канал свободен, то есть начало обслуживания с условием.

Событие є2К на входе ^ канала вызывает выполнение внутреннего макрособытия Е3 канала - начало обслуживания заявки в канале; это безусловное начало обслуживания.

Рис. 10. Событийная модель канала

Событие еО1К на выходе О1 канала происходит если канал занят, заявка получает отказ в обслуживании в канале.

Событие еО2К на выходе О2 канала происходит если выполняется внутреннее макрособытие Е4 канала, то есть обслуживание заявки в канале завершено.

На рисунке 10б приведена событийная макромодель канала. Так как дуги второго типа реализуются с помощью механизма планирования, вместо дуги Е2 ^ Е4 у объекта канал вводятся выход еО3К и вход е13К:

е13К - вызов события Е4 - время Та истекло;

е02К - планирование события Е4 через время Та.

На рисунке 11а приведен событийный подграф, определяющий поведение накопителя.

Здесь е11Н - событие на входе II накопителя - требование занятия очереди;

е12Н - событие на входе 12 накопителя - требование освобождения очереди;

е01Н - событие на выходе О1 накопителя - накопитель нельзя занять, поскольку он полон;

Рис. 11. Событийная модель накопителя

е02Н - событие на выходе О2 накопителя - освобождение накопителя от заявки, стоящей первой в очереди; ео3Н - событие на выходе О3 накопителя - освобождение накопителя от заявки, для которой закончилось время ожидания.

Событие е11Н на входе II накопителя вызывает выполнение внутреннего макрособытия Е5 накопителя - занятие очереди накопителя, если накопитель не полон, то есть занятие очереди с условием.

Событие е12Н на входе 12 накопителя вызывает выполнение внутреннего макрособытия Е7 накопителя - освобождение накопителя от заявки, стоящей первой в очереди, если очередь накопителя непуста, это освобождение накопителя с условием.

Событие еО1Н на выходе О1 накопителя происходит, если очередь накопителя полна, заявка получает отказ в постановке в очередь накопителя.

Событие еО2Н на выходе О2 накопителя происходи, если выполняется внутреннее макрособытие Е7 накопителя и очередь канала не пуста.

Событие еО3Н на выходе О3 накопителя происходит, если выполняется внутреннее макрособытие Еб накопителя, то есть время ожидания заявки в очереди накопителя закончилось и заявка удаляется из очереди накопителя.

На рисунке 11б приведена событийная макромодель накопителя. Так как дуги второго типа и дуги отмены события реализуются с помощью механизма планирования, вместо дуги Е5 ^ Еб у объекта накопитель вводятся выход еО4Н и вход е3н и вместо дуги Е7 ^ Еб - выход еО5Н-

евн - вызов события Еб - время ТН истекло;

ео4К - планирование события Еб через время ТН;

е05К - отмена события Еб - заявка дождалась обслуживания.

Поскольку для реализации дуг второго типа используется механизм планирования, в модель, кроме выделенных объектов, необходимо ввести управляющий объект Управление и объект-сущность Событие. Эти объекты позволяют хранить список будущих событий, планировать событие, удалять и обрабатывать первое событие в списке и отменять ранее запланированное событие. Объект Управление удаляет первое событие из списка событий (объект-сущность Событие) и вызывает выполнение операции Е^ соответствующего объекта.

На рисунке 12 представлена программно-реализуемая объектная (объектнособытийная) модель. Дуги первого типа реализуются непосредственным взаимодействием объектов в соответствии с объектной декомпозицией событийного графа (см. рис. 9). Дуги второго типа Е0 ^ Е^, Е1 ^ Е1, Е2 ^ Е4, Е3 ^ Е4, Е5 ^ Еб реализуются с помощью механизма планирования, то есть при участии объектов Управление и Событие.

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

Объект Процесс моделирования .

Е0 - начать (инициализировать),

Ею - проверить окончание.

Объект Процесс обслуживания .

Е1 - начать (создать),

Е8 - закончить N2 (процесс обслуживания завершается нормально),

Е9 - закончить N3 (процесс обслуживания прерывается по одной из причин: накопитель полон или время ожидания закончилось).

Объект Канал.

Е2 - начать обслуживание, если канал свободен,

Е3 - начать обслуживание,

Е4 - закончить обслуживание.

Объект Накопитель.

Е5 - занять очередь, если накопитель не полон,

Еб - удалить из очереди процесс 1,

Е7 - освободить очередь, если накопитель непуст.

Объект Управление.

екпм - закончить моделирование.

Объект Событие.

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

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

План. - планировать событие, то есть поместить в список событий указанное событие Е/,

Отмена - отменить указанное событие Е/, то есть удалить его из списка событий.

Удал.

План. (Еь Е4, Е6)

------------------►

Отмена (Е6) -------------►

Рис. 12. Программно-реализуемая объектная модель

Атрибутами объектов являются входные параметры, переменные состояния и накапливаемые в процессе моделирования характеристики. Выделим основные атрибуты для рассматриваемого примера.

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

Объект Процесс обслуживания: приоритет, максимальное время ожидания в очереди Тц, время выполнения процесса (среднее время, сумма времен), дисперсия времени выполнения, количество процессов, получивших отказ в обслуживании.

Объект Канал: состояние канала, процент использования, количество обслуженных заявок.

Объект Накопитель: состояние накопителя (число заявок в очереди, для каждого процесса, находящегося в очереди: номер процесса, время постановки в очередь, приоритет), среднее время ожидания, дисперсия времени ожидания, средняя длина очереди, максимальная длина очереди.

Объект Управление - атрибутов не имеет.

Событие (список событий)

Объект Событие, номер события, номер процесса, параметры события, время события.

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

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

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

— получить объектную модель по известному событийному графу,

— определить в терминах событий и макрособытий поведение объектов,

— преобразовать событийный граф в объектно-ориентированную программную модель.

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

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

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

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

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

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

5. Бабкин, Е. А. О синтезе событийных моделей дискретных систем / Е. А. Бабкин // Ученые записки : электронный научный журнал Курского государственного университета. Эл № 77-26463. - 2006. - № 1. - 17 с. http://www.scientifical-notes.ru/pdf/s15.pdf.

6. Буч, Г. Язык UML. Руководство пользователя / Г. Буч, Д. Рамбо, А. Джекобсон ; пер. с англ. А. А. Слинкина. - 2 изд., стер. - М. . ДМК Пресс; СПб. . Питер, 2004. -С. 242-247.

7. Леоненков, А. В. Самоучитель UML / А. В. Леоненков. - 2 изд. перераб. и доп. -СПб. . БХВ-Петербург, 2004. - С. 249-251.

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

9. Бабкин, Е. А. О формализме событийно-автоматного моделирования / Е. А. Бабкин, Е. А. Бобрышев // Третья всероссийская научно-практическая конференция по ими-

тационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика» ИММОД-2007 . сборник докладов. Т. I. - СПб. : ФГУП ЦНИИТС, 2007а. - С. 82-86.

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