УДК 004.94
АВТОМАТИЗИРОВАННЫМ СИНТЕЗ ИМИТАЦИОННЫХ МОДЕЛЕЙ ДЕЛОВЫХ ПРОЦЕССОВ
© 2008 г. Г.Н. Хубаев, С.Н. Широбокова, С.М. Щербаков
Статья посвящена вопросам автоматизированного синтеза имитационных моделей деловых процессов. Особенностями рассматриваемого подхода являются использование унифицированного языка моделирования UML для визуального представления деловых процессов и автоматизированное построение программного кода имитационной модели. Приведено формализованное описание разработанной метамодели, определяющей состав, структуру и взаимосвязь компонентов имитационной модели. Рассматриваются этапы формирования имитационной модели, механизм автоматизированного синтеза программного кода. Описываются возможности программного комплекса, реализующего предложенный подход.
This paper is devoted to computer-aided syntheses of business-process simulation models. The main features of provided approach are using of unified modeling language (UML) for business process visualization and automatic building of simulation model program code. Described formal metamodel defines composition, structure and inter-coupling of simulation model components. Stages of simulation model computer aided design and algorithms of code generation are given. The paper also describes software tool for business process simulation.
Ключевые слова: имитационное моделирование, деловые процессы, автоматизация, генерация программного кода, модель, UM.
В настоящей работе рассматривается метод автоматизированного построения имитационных моделей деловых процессов организации, особенностью которого является использование диаграмм языка UML для визуального представления деловых процессов и автоматизированный синтез программного кода имитационной модели на основе ЦМ£-моделей.
В рамках рассматриваемого подхода [1] разработана метамодель, формализованное описание которой, однозначно определяющее состав, структуру и взаимосвязь компонентов имитационной модели, представлено ниже.
Имитационная модель может быть описана тройкой вида:
М = <V,DUC,DA >.
Модель включает множество переменных и множество ЦМЬ-диаграмм деятельности и прецедентов: V = V А и V р - множество переменных; VA = \у? |, i = 1,1 - множество переменных-
аргументов; Vр |, у = 1, J - множество переменных-функций; DUC = |, р = 1,Р - множество
диаграмм прецедентов; DA = jd А |, k = 1,К - множество диаграмм деятельности.
Переменная-аргумент v" описывается двойкой вида <IDt,VALUEi > , где IDt - идентификатор переменной; VALUEi определяет способ получения значения переменной.
При использовании теоретического закона распределения:
VALUEi =< 5i,P > ,
где pi - вектор параметров, длина которого определяется законом распределения 5 i.
При использовании дискретного табличного закона распределения: VAL UEi = {< xiq, fiq >|, q = 1, Qi -вектор пар вида < xiq, fiq >, где xiq - значение, fiq -
соответствующая вероятность, Q¿ - число значений для i-й переменной.
Если используется непрерывный табличный закон
распределения: VALUEi = {<iniq, fiq >|,q = 1,Qi -вектор пар вида < iniq, fiq > , где iniq - интервал, fiq
- соответствующая вероятность, Q¿ - число интервалов для i-й переменной.
Переменная-функция vf описывается тройкой вида < ID j, Fj (V), G(V) >, где ID- идентификатор переменной; Fj (V)- выражение, задающее взаимо-
f
связь переменной с другими переменными;
Gj (V) - выражение, описывающее верхний предел
суммирования для использования механизма случайной суммы случайных величин (если этот механизм не используется G(V) = 1).
Диаграмма прецедентов dр задается парой
~ p множество
г AC Р
<ACp,UCp >, где ACp ={acpw},w = \W'p
актеров диаграммы dupc; UC p ={ucpw },
^ = 1, WUC - множество прецедентов диаграммы
duc ар .
Актер может быть задан конструкцией вида:
аср„ =<СНр№,{а1р№к]>, где СН р№ - численность экземпляров актеров данного вида;
{а1 ркк |, к = 1, НрК - множество исходящих ассоциативных связей актера ас р№.
Связь задается парой а1 рКк =< V р^, аис рКк >, где V ркк - частота обращения к прецеденту по данной ассоциативной связи, а аис ркк еПС р - прецедент, на
который указывает связь.
Прецедент может быть задан конструкцией вида:
исры =< dpw, {е1р^к } {^рКк } >, где dpw 6 DA - диаграмма деятельности, которая связана с данным прецедентом. Диаграмма деятельности описывает деловой процесс, который инициируется прецедентом;
[elpwh } > h
=i, не
- множество исходящих связей
типа «extend» прецедента ис pw.
Каждая связь описывается парой: el pwh =
= < Ф pwh ,luc pwh > где Ф pwh - вероятность обраЩения
по данной связи типа «extend», luc pwh e UC p - прецедент, на который указывает связь.
{il pwh }, h = 1, Hllpw - множество исходящих связей типа «include» прецедента ис pw. Элемент il pwh eUC p показывает прецедент, с которым данный прецедент ucpw связан отношением «include».
Диаграмма деятельности задается конструкцией вида dA =< bsk,bfk,BOk,BCk,SWLk >, где bsk -
блок начала диаграммы деятельности d^A; bfk - блок
A
окончания диаграммы деятельности d k ;
BOk ={bokt}, t = 1, TBOk - множество блоков операций
диаграммы деятельности d^A; BCk = ВС^. и ВСк -множество блоков ветвления диаграммы деятельности
dA ; ВС<С ={ЬсС }, := 1, ТВССк - множество блоков
условия диаграммы dA, а ВСр = {Ьср:},: = 1,ТВСРк -множество блоков вероятностных переходов диаграммы деятельности dA ; SWLk = ^м>1кп},п = 1,NSWLk -
7 А
множество дорожек диаграммы деятельности dk .
Обозначим через Вк = {bsk }и ВОк и ВСк и{Ь/к} -множество блоков диаграммы деятельности dA .
Блок операции Ьок: задается парой вида Ьок: =<ук:,п1к:>, где Ук: eV - переменная, определяющая продолжительность выполнения операции, связь п1к: 6 Вк - обозначает следующий блок диа-
7 А
граммы деятельности dk .
Блок условия ЬсС задается тройкой вида
ЬсС =< ¥Сы пУ1к:, пп1ы > где ¥Си (Л - выражение, определяющее условие перехода по одной из двух исходящих связей. Исходящие связи определяют переходы на следующие блоки пу1к:, пп1ы 6 Вк, соответственно для случаев, когда условие выполняется или не выполняется.
Блок вероятностных переходов Ьср задается тройкой вида Ьср =< РСЫ (V), пх1к:, т1ы >, где РСкл (V) - вероятность перехода на следующий блок по исходящей связи пх1ь. Исходящие связи определяют переходы на следующие блоки пх1к:, т1к1: 6 Вк.
Дорожка swlkn определяется парой
swlkn =<IDSWLkn,{ьп}> , где IDSWLkn - иденти-
фикатор дорожки в модели, а {ЬкЩЦ }, I = 1,1?кп - множество блоков Ькп1 6 В к , относящихся к дорожке
™1кп .
Приведенное формализованное описание и выделенные компоненты модели служат основой представления деловых процессов организации при их имитационном моделировании. Последовательность этапов построения имитационной модели и проведения имитационного моделирования в соответствии с описанной выше в формализованном виде концепцией представлена на рис. 1. Как видно из рисунка, процесс формирования имитационной модели и проведения моделирования имеет каскадный характер [2] , при этом сохраняется возможность возврата к пройденным шагам с целью корректировки модели на основе уточненных сведений.
Рис. 1. Этапы автоматизированного синтеза имитационных моделей деловых процессов
Рассмотрим этапы автоматизированного построения имитационной модели и имитационного моделирования:
Этап 1. Определение границ изучаемой системы и декомпозиция деятельности организации, выделение основных деловых процессов.
Этап 2. Обобщенное формальное представление деловых процессов с помощью диаграммы прецедентов (Use Case Diagram) языка UML [3].
Этап 3. Определение количественных статистических характеристик инициации деловых процессов. Диаграмма прецедентов позволяет задать частотные и вероятностные характеристики инициации деловых процессов. Каждой связи актера с прецедентом ставится в соответствие значение частоты обращения. При необходимости задается число актеров каждого из типов и вероятности обращения для связей «extend.».
Этап 4. Детальное представление структуры деловых процессов (последовательности функциональных операций) с использованием диаграмм деятельности (Activity Diagram) языка UML [4]. На рис. 2 в качестве примера представлена диаграмма деятельности для одного из деловых процессов юридического отдела инспекции Федеральной налоговой службы России.
Блок операции (Activity) дает возможность представить отдельную операцию делового процесса, например, «Подготовка проекта постановления по делу об административном правонарушении».
Блок условия (decision) предназначен для моделирования различных вариантов исполнения делового процесса с помощью ветвлений и циклов. При организации ветвления задается условие или вероятность перехода.
Дорожки (swimlanes) дают возможность отслеживать затраты труда и стоимость по исполнителям или отделам. Изображенный на рис. 2 деловой процесс затрагивает несколько отделов, дорожки позволят найти затраты труда/стоимость по каждому из этих отделов за заданный период времени.
Этап 5. Определение количественных характеристик деловых процессов (продолжительность выполнения функциональных операций и параметры, определяющие ход исполнения делового процесса).
С операцией связана переменная имитационной модели, значение которой соответствует затратам труда на выполнение этой операции или ее стоимость, что позволяет учесть случайный характер времени выполнения операции.
Этап 6. Построение имитационной модели с помощью программного средства автоматизированного синтеза имитационных моделей деловых процессов, например конструктора [5]. На рис. 3 представлены экранные формы системы, отражающие основные этапы построения модели. Инструментальный комплекс позволяет провести автоматическое формирование программного кода имитационной модели. Среди основных функций инструментального комплекса можно выделить следующие:
- визуальное построение UML-диаграмм деловых процессов и определение их временных и частотных параметров с помощью встроенного графического конструктора. UML-диаграммы визуально описывают деловые процессы и служат основой для автоматического построения имитационной модели;
- построение модели в диалоговом режиме. Пользовательский интерфейс системы предоставляет возможность задавать количественные параметры деловых процессов с помощью переменных модели;
- автоматическое формирование программного кода имитационной модели на языке Pascal. Инструментальный комплекс поддерживает три варианта генерации и использования программного модуля имитационной модели: приложение командной строки, автономное приложение с графическим пользовательским интерфейсом и модуль для интеграции в прикладную программную систему;
- планирование и проведение имитационного эксперимента дает возможность исследовать поведение системы при изменении каких-либо входных параметров и определить оптимальное сочетание значений выбранных факторов;
- статистический анализ результатов имитационного моделирования. По результатам моделирования формируется отчет, рассчитываются статистические характеристики выходных параметров, делается оценка закона распределения.
Юридический отдел
Отдел общего и финансового обеспечения
Отдел оперативного контроля или отдел регистрации и учета налогоплательщиков
Руководитель НИ
(заместитель)
1
^18 Получение протокола^ по административному правонарушению с комплектом документов. Проверка и регистрация протокола
F19 Возврат документа в отдел
>
г F21 Подготовка N проекта постановления
по делу об административном правонарушении
Постановление по делу об админи стр ативном
нарушении [п одписанное]
Постановление по делу об админи стр ативном
нарушении [сформированное]
(/""р23 Формирование^ для налогоплательщика \ Уведомления о месте и времени рассмотрения дела
F55 Регистрация исходящих документов ^^
Уведомление о месте и времени рассмотрения дела
[сформированное]
'1=27 Получение Постановлениях по делу об административном правонарушении и направление ч в службу судебных приставов у
J
Исходящий документ [зарегистрированный]
/Т56 Направление^ I исходящего ^ \ документа ¡^ адресату ^
I
I
F24 N Рассмотрение дела>
л
i
Исходящий документ [отправленный]
"Т25 Регистрация Постановления по делу об административном правонарушении в инф. системе: вручение налогоплательщику
Постановление по результатам
[налогоплательщик не присутствовал при рассмотрении дела]
рассмотрения [копия]
I
[иначе,
вероятность 0.99]
-\
/ =28 Получение \ от службы судебных приставов документов об исполнении,
регистрация в журнале учета и передача в отдел
[постановление обжаловано налогоплательщиком, вероятность 0.01]
ация \
F57 Регистрация входящих I v документов А
J
/Т29 Запрос материалов^ дела об административном нарушении
у 'г
^Р30 Подготовка отзыва нЭч жалобу налогоплательщика
у
С 31 Направление отзывах заявителю и в суд через отдел ОиФо
У
32 Получение решений суда, регистрация и направление копий в ^соответствующий отдел,
Отзыв на жалобу налогопла-
тельщика [подготовленный]
:55 РегистрацияЧ^ исходящих документов J
I
Исходящий" документ [зарегистрированный]
' Р56 Направление исходящего документа адресату
" V
исходящий-
Рис. 2. Диаграмма деятельности, описывающая деловой процесс «Наложение административных санкций»
Hoblin v2.0 - jurUC
Рис. 3. Конструирование имитационной модели в системе [5]
Этап 7. Автоматическое формирование программного кода имитационной модели. В соответствии с рассматриваемым подходом сущности предметной области представлены в виде взаимосвязанных компонентов имитационной модели, на основе которых автоматически формируются фрагменты программного кода [6]. В качестве компонентов выступают: диаграмма прецедентов и диаграмма деятельности, блоки этих диаграмм, а также переменные различных видов. Диаграммы языка ЦМЬ описывают структуру деловых процессов, а переменные - их количественные характеристики, что в комплексе
позволяет обеспечить интеграцию визуального и имитационного моделирования деловых процессов.
Между компонентами имитационной модели могут существовать отношения двух типов:
- отношения агрегации (компонент, включающий в себя другие компоненты, будем называть «композитным», а входящие в их состав компоненты- «агрегированными»);
- отношения зависимости (значение компонента может рассчитываться на основании других компонентов, которые будем называть «влияющими»).
В качестве параметра функции формирования программного кода передается идентификатор компоненета. Функция вызывается рекурсивно, начиная с целевой переменной.
Идентификатор компонента заносится в регистрационный список с целью дальнейшего построения необходимых секций кода (описания переменных в секции var, организации вывода и т.д.). Регистрация также обспечивает однократное формирование кода определенных компонентов.
Сформировать программный код ( j агрегированный компонент)
Собрать программный код
(блок начала)
Присоединить программный код (к актер)
Присоединить программный код 0 агрегированный компонент)
Рис. 4. Алгоритм формирования программного кода имитационной модели по компоненту
В качестве примеров отношений агрегации можно назвать следующие: диаграмма деятельности включает блоки; блок операции - переменную; диаграмма прецедентов - актеров, прецеденты и связи.
Для реализации отношения зависимости компонент включает выражение или несколько выражений в синтаксисе языка Pascal, которые могут содержать имена переменных модели. Например, переменная-функция z может включать выражение x+y. Выражения могут использоваться и в других компонентах, например в блоках условия, в прецедентах и т.д.
На рис. 4 представлен обобщенный алгоритм формирования программного кода имитационной модели. Построение программного кода в системе имитационного моделирования реализовано в соответствии с принципами объектно-ориентированного программирования с использованием механизмов наследования и полиморфизма. Используется рекурсивное построение программного кода имитационной модели по ее компонентам, начиная с целевой переменной.
Этап 8. Проведение имитационного эксперимента, статистическая обработка результатов моделирования и их интерпретация. Проведение имитационного моделирования позволяет оценить трудозатраты на исполнение деловых процессов. Такая оценка необходима [7]: для объективного анализа степени загрузки персонала, для выявления наиболее трудоемких подмножеств операций и процессов, для оценки вероятности выполнения рассматриваемого процесса за заданное время, для последующего сравнения деловых процессов по напряженности труда, для расчета необходимой для выполнения конкретного делового процесса численности работников, для выявления резервов повышения производительности труда, для обеспечения путем реинжиниринга заданной вероятности выполнения конкретного делового процесса в течение определенного времени.
Преимущества рассматриваемого подхода [1, 7]:
- интеграция визуального и имитационного моделирования деловых процессов организации;
- возможность учета стохастической природы деловых процессов;
- возможность построения визуальных и имитационных моделей [8] для оценки возможных изменений с точки зрения затрат трудовых и иных ресурсов (модель «ТО ВЕ»);
- ориентация на использование CASE-средств, обеспечивающих построение визуальной модели, задание количественных характеристик и автоматизированное формирование имитационной модели.
Литература
1. Хубаев Г.Н., Щербаков С.М. Построение имитационных
моделей для оценки трудоемкости деловых процессов с использованием языка ЦМЬ: Препринт. Ростов-н/Д., 2004.
2. Шеннон Р. Имитационное моделирование систем - искусство и наука. М., 1978.
3. Широбокова С.Н., Хашиева Л.Н. Разработка информационных моделей экономических систем с использованием унифицированного языка моделирования ЦМЬ: Учеб. пособие/ РГЭУ «РИНХ». Ростов-н/Д., 2002.
4. Паскачев А.Б., Джамурзаев Ю.Д., Хубаев Г.Н., Широбо-кова С.Н. Моделирование деловых процессов в налоговых инспекциях / Под общ. ред. Т.В. Шевцовой, Д.А. Чушкина. М., 2006.
5. Хубаев Г.Н., Щербаков С.М., Шибаев А.Л. Конструктор имитационных моделей деловых процессов: Свидетельство об официальной регистрации программы для ЭВМ.- № 2005612262. М., 2005.
6. Хубаев Г.Н., Щербаков С.М. Методика имитационного
моделирования деловых процессов на основе ЦМЪ-моделей // Системный анализ в проектировании и управлении: Тр. X Междунар. науч.-практ. конф. (г. Санкт-Петербург, 28 июня - 10 июля 2006г.). СПб., 2006. С. 96-99.
7. Хубаев Г.Н. Процессно-статистический подход к учету
затрат ресурсов при оценке (калькуляции) себестоимости продукции и услуг: особенности реализации, преимущества // Вопросы экономических наук. 2008. № 2. С. 158166.
8. Широбокова С.Н. Анализ, моделирование и оптимизация бизнес-процессов при проектировании автоматизированных систем обработки информации и управления // Теория, методы проектирования, программно-техническая платформа корпоративных информационных систем: Материалы V Междунар. науч.-практ. конф. (г. Новочеркасск, 25 мая 2007г.) / Юж.-Рос. гос. техн. ун-т (НПИ). Новочеркасск, 2007. С.204-213.
12 мая 2008 г.
Хубаев Георгий Николаевич - д-р экон. наук, профессор, зав. кафедрой Ростовского государственного экономического университета «РИНХ».
Широбокова Светлана Николаевна - канд. экон. наук, доцент Ростовского государственного экономического университета «РИНХ». Тел. 55-2-40. E-mail: [email protected].
Щербаков Сергей Михайлович - канд. экон. наук, доцент Ростовского государственного экономического университета «РИНХ».