Replay a Log on Petri Net for Conforma Confo rmanc nce e Ana Analy lysis sis PlugPlug- in PNetReplayer PNetReplayer Package
Arya Adriansyah Last updated on 18 April 2012 (draft version)
Contents 1.
Introduction ...................................................................................................................... 2
2.
Requirements to use it from Graphical User Interface (!) ............................................. 2
3.
Known Issue ...................................................................................................................... 2
4.
Example use use of the plugplug- in ............................................................................................. 2
5.
Result ................................................................................................................................. 6
6.
Creating Creating a Final Final Marking of a Petri/ Petri/ Inhibitor/ Reset Reset// ResetInh ResetInhibitor ibitor Net ..................... 7
7.
Configure Visibility of Transitions Transitions in a Petri/ Petri/ Inhibitor/ Reset/ Reset/ Reset ResetInhibitor Inhibitor Net ...... 9
8.
PlugPlug- in Details Details .................................................................................................................10 Classes .................................................................................................................................10 Dependencies Dependencies .................................... ...................................................................................10 Using it without GUI ...............................................................................................................10
9.
Reference ..........................................................................................................................11
1
1. Introduction This plug- in accept a Petri Net/ Inhibitor/ Reset/ ResetInhibitor Net and an event log to create alignments between each trace in the log and the net. As a side- product, fitness value between each trace and the net is calculated. Note that log may not be complete, i.e. it may be retrieved when process executions are not finished yet.
2. Requirements to use it from Graphical User Interface (!) 1. The net: a. Has an initial marking, and b. Has a final marking that is reachable from the initial marking and connected through an EvCl ass LogPet r i net Connect i on object1. Without final marking, it is assumed that every deadlock state in the net is a final marking. 2. The log has more than 0 (zero) number of traces
3. Known Issue ProM 6 “PNetReplayer” package is derived from the obsolete- and- will- be- removed “Replayer” package. Existence of both packages within one ProM installation may result in inconsistency problem. Hence, please remove the “Replayer” package using the ProM Package Manager and ensure that the “Replayer” package has been removed from .ProM folder (located in C:\ Users\ \ .ProM\ packages in Windows OS) before you use this plug- in.
4. Example use of the plug- in The plug- in requires a Petri Net/ Inhibitor/ Reset/ ResetInhibitor Net and an event log. Therefore, we first need to load both of them (see figure below). Click “Start”. To set up invisible transitions and final marking of the net, see Section 6 and Section 7.
1
See Section 6 for instructions on how to create a final marking for a Petri net.
2
If the net and log is not mapped before (i.e. no EvClassLogPetrinetConnection object that connects the net and the log), a mapping panel will be shown. Choose an appropriate classifier and map transitions in the left side to event class in the right side. Apart of standard classifiers, the plugin also identified possible classifiers from the provided log. Click “Finish” when you’re done.
3
Choose a replay algorithm. By default, the fastest algorithm will be chosen for you. Only if you really know what you’re up to, change the default settings of the algorithm or use other algorithms provided in the “Advanced” tab. A short explanation of any selected algorithm is also provided in the “Advanced” tab.
Assuming that you choose the default algorithm (A* Cost- based Fitness Express variants to measure fitness), you can configure the cost of violation and the limit of calculation that you allow to come up with reliable results (see below).
4
Setting the maximum explored states to maximum (unlimited) means that you allow the algorithm to explore up to (2 31 – 1) states to find an optimal alignment for each trace in the log. This may cause OutOfMemory exception in most personal computer after a long computation time (may take hours!) if the net and trace is really complex. The limit of 200,000 states is typically good enough to deal with real- life logs and models with moderate complexity, using the A* Cost- based Fitness Express with ILP algorithm. Click “Finish” when you’re done.
A progress bar should be shown as follows.
5
5. Result Result of the plug- in is a PNRepResul t object that contains all alignments between the log and net, visualized by projecting it to the original traces as shown below.
Global Statistics Alignment-related statistics (including fitness values
Trace statistics Augmented traces
There are other visualizations of the same object in the ProM 6 PNet Al i gnment Anal ys i s package, such as:
1. 2.
Projection of the alignments onto the original net Trace alignment of all alignments
6
6. Creating a Final Marking of a Petri/Inhibitor/Reset/ResetInhibitor Net Assumption: Places that belong to the final marking is labeled Load the net, and search for “Create Final Marking” plugin (see below)
Click “Start”, then construct a bag of places from the provided list of places as Candidate Final Marking. Click “Finish” when you’re done.
7
The constructed final marking of the net should be visualized. Below is an example of a final marking of a net (Bouw4.pnml) that contains only one place p23 .
8
7. Configure Visibility of Transitions in a Petri/Inhibitor/Reset/ResetInhibitor Net Assumption: Transitions are labeled Load the net, and search for “Configure Visibility of Transitions” plugin (see below)
Change the visibility of transitions to “Not invisible” when appropriate. Click “Continue” when you’re done.
9
The original net should be shown. Invisible transitions are colored black (see for example the black colored transitions below)
8. Plug- in Details Classes The main class of “Replay a Log on Petri Net for Conformance Analysis” plug- in is the PNLogRepl ayer . j ava that resides inside the or g. pr ocess mi ni ng. pl ugi ns. pet r i net . r epl ayer package
Dependencies The plug- in does not have any dependencies to any other plugins.
Using it without GUI Inside the PNetReplayer ProM package, there is a test file named “PNRepl ayer Test Wi t hout GUI . j ava” under package or g. pr ocessmi ni ng. t est s. newpackage that replays a log on a Petri net without using any graphical user interface. Use similar approach as the one used in the test file, in particular the following line (line 119- 124): // instantiate replayer PNLogReplayer replayer =
new
PNLogReplayer();
// select algorithm without ILP PetrinetReplayerWithoutILP replWithoutILP =
10
new
PetrinetReplayerWithoutILP();
PNRepResult pnRepResult = replayer.replayLog(null, net, log, mapping, replWithoutILP, parameter);
9. Reference [1] van der Aalst, W.M.P., Adriansyah, A., & Dongen, B.F. van. Replaying History on Process Models for Conformance Checking and Performance Analysis. WIREs Data Mining Knowl Discov 2012, 2: 182- 192. doi: 10.1002/ widm.1045
11