Глава
A State-based Refinement Technique for Event-B
В книге
В статье отмечаются некоторые свойства ядер и коядер в категории аугментированных стереотипных алгебр, полезные в теориях двойственности, построенных на понятии оболочки: 1) стереотипные алгебры с аугментацией обладают ядром и коядром, 2) коядро сохраняется при переходе к групповым стереотипным алгебрам, и 3) понятие коядра позволяет доказать, что непрерывная оболочка $\Env{\mathcal C}^\star(Z\cdot K)$ групповой алгебры компактной надстройки абелевой группы является инволютивной алгеброй Хопфа в категории стереотипных пространств $(\Ste,\odot)$.
В работе обсуждаются вопросы создания формальной модели предметной области дорожного картирования на основе анализа лучших практик в данной области. Создание такой модели позволит обобщить опыт построения технологических дорожных карт и обеспечит основу для разработки средств автоматизации формирования и использования дорожных карт. Разработана система онтологий, специфицирующих ключевые информационные объекты сферы дорожного картирования, а также процессные модели лучших практик построения дорожных карт и зон их применения (динамическая составляющая модели).
Process mining is a new technology, that provides us a variety of methods to discover, monitor and improve real processes by extracting knowledge from event logs. The two most prominent process mining tasks are process discovery and conformance checking. Conformance checking deals with diagnosing and quantifying discrepancies between observed behavior, represented in event logs, and modeled behavior. We present a method for checking conformance of abstract models and low-level event logs.
Статьи данного сборника написаны на основе докладов, сделанных в 2013 г. на социологическом факультете МГУ им. М.В. Ломоносова на заседании XVI Междисциплинарного ежегодного научного семинара «Математическое моделирование социальных процессов» им. Героя Социалистического труда академика А.А. Самарского.
Издание предназначено для научных сотрудников, преподавателей, учащихся вузов и научных учреждений РАН, интересующихся проблемами разработки и внедрения методологии математического моделирования для исследования социальных процессов
С развитием информационных систем (ИС) стремительно возросли объемы данных, которыми они оперируют.
Это касается как данных, вводимых в систему различными путями, так и данных, получаемых в результате некоторой обработки, то есть выводимых этой системой на различные виды носителей информации. Из последнего типа данных можно выделить целый специальный подкласс, к которому относятся так называемые логи данных.
Количество информации, записываемой в лог в течение фиксированного интервала времени, может быть весьма существенным, делая практически невозможным ручной анализ такого лога пользователем, что сталкивает нас с так называемой проблемой "больших данных" (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.
Наконец, приводится рассмотрение некоторых кейсов, включающих реализацию предметно-зависимых экспериментов, описанных на разрабатываемом языке.