Инструментарий интеграции визуального и имитационного моделирования

УДК 004.94

ИНСТРУМЕНТАРИЙ ИНТЕГРАЦИИ ВИЗУАЛЬНОГО И ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ

Г. Н. ХУБАЕВ, С. М. ЩЕРБАКОВ, Ю. А. РВАНЦОВ

Рассматрена информационная система, реализующая принцип интеграции визуального и имитационного моделирования.

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

Введение. Программная система синтеза имитационных моделей на основе языка (СИМ-и1^) [1] предназначена для анализа и моделирования деловых процессов организации. Особенностями системы являются: использование языка для визуального представления деловых процессов; интеграция визуального и имитационного моделирования; автоматизированное формирование имитационной модели на основе диаграмм языка и1^.

Предлагается единый инструментарий качественного и количественного анализа и моделирования деловых процессов. Отразив деловые процессы в виде визуальной и1^-модели, исследователь может задать их количественные параметры и провести имитационное моделирование. Имитационная модель позволяет, во-первых, получать точную текущую картину затрат трудовых и иных ресурсов на исполнение деловых процессов, во-вторых, проводить анализ чувствительности для изучения воздействия различных факторов, в-третьих, планировать и проводить имитационный эксперимент для оптимизации параметров исполнения деловых процессов [2].

Изменив структуру деловых процессов в и1^-модели (получив модель «ТО ВЕ» [3]), исследователь может вновь провести имитационное моделирование и получить количественную оценку предложенных преобразований, например, с точки зрения затрат трудовых и материальных ресурсов.

Очевидно еще одно преимущество использования системы СИМ-и1^ - возможность сократить затраты труда на построение имитационной модели за счет автоматизации формирования ее программного кода.

Описание системы имитационного моделирования СИМ-UML. Выбор универсального языка моделирования как средства визуального представления деловых процессов обусловлен следующими его преимуществами по сравнению с альтернативными вариантами (семейство стандартов IDEF, нотация ВР1^ или специально разработанная нотация):

- гибкостью и универсальностью. Средства языка можно использовать для решения задач анализа, моделирования и проектирования в различных предметных областях;

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

- ролью языка как общепризнанного стандарта проектирования и разработки программного обеспечения;

- возможностью расширения, что позволяет адаптировать средства языка для эффективного решения задач моделирования в конкретной области;

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

Интеграция визуального и имитационного моделирования на основе языка предполагает, что:

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

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

3) диаграммы, элементы диаграмм и количественные компоненты связываются между собой в соответствии с принятой метамоделью;

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

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

На рис.1 представлено множество включенных компонентов метамодели в формате ER-диаграммы, а также показан состав компонентов, их важнейшие атрибуты и взаимосвязи.

Рис.1. Основные компоненты имитационной модели 1036

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

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

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

Использование совокупности визуальных и количественных компонентов для имитационного моделирования может быть обеспечено двумя способами: путем непосредственного имитационного моделирования или путем автоматизированного синтеза имитационной модели. Для разработки системы СИМ-и1^ выбран второй подход, который отличается большей гибкостью и прост в реализации.

Перечислим особенности метода автоматизированного синтеза имитационных моделей [4]:

1. На основе взаимосвязанных диаграмм языка и количественных компонентов (переменных модели) производится формирование программного кода имитационной модели.

2. Каждому компоненту модели соответствует сгенерированный фрагмент программного кода. Каждый такой фрагмент зависит от вида компонента, от его атрибутов и связей с другими компонентами. Дальнейшее построение программного кода предполагает его сборку из сгенерированных фрагментов.

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

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

5. Используется рекурсивное построение программного кода имитационной модели, начиная с некоторой целевой переменной (которая, таким образом, представляет выходной параметр модели).

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

На рис.2 представлены примеры компонентов модели и соответствующие участки программного кода имитационной модели.

Модель Код Модель Код

Переменные модели: x,y,z Var x:real; y:real; z:real; X:=gen3(1,5); Y:=gen2(10,3); z:=x*y; H:=gen5(0.3); l:=h+z;

Р / . Q function _uc4:real; begin end; function _uc1:real; begin _uc1:=bp1; if random < 0.3 then _uc1: =_uc 1 +_uc4; _uc1:=_uc1+_uc3; end; N N:=gen3(10,20); S:=0; for _i1:=1 to round(N) do begin T:=gen5(1.5); s:=s+t; end;

f с > ( И 1 • function bp2:real; label L4; var _s:real; begin _s:=0; _s:=_s+gen1(1,3); if random<0.05 then begin _s:=_s+gen6(1,0.3); goto L4; end; s:= s+gen1(2,5); L4: s:= s+gen1(1,2); bp2:=_s; end; f С 5 с > С ) V m * {uml} function bp3:real; var _s:real; _iL5:integer; n :real; begin _s:=0; s:= s+gen1(2,4); n:=gen12(3,5,10); for iL5:=1 to round(n) do begin _s:=_s+gen1(1,3); _s:=_s+gen1(2,5); end; bp3:=_s; end;

f < С > function ucd_ucc:real; var _s:real;_nI:real;iI:integer; function _actor0:real; var _nII:real; _iII:integer; _sII:real; begin sII:=0; _nII:=gen1(5,10); for _iII:=1 to round(_nII) do sII:= sII+ uc1; _nII:=gen1(10,15); for_iII :=1 to round(_nII) do _sII:=_sII+_uc2; _actor0:=_sII; end; begin _s:=0; _nI:=gen1(10,20); for _iI:=1 to round(_nI) do _s:=_s+_actor0; ucd_ucc:=_s; end;

Рис.2. Формирование программного кода по компонентам модели

Кратко рассмотрим основные функции системы и процесс работы с ней. Совокупность функций системы СИМ^!^ можно условно разделить на несколько групп в соответствии с направлениями использования системы имитационного моделирования.

Первая группа функций «Построение количественных компонентов модели» включает функции: построение перечня переменных модели; моделирование случайной суммы случайных величин (например, для определения затрат труда на исполнение операции за период времени); моделирование переменных, заданных таблично (дискретный или непрерывный эмпирический закон распределения); поддержка модельного времени и расчет интегральных значений по периоду моделирования (эти средства позволяют, например, оценивать NPV инвестиционного проекта); экспорт модели в MS Word для документирования.

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

Группа функций «Формирование программного кода и проведение имитационного моделирования» объединяет функции: автоматическая генерация программного кода модели; поддержка вводимых пользователем переменных; планирование имитационного эксперимента; создание консольных и снабженных графическим пользовательским интерфейсом программ для имитационного моделирования (сформированные имитационные программы могут использоваться как вместе с системой имитационного моделирования, так и автономно).

Группа функций «Анализ результатов имитационного моделирования» включает функции: получение основных статистических характеристик выходного параметра (по полученным значениям рассчитываются основные статистические характеристики: среднее значение, дисперсия, коэффициент вариации, минимальное и максимальное значения, асимметрия, эксцесс, мода или модальный интервал и др.); построение гистограмм значений выходных параметров моделирования для оценки формы закона распределения; сохранение результатов моделирования в виде переменной модели; экспорт результатов в MS Word и MS Excel для дальнейшей обработки и для документирования.

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

Рассмотрим процесс моделирования деловых процессов с использованием описанного инструментария. На рис.3 приведен пример делового процесса в виде диаграммы деятельности. Пример взят из проведенного исследования деловых процессов одной из торговых организаций [5].

Рис.3. Пример делового процесса

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

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

щая указать минимальное, максимальное и наиболее вероятное время исполнения операции [2]. Для блоков условий задаются вероятности переходов.

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

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

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

Переменные имитационной модели

Имя Вид переменной Комментарий Тип / Закон распределения Параметры / Формула расчета

bp_recepti on Диаграмма деятельности Процесс приема товара торговой компанией от поставщика

Блок подпроцесса Оформление заказа Дочерний процесс bp_order

Аргумент Прием заявки на поставку Треугольное min = 60 moda = 80 max = 120

Аргумент Отгрузка товара Треугольное min = 20 moda = 40 max = 80

Блок подпроцесса Прием товара Дочерний процесс bp_rec_goods

Блок подпроцесса Оприходование товара Дочерний процесс bp_storehous

Аргумент Проверка документов Равномерное (тт/тах) min = 10 max = 60

bp_order Диаграмма деятельности Составление и оформление заказа поставщику

Аргумент Составление отчета о прошлой поставке Равномерное (min/max) min = 10 max = 40

Аргумент Составление отчета о продажах Равномерное (min/max) min = 5 max = 10

sw1 Накопление начальник отдела

sw2 Накопление приемщик товара

goodsL Диаграмма прецедентов Подмножество деловых процессов

Актер Арг. Начальник отдела Число 1

Актер Арг. Бухгалтер Число 1

Прецедент Заказ и получение товара Процесс bp_reception

Прецедент Инвентаризация Процесс bp_account

Прецедент Заключение договора Процесс bp_dogovor

Прецедент Заявка на товар Процесс bp_order

Ассоциация Аргумент Начальник отдела / Заказ и получение товара Число 2

Ассоциация Аргумент Бухгалтер / Инвентаризация Число 1

Ассоциация Аргумент Старший сотрудник / Заказ и получение товара Равномерное (тт/тах) min = 3 max = 5

Расширение (extend) Заключение договора / Заказ и получение товара Вероятность 0.2

Таким образом, на первом этапе моделирования осуществляются формализация изучаемых деловых процессов, сбор исходных статистических данных, их обработка и определение на их основе переменных модели. Далее необходимо представить компоненты модели средствами системы СИМ-ЫМЬ.

На рис.4 приведена экранная форма графического конструктора системы СИМ-ЫМЬ, позволяющего построить ЫМЬ-диаграммы деловых процессов и задать количественные характеристики их элементов.

На основе построенных ЫМЬ-диаграмм и введенных переменных система СИМ-ЫМЬ автоматически генерирует программный код имитационной модели. Затем система проводит компиляцию программного кода, прогон имитационной модели и статистическую обработку полученных выходных данных модели.

Рис.4. Графический конструктор системы СИМ-ЫМЬ Построение диаграммы деятельности

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

Имитационное моделирование деловых процессов в системе СИМ-ЫМЬ позволяет:

- оценивать затраты труда на выполнение деловых процессов по определенным участкам, отделам и исполнителям;

- объективно осуществлять планирование распределения трудовых ресурсов между отделами и участками работы;

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

- оценивать эффективность использования программных комплексов для автоматизации различных задач;

Результаты моделирования

Диаграмма Таблица |

Переменная:

|Хт1п Хтак Частота Вероятность Накопленная

1118 2348 84 8.084 0.034

2348 3578 163 8.163 0.247

3578 4088 171 8.171 0.410

4808 6048 141 8.141 0.558

6048 7278 131 8.131 0.680

7278 8581 113 8.113 0.803

8501 8731 65 8.065 8.868

8731 10862 52 8.052 8.820

10ЭВ2 12192 44 0.044 0 9Б4

12192 13423 27 0.027 0.991

13423 14653 8 0.009 1.000

Сохранить И Закрыть

Рис.5. Результаты имитационного моделирования в системе СИМ-УМЬ

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

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

- выявлять наиболее трудоемкие функциональные операции и группы функциональных операций;

- проводить реинжиниринг деловых процессов организации.

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

1. Хубаев Г.Н. Система автоматизированного синтеза имитационных моделей на основе языка UML «СИМ-UML»: свидетельство о гос. регистр. программы для ЭВМ / Г.Н. Хубаев, С.М. Щербаков, Ю.А. Рванцов. - №2009610414. - М.: РОСПАТЕНТ, 2009.

2. Емельянов А.А. Имитационное моделирование в управлении рисками / А.А. Емельянов. - СПб.: СПбГИЭА, 2000. - 376 с.

3. Репин В.В. Процессный подход к управлению. Моделирование бизнес-процессов / В.В. Репин, В.Г. Елиферов. - М.: Стандарты и качество, 2006. - 408 с.

4. Хубаев Г.Н. Автоматизированный синтез имитационных моделей деловых процессов / Г.Н. Хубаев, С.Н. Широбокова, С.М. Щербаков // Изв. вузов. Сев.-Кавк. регион. Техн. науки. -2008. - №4. - С.73-79.

5. Саламатова М.А. Моделирование деловых процессов в системе СИМ-UML (на примере торговой организации) / М.А. Саламатова, С.М. Щербаков // Системное управление. - 2009. - Вып.1(5). [Электрон. ресурс]. - Режим доступа: http://sisupr.mrsu.ru/2009-1/pdf/19_salamatova. pdf.

Материал поступил в редакцию 24.06.2011. References

1. Xubaev G.N. Sistema avtomatizirovannogo sinteza imitacionny'x modelej na osnove yazy"ka UML «SIM-UML»: svidetePstvo o gos. registr. programmy" dlya E"VM / G.N. Xubaev, S.M. Shherbakov, Yu.A. Rvanczov. - #2009610414. - M.: ROSPATENT, 2009. - In Russian.

2. EmePyanov A.A. Imitacionnoe modelirovanie v upravlenii riskami / A.A. EmePyanov. - SPb.: SPbGIE"A, 2000. - 376 s. - In Russian.

3. Repin V.V. Processny'j podxod k upravleniyu. Modelirovanie biznes-processov / V.V. Repin, V.G. Eliferov. - M.: Standarty' i kachestvo, 2006. - 408 s. - In Russian.

4. Xubaev G.N. Avtomatizirovanny'j sintez imitacionny'x modelej delovy'x processov / G.N. Xubaev, S.N. Shirobokova, S.M. Shherbakov // Izv. vuzov. Sev.-Kavk. region. Texn. nauki. - 2008. - #4. - S.73-79. - In Russian.

5. Salamatova M.A. Modelirovanie delovy'x processov v sisteme SIM-UML (na primere torgovoj organizacii) / M.A. Salamatova, S.M. Shherbakov // Sistemnoe upravlenie. - 2009. - VyNp.1(5). [E'lektron. resurs]. - Rezhim dostupa: http://sisupr.mrsu.ru/2009-1/pdf/19_salamatova.pdf. - In Russian.

VISUAL MODELLING AND SIMULATION INTEGRATION TOOLS

G.N. KHUBAYEV, S.M. SHCHERBAKOV, Y.A. RVANTSOV

The information system that realizes the integration concept of the visual modelling and simulation is considered. Keywords: business process, simulation, information system, mode, function.