-
Notifications
You must be signed in to change notification settings - Fork 10
Creating event logs
MINERful can be used also to create event logs that comply with a given declarative workflow specification. There are two ways to do that: either via command line, or using MINERful as a Java package to be integrated in your software project.
Suppose you have a declarative process specification as follows:
{ name: "Scientific paper evaluation process",
constraints: [
{template: "respondedexistence", parameters: [["Submit abstract"],["Write new paper"]]},
{template: "response", parameters: [["Submit paper"],["Send confirmation email"]]},
{template: "succession", parameters: [["Submit paper"],["Review paper"]]},
{template: "precedence", parameters: [["Review paper"],["Accept paper"]]},
{template: "notsuccession", parameters: [["Reject paper"],["Submit paper"]]},
{template: "notcoexistence", parameters: [["Accept paper"],["Reject paper"]]}
] }
Let us assume this file is saved in /home/claudio/Desktop/exampleprocess.json
.
To generate an event log consisting of 2000 traces, the length of whose traces is between 2 and 24 tasks, and store it in XES format in /home/claudio/Desktop/examplelog.xes
, run the following command
run-MINERfulEventLogMaker.sh --input-model '/home/claudio/Desktop/exampleprocess.json' --input-model-encoding json --size 2000 --minlen 2 --maxlen 24 --out-enc xes --out-log '/home/claudio/Desktop/examplelog.xes'
The same result can be achieved with a short hand notation for passing parameters:
run-MINERfulEventLogMaker.sh --iMF '/home/claudio/Desktop/exampleprocess.json' --iME json -L 2000 --m 2 --M 24 --oLE xes --oLF '/home/claudio/Desktop/examplelog.xes'
As usual, to have an overview of the parameters, their meaning and their default, you can run:
run-MINERfulEventLogMaker.sh -h
Indeed one can use other formats for the input process model (for instance, the native MINERful XML format, just out of a previous mining task) or the output log (for instance, the MXML old process mining input format). Because the event log is for all means and purposes a full-fledged XES event log, you can run the discovery algorithm of MINERful to see what model comes out. This turns out to be very useful for testing purposes:
run-MINERful.sh -iLF '/home/claudio/Desktop/examplelog.xes'
- logmaking.FromDeclareMapToLog demonstrates how to generate XES logs from an existing Declare map XML file. It is worth having a look at it to see how to convert process models from the Declare Maps Miner format, for those who used that tool in ProM.
- logmaking.FromJsonProcessModelToLog demonstrates how to generate XES logs starting with the definitions of constraints specified with JSON objects.
- simplification.MinerFulSimplificationInvokerOnDeclareMapFile demonstrates how to load a Declare Map file as a process model, then run the simplification engine of MINERful to remove the redundant constraints.
For more information on how the log generator works, or how it has been used, feel free to refer to the following publications:
-
Simulation of declarative models:
Claudio Di Ciccio, Mario Luca Bernardi, Marta Cimitile, Fabrizio Maria Maggi: Generating Event Logs Through the Simulation of Declare Models. EOMAS@CAiSE 2015: 20-36
-
Testing the sensitivity of constraints to noise:
Claudio Di Ciccio, Massimo Mecella, Jan Mendling: The Effect of Noise on Mined Declarative Constraints. SIMPDA 2015: 1-24