Глава
Process Mining in the Large: A Tutorial
В книге
BPM 2013 was the 11th conference in a series that provides a prestigious forum for researchers and practitioners in the field of business process management (BPM). The conference was organized by Tsinghua University, China, and took place during August 26–30, 2013, in Beijing, China. Compared to previous editions of BPM, this year we noted a lower focus by authors on topics like process modeling, while we also observed a considerable growth of submissions regarding areas like process mining, conformance/compliance checking, and process model matching. The integrated consideration of processes and data remains popular, and novel viewpoints focus, among others, on data completeness in business processes, the modeling and runtime support of event streaming in business processes, and business process architectures.
Извлечение процессов (process mining) — это новое направление в области моделирования и анализа процессов, в котором важную роль играет использование информации из журналов (логов) событий, хранящих историю поведения системы. Методы и подходы, используемые при извлечении процессов, часто опираются на различные эвристики, и эксперименты с большими логами событий важны для обоснования и сравнения разрабатываемых методов и алгоритмов. Такие эксперименты весьма трудоемки, поэтому их автоматизация является актуальной задачей в области извлечения процессов. В данной работе представлен язык DPMine, разработанный специально для описания и проведения экспериментов по извлечению и анализу моделей процессов. Дается описание основных концепций языка, а также принципов и механизмов его расширения. Рассматриваются вопросы интеграции языка в инструмент моделирования VTMine в виде динамически загружаемых компонентов. Приводится пример эксперимента по построению нечеткой модели процесса по логу данных, хранящемуся в виде нормализованной базы данных. \end{abstract}
This book constitutes the proceedings of the 37th International Conference on Application and Theory of Petri Nets and Concurrency, PETRI NETS 2016, held in Toruń, Poland, in June 2016. Petri Nets 2016 was co-located with the Application of Concurrency to System Design Conference, ACSD 2016. The 16 papers including 3 tool papers with 4 invited talks presented together in this volume were carefully reviewed and selected from 42 submissions. Papers presenting original research on application or theory of Petri nets, as well as contributions addressing topics relevant to the general field of distributed and concurrent systems are presented within this volume.
С развитием информационных систем (ИС) стремительно возросли объемы данных, которыми они оперируют.
Это касается как данных, вводимых в систему различными путями, так и данных, получаемых в результате некоторой обработки, то есть выводимых этой системой на различные виды носителей информации. Из последнего типа данных можно выделить целый специальный подкласс, к которому относятся так называемые логи данных.
Количество информации, записываемой в лог в течение фиксированного интервала времени, может быть весьма существенным, делая практически невозможным ручной анализ такого лога пользователем, что сталкивает нас с так называемой проблемой "больших данных" (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.
Наконец, приводится рассмотрение некоторых кейсов, включающих реализацию предметно-зависимых экспериментов, описанных на разрабатываемом языке.
В статье выполнен анализ перспектив использования технологии «больших данных» (Big Data) в юриспруденции. Обосновывается позиция, что «большие данные» должны использоваться как для объяснения каких-либо явлений, так и для прогнозирования последствий. Автором описаны проблемы, возникающие при применении Big Data в юридических исследованиях. Указанные проблемы могут иметь технический (доступ к данным, технические возможности, верификация данных) и содержательный характер (интерпретация полученных данных и корреляций). Сделан вывод о необходимости активизации исследований с применением «больших данных» с учетом описанных ограничений.