Глава
Generation of a Set of Event Logs with Noise
Process mining is a relatively new research area aiming to extract process models from event logs of real systems. A lot of new approaches and algorithms are developed in this field. Researches and developers usually have a need to test end evaluate the newly constructed algorithms. In this paper we propose a new approach for generation of event logs. It serves to facilitate the process of evaluation and testing. Presented approach allows to generate event logs, and sets of event logs to support a large scale testing in a more automated manner. Another feature of the approach is a generation of event logs with noise. This feature allows to simulate real-life system execution with inefficiencies, drawbacks, and crashes. In this work we also consider other existing approaches. Their forces and weaknesses are shown. The approach presented as well as the corresponding tool can be widely used in the research and development process.
В книге
С развитием информационных систем (ИС) стремительно возросли объемы данных, которыми они оперируют.
Это касается как данных, вводимых в систему различными путями, так и данных, получаемых в результате некоторой обработки, то есть выводимых этой системой на различные виды носителей информации. Из последнего типа данных можно выделить целый специальный подкласс, к которому относятся так называемые логи данных.
Количество информации, записываемой в лог в течение фиксированного интервала времени, может быть весьма существенным, делая практически невозможным ручной анализ такого лога пользователем, что сталкивает нас с так называемой проблемой "больших данных" (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.
Наконец, приводится рассмотрение некоторых кейсов, включающих реализацию предметно-зависимых экспериментов, описанных на разрабатываемом языке.
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.
These are the proceedings of the International Workshop on Petri Nets and Software Engineering (PNSE’13) and the International Workshop on Modeling and Business Environments (ModBE’13) in Milano, Italy, June 24–25, 2013. These are co-located events of Petri Nets 2013, the 34th international conference on Applications and Theory of Petri Nets and Concurrency.
PNSE'13 presents the use of Petri Nets (P/T-Nets, Coloured Petri Nets and extensions) in the formal process of software engineering, covering modelling, validation, and verification, as well as their application and tools supporting the disciplines mentioned above.
ModBE’13 provides a forum for researchers from interested communities to investigate, experience, compare, contrast and discuss solutions for modeling in business environments with Petri nets and other modeling techniques.
This volume constitutes the proceedings of the 34th International Conference on Application and Theory of Petri Nets and Concurrency (PETRI NETS 2013). The Petri Net conferences serve as annual meeting places to discuss the progress in the field of Petri nets and related models of concurrency. They provide a forum for researchers to present and discuss both applications and theoretical developments in this area. Novel tools and substantial enhancements to existing tools can also be presented. The satellite program of the conference comprised three workshops, a Petri net course including basic and advanced tutorials and an additional tutorial on the work of Carl Adam Petri and Anatol W. Holt.