Глава
Beautiful Workflows: A Matter of Taste?
Workflows can be specified using different languages. Mainstream workflow management systems predominantly use procedural languages having a graphical representation involving AND/XOR splits and joins (e.g., using BPMN). However, there are interesting alternative approaches. For example, case handling approaches are data-driven and allow users to deviate within limits, and declarative languages based on temporal logic (where everything is allowed unless explicitly forbidden). Recently, Rinus Plasmeijer proposed the iTask system (iTasks) based on the viewpoint that workflow modeling is in essence a particular kind of functional programming. This provides advantages in terms of expressiveness, extendibility, and implementation efficiency. On the occasion of his 61st birthday, we compare four workflow paradigms: procedural, case handling, declarative, and functional. For each paradigm we selected a characteristic workflow management system: YAWL (procedural), BPM|one (case handling), Declare (declarative), and iTasks (functional). Each of these systems aims to describe and support business processes in an elegant manner. However, there are significant differences. In this paper, we aim to identify and discuss these differences.
В книге
Рассматриваются подходы, модели и методы моделирования и анализа бизнес-процессов предприятий различных сфер деятельности с использованием инструментальных средств, включая особенности применения методологий IDEF0, IDEF3, DFD, ERM, ARIS, а также аппарата сетей Петри.
Для студентов всех форм, обучающихся по направлениям подготовки высшего образования из укрупненных групп: компьютерные и информационные науки, информатика и вычислительная техника, управление в технических системах, а также экономика и управление, в частности, по направлениям: информационные системы, программная инженерия, прикладная информатика, бизнес- информатика, экономика и менеджмент.
Рекомендуется преподавателям в качестве пособия при проведении занятий со студентами программ бакалавриата, специалитета и магистратуры. Книга может быть полезна всем интересующимся данной темой для самостоятельного ее изучения.
С развитием информационных систем (ИС) стремительно возросли объемы данных, которыми они оперируют.
Это касается как данных, вводимых в систему различными путями, так и данных, получаемых в результате некоторой обработки, то есть выводимых этой системой на различные виды носителей информации. Из последнего типа данных можно выделить целый специальный подкласс, к которому относятся так называемые логи данных.
Количество информации, записываемой в лог в течение фиксированного интервала времени, может быть весьма существенным, делая практически невозможным ручной анализ такого лога пользователем, что сталкивает нас с так называемой проблемой "больших данных" (Big Data).
Отдельный интерес представляют т.н. процессно-ориентированные информационные системы (ПОИС, PAIS), основным понятием которых является процесс. Как и в случае со многими другими ИС, ПОИС могут порождать большие логи, содержащие в себе информацию о взаимодействии процессов во времени.
Исследованием логов ПОИС с целью извлечения знаний о процессах и построения их моделей, исследованием таких моделей занимается дисциплина Process Mining, имеющая тесные связи с извлечением данным (Data Mining), машинным обучением, моделированием и анализом моделей процессов. Основные задачи и цели Process Mining могут быть укрупненно сведены к трем ключевым проблемам: 1) извлечение модели из лога данных (process discovery), 2) проверка соответствия некоторой модели реальным данным (conformance checking) и 3) улучшение и исправление модели в соответствии с учетом изменяющихся данных (enhancement).
К настоящему моменту разработан ряд инструментов для Process Mining. Одним из наиболее распространенных инструментов является ProM — кросс-платформенное приложение с расширяемой плагинами функциональностью.
Плагины ProM выполняют задачи Process Mining с использованием различных алгоритмов, некоторые из них в настоящий момент находятся в процессе постоянного исследования и улучшения, а часть — представляет собой, в основном, историческую ценность. Большое число плагинов выполняет утилитарные и вспомогательные функции: это извлечение данных из различных источников, подготовка (преобразование) данных к формату, подходящему для использования с тем или иным алгоритмом, конвертация различных форматов между собой, визуализация и анимация полученных результатов и др.
Часто для выполнения предметно-ориентированного эксперимента приходится осуществлять последовательный запуск нескольких (иногда десятков) плагинов, каждый из которых выполняет узкую часть общей задачи. Ситуация усложняется, когда подобную последовательность запусков приходится осуществлять снова и снова, изменяя отдельные параметры отдельных плагинов, например с целью поиска оптимальных результатов. Процесс становится исключительно трудоемким в случае проведения широкомасштабных экспериментов (large-scale experiments), вовлекающих множество плагинов и определенную логику для автоматической интерпретации полученных результатов.
В данной работе (докладе) предлагается концепция языка построения моделей извлечения и анализа процессов и описание набора плагинов DPMine/P для инструмента ProM, являющихся механизмом реализации этого языка.
Разрабатываемый язык нацелен на реализацию объединения отдельных этапов эксперимента в единую последовательность, поддержку конструкций циклов и других элементов управления потоками исполнения, обладание прозрачной, но гибкой семантикой.
Рассмотрение языка осуществляется с двух уровней представления: на нижнем уровне находится инструменто-ориентированная объектная модель; на верхнем — собственно язык, базирующийся на XML, а также графическое представление, позволяющее задавать модель процесса в виде набора строительных элементов (блоков). Графическая модель преобразуется в XML-представление, которое компилируется в объектную модель, которая в свою очередь исполняется на базе инструмента Process Mining, в частном случае — ProM.
Реализация основной семантики языка осуществляется через концепцию блоков, портов, коннекторов и схем.
Блок — основной строительный элемент языка, рассматривается как элементарная операция, но необязательно таковой является. Блок, в зависимости от своего типа, реализует одиночную задачу базового инструмента (например путем вызова определенного его плагина), используется для иерархического представления сложных схем (в виде единого блока специального типа "схема"), реализует конструкции управления потоком выполнения, используется как оператор подстановки для передачи какой-то схемы в другую схему в виде параметра (вводя элементы функционального программирования) и др. По выполняемой функции блоки объединяются в иерархию типов.
Порт — объект связи, принадлежащий некоторому блоку, обладающий характеристиками направления (входные, выходные и прокси-порты) и типа данных. Используются для транспортировки объектов заданного типа в блоки и из них.
Коннектор — направленный объект связи, соединяющий два блока через их порты: выходной порт одного блока с входным портом другого.
Схема — множество взаимодействующих блоков, связанных между собой коннекторами. Является основным механизмом реализации абстрагирования, изолирования и иерархии подпроцессов.
На уровне инструмента ProM язык DPMine/P рассматривается как набор плагинов и объектов данных (являющихся входными и выходными для данных плагинов). Основным объектом является (объектная) модель эксперимента DPModel/P. Исполнение модели состоит в исполнении главной схемы этой модели (схемы верхнего уровня) с формированием отчета об исполнении (в т.ч. ошибках и др.) Исполнение модели осуществляется специальным агентом — интерпретатором, реализация которого тесно связана с базовым инструментом и для ProM'а и представляется в виде разрабатываемого плагина — DPMineExecutor.
Исполнение модели включает исполнение входящих в нее в границах главной схемы блоков. Исполнением блока является набор действий, выполняемых интерпретатором по отношению к данному блоку, в зависимости от его типа и набора входных параметров (на входных портах этого блока). Для выполнение блоков некоторой схемы в правильной последовательности, определяемой структурой связи блоков между собой, вводятся такие понятия, как зависимости блока, удовлетворение зависимостей, состояния блоков по принципу удовлетворенных зависимостей, (не)исполненности и др.
В работе рассматриваются примеры схем и последовательности исполнения различных блоков, входящих в их состав.
На верхнесреднем уровне (представления/хранения) модели, схемы и блоки имеют различное XML-представление, определяемое их типом. В работе приводятся примеры XML-описания блоков различных типов (задачи, схемы, циклы, накопители и др.) и библиотек блоков-задач, ориентированных на инструмент ProM.
Наконец, приводится рассмотрение некоторых кейсов, включающих реализацию предметно-зависимых экспериментов, описанных на разрабатываемом языке.
The Public-To-Private (P2P) approach presented at CAiSE in 2001 provides a correctness-by-construction approach to realize interorganizational workflows. A behavioral inheritance notion is used to ensure correctness: organizations can alter their private workflows as long as these remain subclasses of the agreed-upon public workflow. The CAiSE‘01 paper illustrates the strong relationship between business process management and service-orientation. Since 2001, there is a trend from the investigation of individual process orchestrations to interacting processes, i.e., process choreographies. In this paper, we reflect on the original problem statement and discuss related work.
This paper considers an algorithm of automatic workflow optimization that, unlike well-known redesign algorithms for workflows [1, 2], can analyze arbitrary structures containing conditional branches and cycles. This algorithm operates with workflows without structural conflicts and, in the course of operation, uses execution conditions obtained as a result of application of the Boolean verification algorithm (BVA) proposed earlier in [3]. A modified BVA is proposed and its computational complexity is estimated.
In this work we consider modeling of workflow systems with Petri nets. A resource workflow net (RWF-net) is a workflow net, supplied with an additional set of initially marked resource places. Resources can be consumed and/or produced by transitions. We do not constrain neither the intermediate nor final resource markings, hence a net can have an infinite number of different reachable states.
An initially marked RWF-net is called sound if it properly terminates and, moreover, adding any extra initial resource does not violate itsproper termination. An (unmarked) RWF-net is sound if it is sound for some initial resource. In this paper we prove the decidability of both marked and unmarked soundness for a restricted class of RWF-nets with a single unbounded resource place (1-dim RWF-nets). We present an algorithm for computing the minimal sound resource for a given sound 1-dim RWF-net.