УДК 004.94
О МЕТОДОЛОГИИ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ БИЗНЕС-ПРОЦЕССОВ НА ОСНОВЕ АГЕНТНОГО И ДИСКРЕТНО-СОБЫТИЙНОГО ПОДХОДОВ
© 2016 Е. А. Бабкин1, Е. В. Копица2
профессор кафедры программного обеспечения и администрирования информационных систем, канд. техн. наук, доцент e-mail: [email protected] 2аспирант кафедры программного обеспечения и администрирования
информационных систем e-mail: kopitsa. egor@gmail. com
Курский государственный университет
В статье рассматривается новый подход к имитационному моделированию бизнес-процессов, основанный на комбинировании дискретно-событийной и агентной методологий. В рамках рассматриваемого подхода ключевая роль отдается заявкам, обслуживаемым системой. На основе механизмов обслуживания заявок конструируется набор алгоритмов поведения системы и частные алгоритмы функционирования агентов. Механизм функционирования агентов рассматривается как объединение поведения, полученного на основе механизмов обслуживания заявок и персональных алгоритмов поведения.
Ключевые слова: имитационное моделирование, дискретно-событийное моделирование, агентное моделирование.
Ранее [Бабкин, Копица 2015] нами была обоснована необходимость и актуальность применения гибридных методологий имитационного моделирования. На сегодняшний день существует три основных подхода описания имитационных моделей: дискретно-событийная и агентная методологии, а также системная динамика. Каждый подход обладает своими особенностями и предназначен для моделирования конкретной предметной области.
Дискретно-событийное моделирование предназначено для моделирования систем, поведение которых возможно описать как некоторую последовательность действий, следующих друг за другом.
При применении агентной методологии сущности (объекты) моделируемой системы рассматриваются как агенты - некоторые атомарные сущности, обладающие активностью, автономным поведением, аппаратом принятия решений, а также способностями к взаимодействию с окружающей средой и с другими агентами [Salamon 2011]. При агентном подходе к моделированию общий алгоритм поведения системы неизвестен, он является следствием взаимодействия агентов между собой и с окружающей их средой, называемой агентной.
Системная динамика изучает поведение во времени сложных систем в зависимости от структуры элементов системы и взаимодействий между ними. Наибольшим потенциалом на сегодняшний день обладает направление, специализирующееся на формировании и применении гибридных нотаций моделирования бизнес-процессов. Так, Д.Ю. Каталевский рассматривается вопрос применения гибридной методологии на основе агентного моделирования и системной динамики, Fernando, Szimanski [2013] - вопрос возможности объединения агентного и дискретно-событийного подходов. В работе Борщёва предложен механизм
транслирования существующих дискретно-событийных моделей и моделей системной динамики в агентные.
При классическом подходе к дискретно-событийному моделированию бизнес-процессов, например применяемом в нотации BPMN, предполагается, что системой решается ряд задач, каждой из которых соответствует процесс и алгоритм решения. Таким образом, поведение системы описывается совокупностью алгоритмов решения задач, которые взаимодействуют через общие ресурсы и исполнителей (также рассматриваемых как ресурс определенного вида) и составляют общий алгоритм поведения системы. При этом процессы отображаются при помощи дорожек, привязанных к конкретным объектам, а не к обобщённым типам, следовательно, нет возможности отображения в качестве исполнителя группы лиц, обладающей сложным поведением. Например, при моделировании процесса обслуживания клиента в ресторане в качестве действующего лица может быть представлен официант. При этом в рамках системы не будут рассмотрены или будут вынесены в общий алгоритм поведения (тем самым усложняя его) индивидуальные особенности действующего лица, такие как усталость, мотивация, наличие трудностей во взаимоотношениях в коллективе и др. Также при наличии в ресторане нескольких официантов не будут рассмотрено их взаимодействие, влияющее на эффективность обслуживания. Решением обозначенных проблем может быть применение комбинированной методологии, объединяющей основные преимущества дискретно-событийного и агентного подходов. Ключевой особенностью данного решения является объединение в рамках одной модели алгоритма процесса решения задачи, отображаемого в виде диаграммы BPMN, и описания алгоритма поведения агента.
При этом подходящую модель предметной области позволит получить описание системы как механизма обслуживания заявок. В рамках данной работы под заявкой подразумевается внешнее или внутреннее требование, поступающее в систему или генерируемое частью системы, удовлетворение которого является целью существования системы или приближает систему к реализации цели своего существования. При этом целью существования бизнес-систем является удовлетворение заявок, приносящих непосредственную или опосредованную прибыль. Основным внешним генератором заявок для системы выступает клиент. Применение данного подхода позволит корректно отобразить всех задействованных в процессе обслуживания лиц и их взаимодействия, а также наглядно проследить процесс движения заявки внутри системы.
Таким образом, целью данной работы является формирование гибридной методологии имитационного моделирования бизнес-процессов на основе агентного и дискретно-событийного подходов, ключевыми особенностями которой являются:
• применение агентного и дискретно-событийного подхода в рамках одной модели;
• представление бизнес-процессов как механизмов обслуживания заявок;
• использование (в качестве базовой) распространенной нотации моделирования бизнес-процессов - BPMN;
• обобщение алгоритмов поведения действующих лиц.
Имитационная модель разрабатываемого подхода может быть представлена путем модификации модели предложенной Е.А. Бабкиным и С.А. Никулиным [2013]:
M = <O, Ag, F, S>, где O = {О1} - множество типов заявок 0} на обслуживание;
Ag - множество агентов системы;
F - множество процессов, выполняемых системой;
S - множество ресурсов, принадлежащих системе.
Агент, присутствующий в системе, представлен в виде:
Ад{ = < Ви А1 >,
где 5г- - алгоритм поведения агента; Д- - множество атрибутов агента.
Основная задача системы - обслуживание заявок, отличающихся параметрами:
0] =< Агг] >,
где - время поступления заявки в систему;
АЬг]- множество атрибутов параметров заявки.
Атрибуты заявки определяют процесс её обслуживания. Процесс обслуживания, выполняемый системой, объединяет агентов, а точнее, определённый набор выполняемых ими действий в последовательный процесс:
^ = < Р;, Ад!, Ц, 5; >,
где Ру - упорядоченная совокупность экземпляров заявок на обслуживание;
Ад.- множество агентов, задействованных в процессе обслуживания заявки;
- структура процессов обслуживания заявки;
- набор ресурсов, необходимый для выполнения процесса обслуживания заявки. Структура процессов обслуживания заявки может быть задана:
Ц = < А}, С} >,
где А] - набор действий процесса обслуживания;
С- связи между действиями процесса обслуживания.
В качестве агента может выступать как одиночный агент, так и их коалиция, рассматриваемая на текущем уровне абстракции как одиночный агент.
В качестве примера рассмотрим процесс обслуживания посетителя в ресторане. Клиент приходит в ресторан с целью поужинать. На входе клиента должен встретить официант и предложить ему столик. Если все столики заняты, то клиент ожидает свободного столика или покидает заведение. Когда клиенту предоставлен столик, он совершает заказ, а официант передает его на кухню. После приготовления заказа официант подает его клиенту. Окончив ужин, клиент запрашивает счет, оплачивает его и покидает заведение. Официант подготавливает столик для следующего клиента.
Диаграмма обслуживания заявки клиента в нотации ВРМК представлена на рисунке 1.
Рис. 1. Процесс обслуживания клиента в ресторане
Другим видом заявок, поступающим в систему, могут быть заявки на бронирование столика. Клиент по телефону или лично бронирует столик в ресторане на определенное время; если места есть, то столик закрепляется за клиентом, иначе происходит отказ в обслуживании. Для данного примера будем рассматривать ситуацию, в которой клиент не составляет заказ во время бронирования. Диаграмма обслуживания заявки клиента на бронирование представлена на рисунке 2.
Рис. 2. Процесс обслуживания заявки на бронирование столика
В рассматриваемом подходе каждому процессу Fj соответствует определённый пул дорожек Lj, представляющий структуру процесса обслуживания заявки определенного типа 0]. Каждая дорожка соответствует агенту Ад. и представляет часть
его алгоритма поведения Вj при обслуживания экземпляра заявки типа (У.
В рамках предлагаемой методологии локальные алгоритмы обслуживания заявок при выполнении действий агрегируются в общие алгоритмы поведения агентов.
Общие алгоритмы поведения агентов могут быть заданы несколькими способами:
• параметрически;
• в виде модели системы массового обслуживания;
• при помощи отдельного алгоритма поведения, например в событийной форме. При параметрическом задании механизма поведения агентов устанавливаются
определенный набор параметров, таких как количество действующих лиц, временные характеристики выполняемых ими действий и их периодичность, необходимые для
выполнения действия ресурсы и их количество. Данный способ задания поведения системы в настоящее время реализуется в большинстве средств имитационного моделирования.
Если алгоритм поведения агента задается при помощи модели массового обслуживания, то может быть описано специфичное поведение различных типов объектов, например, расширить приведенную модель дополнительной должностью -старшего официанта, прерогативой которого будет обслуживание заявок по бронированию столиков, в свободное от выполнения индивидуальных обязанностей время он выполняет обязанности рядового официанта. На рисунке 3 приведены СМО рассматриваемой системы до (а) и после (б) введения новой должности.
Рис. 3. Представление модели поведения агента в виде СМО
Введение данного агента приводит к необходимости применения некоторого аналога механизма наследования из объектно-ориентированной парадигмы программирования, позволяющей отобразить принадлежность обеих должностей к одному классу агентов, но при этом расширить одну из них дополнительным поведением, а также избежать дублирования созданной модели.
Использование отдельного алгоритма позволит специфицировать поведение агентов различными способами, например при помощи нотации ВРМК, событийных графов [Бабкин 2005] или с использованием аппаратов динамической логики и логики альтернативного времени [Бугайченко 2006]. Описание поведения агентов при помощи отдельного алгоритма поведения предоставляет широкий спектр возможностей моделирования поведения каждого агента, их взаимодействия между собой и с внешней средой.
Рассмотренный комбинированный подход моделирования бизнес-процессов получен в результате синтеза дискретно-событийной и агентной методологий, в рамках которого агент рассматривается как действующие лицо или группа лиц, способное использовать ресурсы, обслуживать заявки, свободно взаимодействовать между собой и с внешней средой. Ключевыми преимуществами данного подхода являются:
• применение в качестве базовой модификации широко известной нотации, что позволит снизить требования к квалификации пользователей;
• возможность описания как общего алгоритма работы системы, так и индивидуального поведения действующих лиц;
• возможность частичного импорта существующих моделей.
К недостаткам данного подхода можно отнести:
• увеличение сложности моделирования;
• повышение требований к квалификации пользователя.
Дальнейшее развитие данного подхода представляется в формировании графической нотации описания индивидуальных и коллективных алгоритмов поведения агентов, разработке механизмов валидации модели и средств имитационного моделирования на ее основе.
Библиографический список
Бабкин Е. А. Событийные модели дискретных систем / Курск. гос. ун-т. Деп. в ВИНИТИ 14.01.05, № 30, 2005. 18 с.
Бабкин Е. А., Копица Е. В. Сравнительный анализ графических нотаций описания бизнес-процессов // Юбилейный сборник научных трудов, приуроченный к 70-летию факультета физики, математики и информатики «Актуальные исследования в области точных наук и их изучения в средних и высших учебных заведениях» / Курск. гос. ун-т. Курск, 2015. С. 107-111.
Бабкин Е. А., Никулин С. А. Об имитационном моделировании бизнес-процессов средствами UML // Информационные системы: Теория и практика: сб. науч. работ. Вып. 3 / редкол.: Е.А. Бабкин, В. А. Кудинов, И.В. Селиванова; отв. ред. Е.А. Бабкин; фак. физии, математики и информатики Курск.гос. ун-та. Курск, 2013. С. 74- 82.
Борщёв А. От системной динамики и традиционного ИМ к практическим агентным моделям: причины, технология, инструменты. URL: www.gpss.ru (дата обращения: 21.01.2015).
Бугайченко Д. Ю. Математическая модель и спецификация интеллектуальных агентных систем // Системное программирование. 2006. № 2. С. 94-115.
Каталевский Д.Ю. Системная динамика и агентное моделирование: необходимость комбинированного подхода / Н. Новгород. URL: www.sysdynamics.ru/system/files/5/original/Katalevsky_article_agents_SD.pdf (дата обращения: 21.01.2016).
Fernando Szimanski, Celia G. Ralha, Gerd Wagner, Diogo R. Ferreira, Improving Business Process Models with Agent-based Simulation and Process Mining, BPMDS'13 Working Conference, LNBIP 147, Springer. 2013. P. 124-138.
Salamon T. Design of agent-based models, Czech Republic, ISBN 978-80-904661-1-1. 2011. 209 p.