Sie sind auf Seite 1von 11

1

Replay a Log on Petri Net for


Conformance Analysis Plug- in
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 of the plug- in ............................................................................................. 2
5. Result ................................................................................................................................. 6
6. Creating a Final Marking of a Petri/ Inhibitor/ Reset/ ResetInhibitor Net ..................... 7
7. Configure Visibility of Transitions in a Petri/ Inhibitor/ Reset/ ResetInhibitor Net...... 9
8. Plug- in Details .................................................................................................................10
Classes .................................................................................................................................10
Dependencies .......................................................................................................................10
Using it without GUI ...............................................................................................................10
9. Reference ..........................................................................................................................11





2


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 assLogPet r i net Connect i on object
1
. 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\ <user name>\ .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.


3



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 youre done.




4


Choose a replay algorithm. By default, the fastest algorithm will be chosen for you.
Only if you really know what youre 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).


5


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 youre done.

A progress bar should be shown as follows.



6


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.

There are other visualizations of the same object in the ProM 6
PNet Al i gnment Anal ysi s package, such as:
1. Projection of the alignments onto the original net
2. Trace alignment of all alignments
Augmented traces
Trace statistics
Alignment-related
statistics (including
fitness values)
Global Statistics


7


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 youre done.



8


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.




9


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 youre done.



10


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 ocessmi 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 = new PetrinetReplayerWithoutILP();


11


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

Das könnte Ihnen auch gefallen