УДК 004.414.23 Артамонов И.В.
Байкальский государственный университет экономики и права
МОДЕЛИРОВАНИЕ НАДЕЖНЫХ В2В-ВЗАИМОДЕЙСТВИЙ С ПОМОЩЬЮ ОКРАШЕННЫХ СЕТЕЙ ПЕТРИ
Аннотация. Статья рассматривает Б2Б-взаимодействие с трех точек зрения: как транзакции,
бизнес-процесса и распределенной программной системы. Описывает расширения сетей Петри, которые могут использоваться для описания такого взаимодействия, и поясняет, почему окрашенные сети Петри являются наиболее подходящим средством моделирования Б2Б-взаимодействий.
Ключевые слова: Б2Б, бизнес-процесс, бизнес-транзакция, сети Петри, workflow, открытые сети Петри, окрашенные сети Петри.
Повышение уровня автоматизации современных предприятий, необходимость их сотрудничества и интеграции, а также высокая динамика рыночной среды предполагает усиление роли т.н. электронного Б2Б-взаимодействия - т.е. взаимодействия между предприятиями на базе обмена электронными документами. Причем в выполнении сложного совместного бизнес-процесса может участвовать большое количество предприятий, схема взаимодействия которых не ограничивается тривиальной последовательной передачей информации «по цепочке», а может состоять из сложных структур, разветвлений, циклов, иерархических включений и т.д. При этом все участники совместного процесса согласованно выполняют общую задачу и гарантируют, что сохранят последствия ее выполнения. Вовлечение большого количества участников может негативно сказываться на общем качестве подобной организации, прежде всего, на ее надежности: каждый новый участник, превнося вероятность соб-
ственного отказа, может увеличивать общий риск отказа всей системы. Для построения устойчивых и надежных электронных взаимоотношений необходимо их предварительное тщательное проектирование и моделирование поведения всех участников при выполнении операций. Но современные средства моделирования бизнес-процессов используются в первую очередь для схематичного представления передачи управления между операциями и обмена информацией о них между специалистами [1] и не предназначены в исходном виде для формального описания и имитационного моделирования процесса. Однако подобный аппарат моделирования может построить с помощью теории сетей Петри, которые позволяют решать задачи моделирования систем различной сложности.
Рассмотрим ряд характерных черт электронного В2В-взаимодействия. Во-первых, с определенной точки зрения можно сказать, что участники взаимодействия вместе составляют распределенную программную систему, выполняющую специфическую задачу. Под распределенной программной системой будем понимать совокупность независимых программных систем, взаимодействующих с целью решения проблем, не решаемых каждой системой индивидуально [2]. Во-вторых, отметим, что каждый участник в результате взаимодействия переходит из одного состояния в другое, причем этот переход согласован с другими участниками и новое состояние может
сохраняться сколь угодно долго. При этом В2В-взаимодействие имеет определенную цель и не может быть завершено, пока эта цель не будет достигнута. Поэтому, ввиду определения из [3] назовем такое взаимодействие «бизнес-транзакцией». В-третьих, бизнес-транзакция инициализируется передачей распределенной системе определенных входных данных и завершается созданием данных выходных, что позволяет рассматривать это взаимодействие как самостоятельный бизнеспроцесс [4].
В [5] показано, что надежность бизнес-транзакции определяется как «набор атрибутов, относящихся к способности бизнес-транзакции выполняться с должным уровнем качества при установленных условиях за установленный период времени». К атрибутам надежности отнесена группа транзакционных атрибутов, включающих атомарность, согласованность, длительность и группа атрибутов стойкости: отказоустойчивость, восстанавливаемость и стабильность.
Как уже отмечалось, существует формализм, способный описывать поведение сложных систем и обладающий преимуществами как достаточно простого графического отображения, так и серьезной математической обоснованности, используемый как в практике проектирования информационных систем ([6], [7], [8], [9]), так и широко применяемый в разработке различных теоретических ас-
пектов их функционирования - сети Петри. Несмотря на то, что эту методологию относят, в первую очередь, к «академическим» языкам, существует подходы к отображению различных «бизнес»-моделей к моделям на языке сетей Петри и наоборот (например, в [10], [11], [12], [13], [14]).
В ([8], [13], [15], [16], [17], [14], [18], [19], [20]) приводятся аргументы, позволяющие
считать сети Петри подходящим средством моделирования информационных и производственных систем:
Возможность представления в модели в естественном виде параллельных процессов, их синхронизацию, причинно-следственную связь событий, проблемы распределения ресурсов, конкуренцию за них и т.д.
Локализация состояния и действий, позволяющее моделировать системы как «сверху-вниз», так наоборот, то есть последовательно уточнять модель системы, разбивать ее на подсистемы, повторно использовать ранее рассмотренные компоненты и пр.
Интепретируемость модели предполагает возможность ассоциировать модель с широким кругом различных значений и связей с моделируемыми объектами внешнего мира.
Графическое представление модели, облегчающее документирование и мониторинг системы, а также обмен информацией о системе между заинтересованными лицами. С помощью сетей Петри возможно передавать сложные требования и спецификации к системе вместо использования неоднозначных текстовых описаний или математических нотаций, сложных для понимания заказчиком. Вместе с наличием компьютерных средств моделирования это делает графическую симуляцию в сетях Петри удобной, и предоставляет разработчикам ИС мощное средство для поддержки процессов разработки сложных систем.
Формальная и точная семантика моделей позволяет проводить строгий анализ, автоматизированную реализацию или генерирование кода для контроля или имитации поведения системы. Как математический инструмент, модели на сетях Петри могут быть описаны набором линейных алгебраических равенств или другими математическими моделями, описывающими поведение системы. Это позволяет проводить формальную проверку свойств, связанных с поведением системы, например, параллельных операций, синхронизации, отсутствия тупиков, взаимных исключений и распределения ресурсов.
Для сетей Петри можно выделить несколько основных направления использования и т.н. расширений:
или «классические» сети
Сети типа «позиция/переход» (Position/Transition nets, PN-сети),
Петри. Они графически представляются в виде двудольного ориентированного мультиграфа [21]. Сеть Петри представляет собой совокупность позиций и переходов, то есть граф обладает двумя типами узлов. Узлы соединены направленными дугами. Соединение между двумя узлами одного типа не допускается.
Workflow-сети (Workflow-nets, WF-сети) [18]. Сеть Петри называется WF-сетью если она имеет отдельную позицию старта, отдельную позицию завершения, а все узлы лежат на некотором пути от старта к финишу. Фишка на позиции старта указывает на новый экземпляр процесса, тогда как фишка на позиции завершения определяет завершение процесса. Все переходы в WF-сети должны содействовать в продвижении некоторого процесса от начального состояния к завершению.
Высокоуровневые сети Петри (High Level Petri Nets, HLP-сети), и их подвид: окрашенные сети Петри (Coloured Petri Nets, CP-сети). Строить модели реальных объектов с помощью классических сетей, как отмечается в [15], достаточно сложно в связи с их «низкоуровневостью». Моделирование масштабных структур с помощью сетей Петри было бы невозможно без концепций и удобства обозначения высокоуровневых моделей.
Окрашенные сети Петри, являясь самыми популярными представителями высокоуровневых сетей, вводят фишки различных «цветов» и возможность иерархического разбиения модели, позволяя, таким образом, моделировать потоки передачи разнородной информации между позициями сети и строить более сложные схемы взаимодействия элементов системы, описывать сложные системы, начиная от распределенных баз данных и коммуникационных сетей, до сетевых протоколов и гибких производственных систем.
Преимущества использования окрашенных сетей Петри для моделирования динамических систем были описаны Куртом Йенсеном в его тематических работах (например, в [15], [22], [23]) :
Окрашенные сети Петри обладают хорошо развитой семантикой, которая однозначно описывает поведение любого экземпляра сети, позволяет разрабатывать симуляторы и использовать формальные методы анализа.
Окрашенные сети Петри, в отличие от других расширений, очень обобщенные и поэтому могут использовать для различные типов систем.
Окрашенные сети Петри могут расширяться анализом временных меток и иерархической структурой, что позволяет им описывать сложные динамические системы.
Окрашенные сети Петри объединяют описание управление и синхронизации системы вместе с описанием манипуляций с данными, что позволяет моделировать систему неотрывно от используемых ею данных.
В отличие от других технологий моделирования сетевых структур, модели на основе окрашенных сетей Петри не претерпевают серьезных изменений при модификации моделируемой системы.
Хорошо разработанный и доказанный математический аппарат окрашенных сетей Петри позволяет использовать широкий набор формальных методов анализа модели.
Под руководством Курта Йенсена было разработано и постоянно улучшается средство моделирования и анализа систем на основе окрашенных сетей Петри - CPN-Tools.
Таким образом, с помощью окрашенных сетей Петри можно моделировать передачу не только управления или данных определенного типа, но описывать сложные комбинации потоков информации между участниками, процессы преобразования и обработки информации, что позволяет более точно моделировать B2B-взаимодействия в их динамике.
Каждый переход такой сети может быть представлен отдельной операцией участника взаимодействия, каждая позиция - текущим состоянием системы и процессом передачи информации в распределенной системе. Формальные условия достижимости, начальных и финальных маркировок позволяют задавать условия согласованного смены состояния системы для бизнес-транзакций, а преобразование входных данных в выходные в процессе работы сети отображают ее в самостоятельный бизнеспроцесс. Поэтому с помощью окрашенных сетей Петри можно не только моделировать B2B-взаимодействие, но и оценивать параметры ее надежности, которые имеют отношения как к транзакционным свойствам, так и качественным характеристикам бизнес-процесса и программной системы, выявленных в [5] .
ЛИТЕРАТУРА
1. Артамонов И. В. Описание бизнес-процессов: вопросы стандартизации. // Прикладная
информатика. — Москва : Market DS, 2011. — 3.
2. Артамонов Иван Васильевич Разработка распределенных сервисно-ориентированных программных средств. — Иркутск : БГУЭП, 2012. — 130 c.
3. Haugen B., Fletcher T. Multi-Party Electronic Business Transactions. [Электронный
ресурс] / Bob Haugen. - Режим доступа:
http://www.enhyper.com/content/multipartybusinesstransactions.pdf (дата обращения 01.12.2012).
4. Репин В. В. Бизнес-процессы компании: построение, анализ, регламентация. — Москва : РИА
"Стандарты и качество", 2007. — 240 c.
5. Артамонов И. В. "Инновационные информационные технологии", II международная научнопрактическая конференция (2013; Москва - Прага). II международная научно-практическая конференция "Инновационные информационные технологии", 22-26 апреля 2013 // Надежность бизнестранзакций в сервис-ориентированной среде. — Москва, 2013.
6. Rosen Mike, Lublinsky Boris, Smith Kevin T., Balcer J. Marc Applied SOA: Service-
Oriented Architecture and Design Strategies. — Wiley Publishing, Inc., 2008. — 662 p.
7. Мишенин А. И. Теория экономических информационных систем. — М. : Финансы и статистика,
2002. — 240 c.
8. Graham Ian Requirements Modelling and Specification for Service Oriented Architecture. —
John Wiley & Sons Ltd, 2008. — 301 p.
9. Hruz B., Zhou M. C. Modeling and Control of Discrete-event Dynamic Systems. — Springer,
2007. — 341 p.
10. Lohmann Niels, Verbeek Eric, Dijkman Remco Petri Net Transformations for Business Processes - A Survey // Transactions on Petri Nets and Other Models of Concurrency II / Jensen Kurt, van der Aalst Wil M.P. — Springer, 2009.
11. van der Aalst Wil M.P. Business process management demystified: A tutorial on models, systems and standards for workflow managment // Lectures on Concurrency and Petri Nets. —
2004. — P. 1-65.
the Integration of UML and Petri Nets in Software Models of Concurrency / Donatelli Susanna, Thiagarajan
Petri Nets and Software Engineering // Lectures on in Petri Nets / Desel Jorg, Reisig Wolfgang, Rozenberg
A Tutorial //
12. Campos J., Merseguer J. On Development // Petri Nets and Other P.S.. — Springer, 2006.
13. Denaro Giovanni, Pezze Mauro
Concurrency and Petri Nets: Advances
Grzegorz. — Springer, 2005.
14. Zurawski Richard, Zhou MengChu Petri Nets and Industrial Applications:
IEEE. Transactions on industrial electronic. — 1994. — V. 41. — P. 567 - 583.
15. Jensen Kurt An Introduction to the Theoretical Aspects of Coloured Petri Nets // A Decade of Concurrency, Lecture Notes in Computer Science / de Bakker J.W. , de Roever W.-P., Rozenberg G.. — Springer-Verlag, 1994. — V. 803.
16. Smith E. Principles of High-Level net Theory // Lectures on Petri Nets I: Basic Models / Reisig Wolfgang, Rozenberg Grzegorz. — Springer, 1998. — V. 1.
17. Silva M., Teruel E., Valette R., Pingaud H. Petri nets and Production Systems //
Lectures on Petri Nets II: Applications / авт. книги Reisig Wolfgang, Rozenberg Grzegorz. — Springer, 1998. — V. 2.
18. van der Aalst W.M.P. The Application of Petri Nets to Workflow Management // Journal of Circuits, Systems and Computers. — 1998. — V. 8. — P. 21-66.
19. van der Aalst W. M. P. Three good reasons for using a petri-net-based workflow
management system // In Proceedings of the International Working Conference on Information and Process Integration in Enterprises. — 1996. — P. 179-201.
20. Massuthe Peter Operating Guidelines for Services: Dissertation. — University Press
Facilities, 2009. — 266 p.
21. Питерсон Дж. Теория сетей Петри и моделирование систем. — М. : Мир, 1984. — 264 p.
22. Jensen Kurt Coloured Petri Nets modeling and validation of concurrent systems. —
Springer, 2009. — 384 p.
23. Jensen Kurt, Kristensen Lars Michael, Wells Lisa Coloured Petri Nets and CPN Tools modelling and validation of concurrent systems // International Journal on Software Tools Technology Transfer (STTT). — 2007. — V. 9, 3. — P. 213 - 254.
24. van der Aalst W.M.P. Verification of Workflow Nets // Proceedings of the 18th International Conference on Application and Theory of Petri Nets. — 1997. — P. 407 - 426.
25. van de Aalst Wil M.P. Soundness of Workflow Nets with Reset Arcs // Transactions on Petri Nets and Other Models of Concurrency III / Jensen Kurt, Billington Jonathan, Koutny Maciej. — Springer, 2009.
for
for