Глава
DPMine/C: C++ Library and Graphical Frontend for DPMine Workflow Language
DPMine generic purpose workflow language is rooted in DPMine/P scientific workflow language and a set of plug-ins for ProM which originally were developed for convenient piping of different plug-ins within ProM framework. DPMine/C is a new version of DPMine workflow language and a C++ library. The main language concept was complemented by comprehensive analysis of DPMine/C model execution semantics. This paper also discusses approaches to the block types extension concept relying on development of new block type classes and customization of the model storage subsystem. Finally, we show an approach for implementation of a GUI frontend.
В книге
С развитием информационных систем (ИС) стремительно возросли объемы данных, которыми они оперируют.
Это касается как данных, вводимых в систему различными путями, так и данных, получаемых в результате некоторой обработки, то есть выводимых этой системой на различные виды носителей информации. Из последнего типа данных можно выделить целый специальный подкласс, к которому относятся так называемые логи данных.
Количество информации, записываемой в лог в течение фиксированного интервала времени, может быть весьма существенным, делая практически невозможным ручной анализ такого лога пользователем, что сталкивает нас с так называемой проблемой "больших данных" (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.
Наконец, приводится рассмотрение некоторых кейсов, включающих реализацию предметно-зависимых экспериментов, описанных на разрабатываемом языке.
Труды 7-ого весеннего/летнего коллоквиума молодых исследователей в области программной инженерии (SYRCoSE 2013), 30-31 мая 2013 г. - Казань, Россия.
Сборник содержит статьи, представленные на 7-ом весеннем/летнем коллоквиуме молодых исследователей в области программной инжeнерии (SYRCoSE 2013), проводимом в Казани З0 и 31 мая 2013 г. Отбор статей производился на основе рецензирования материалов программным комитетом. На коллоквиум допускались как полные статьи, так и краткие сообщения, описывающие текущие исследования.
Программа коллоквиума охватывает следующие темы: моделирование компьютерных систем, теcтиpовaниe и верификация программ, параллельные и распределенные системы, информационный поиск и анализ данных, обработка изображений и речи и др.
ISBN 978-5-91474-020-4
To large organizations, business intelligence (BI) promises the capability of collecting and analyzing internal and external data to generate knowledge and value, thus providing decision support at the strategic, tactical, and operational levels. BI is now impacted by the “Big Data” phenomena and the evolution of society and users. In particular, BI applications must cope with additional heterogeneous (often Web-based) sources, e.g., from social networks, blogs, competitors’, suppliers’, or distributors’ data, governmental or NGO-based analysis and papers, or from research publications. In addition, they must be able to provide their results also on mobile devices, taking into account location-based or time-based environmental data. The lectures held at the Third European Business Intelligence Summer School (eBISS), which are presented here in an extended and refined format, cover not only established BI and BPM technologies, but extend into innovative aspects that are important in this new environment and for novel applications, e.g., pattern and process mining, business semantics, Linked Open Data, and large-scale data management and analysis. Combining papers by leading researchers in the field, this volume equips the reader with the state-of-the-art background necessary for creating the future of BI. It also provides the reader with an excellent basis and many pointers for further research in this growing field.
Извлечение процессов (process mining) — это новое направление в области моделирования и анализа процессов, в котором важную роль играет использование информации из журналов (логов) событий, хранящих историю поведения системы. Методы и подходы, используемые при извлечении процессов, часто опираются на различные эвристики, и эксперименты с большими логами событий важны для обоснования и сравнения разрабатываемых методов и алгоритмов. Такие эксперименты весьма трудоемки, поэтому их автоматизация является актуальной задачей в области извлечения процессов. В данной работе представлен язык DPMine, разработанный специально для описания и проведения экспериментов по извлечению и анализу моделей процессов. Дается описание основных концепций языка, а также принципов и механизмов его расширения. Рассматриваются вопросы интеграции языка в инструмент моделирования VTMine в виде динамически загружаемых компонентов. Приводится пример эксперимента по построению нечеткой модели процесса по логу данных, хранящемуся в виде нормализованной базы данных. \end{abstract}