Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

Embed Size (px)

Citation preview

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    1/11

    1

    Replay a Log on Petri Net forConformance Analysis Plug- in

    PNetReplayer Package

    Arya Adriansyah

    Last updated on 18 April 2012 (draft version)

    Contents1. Introduction...................................................................................................................... 22. Requirements to use it from Graphical User Interface (!)............................................. 23. Known Issue...................................................................................................................... 24. Example use of the plug- in............................................................................................. 25. Result................................................................................................................................. 66. Creating a Final Marking of a Petri/ Inhibitor/ Reset/ ResetInhibitor Net..................... 77. Configure Visibility of Transitions in a Petri/ Inhibitor/ Reset/ResetInhibitor Net...... 98. Plug- in Details.................................................................................................................10

    Classes .................................................................................................................................10Dependencies .......................................................................................................................10Using it without GUI ...............................................................................................................10

    9. Reference..........................................................................................................................11

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    2/11

    2

    1.IntroductionThis 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 onobject1. 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 IssueProM 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- inThe 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 Section6 and Section7.

    1See Section6 for instructions on how to create a final marking for a Petri net.

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    3/11

    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.

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    4/11

    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).

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    5/11

    5

    Setting the maximum explored states to maximum (unlimited) means that you allow

    the algorithm to explore up to (231 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 ILPalgorithm. Click Finish when youre done.

    A progress bar should be shown as follows.

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    6/11

    6

    5.ResultResult 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 ys i spackage, 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

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    7/11

    7

    6.Creating a Final Marking of a

    Petri/Inhibitor/Reset/ResetInhibitor NetAssumption: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/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    8/11

    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.

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    9/11

    9

    7.Configure Visibility of Transitions in a

    Petri/Inhibitor/Reset/ResetInhibitor NetAssumption: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.

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    10/11

    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 avathat resides inside theorg. processmi 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 houtGUI . j ava under package

    or g. pr ocessmi ni ng. test s. newpackage that replays a log on a Petri net withoutusing any graphical user interface. Use similar approach as the one used in the test

    file, in particular the following line (line 119- 124):

    // instantiate replayerPNLogReplayerreplayer=newPNLogReplayer();

    // select algorithm without ILP

    PetrinetReplayerWithoutILPreplWithoutILP=newPetrinetReplayerWithoutILP();

  • 8/12/2019 Replay a Log on Petri Net for Conformance Analysis plug-in.pdf

    11/11

    11

    PNRepResultpnRepResult=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