CPN Export

This plug-in generates a CPN model that can be readily loaded into CPN Tools for simulation. The process parameters can be either imported, discovered, or manually provided.

Several options exist in to configure the generated CPN as described below. The employed CPN representation is best described in the publication below.

Prerequesites

The plug-in appears in the Analysis menu (note that—unlike indicated by its name—it is not an export plug-in for technical reasons) as soon as one of the following objects is provided:

  • HLPetriNet - PetriNet including simulation-relevant information such as about data, timing and resources.
  • PetriNet - A plain PetriNet model, in which case an empty HLPetriNet is created upon calling this plug-in.
CPN Export Settings

The first tab allows to configure the CPN model to be exported in the following way (see Figure 1):

Perspectives
  • Data Perspective: Includes case data attributes in the generated CPN. If this option is not selected, data attributes will be ignored even if they are specified in the high-level process.
  • Time Perspective: Generates a timed model including information on case generation times, execution times etc. according to specification below. Time information in the high-level process will be ignored if this option is not selected.
  • Resource Perspective: Generated model will only include explicit resource modeling as specified in the high-level process if this option is chosen. Additional waiting time can be chosen to simulate the real process more closely, since the race among resources is often not sufficient to account for all the delays in a process. An additional choice is available in the case that both the scheduling and the start of an activity will be simulated (i.e., execution time + waiting time option was chosen):
    • push mode: assigns a particular resource already with the scheduling of an activity (in which case this resource might be busy when the activity should be actually started and will be further delayed).
    • pull mode: assigns a resource with the start of an activity only.
Extras
  • Current state support: If this option is chosen, an empty current state file will be generated. The empty current state file can then be modified, or replaced by another file to start up the simulation from a non-empty state. See this tutorial for further information on current state support.
  • MXML logging: Logging monitors can be included, which record information about the simulated process in MXML fragments (to be combined into one log using the “CPN Tools” plug-in of ProMimport ). This way, the simulated process can be analyzed based on its simulation logs in ProM.
  • Throughput time monitor: A monitor collecting information on the throughput times can be included in the generated CPN. (Makes only sense if the Time perspective has been selected.)
  • Resource availability monitor: A monitor collecting information about the available resources can be included in the generated CPN. (Makes only sense if the Resource perspective has been selected.)
Figure 1. Different perspectives and extra functionalities can be generated

For convenience the viewing and editing of the process parameters are possible on the “Process Details” tab (see Figure 2). This tab provides exactly the same functionality as the View/Edit HLProcess plug-in, which you may choose to use before using the CPN Export (in which case you can ignore this tab).

Figure 2. Process details can be modified

Finally, the layout of the generated CPN can be optionally adjusted by the parameters in the “CPN Layout” tab (see Figure 3).

Figure 3. The layout properties of the generated CPN can be influenced
Generating MXML Logs during Simulation in CPN Tools

If the “MXML logging” option was selected (see Figure 1), the generated CPN already contains logging monitors that automatically create event logs during the simulation of the model in CPN Tools. The screenshot in Figure 4 depicts the simulation binder including play, stop, and fast forward buttons, which can be used to invoke a simulation of the process for a determined number of steps. During simulation event logs are created in a folder called logs, which is located in the same directory as the CPN file itself. This folder contains one file with the extension .cpnxml per started case. To obtain a coherent MXML log, there exists a ProMimport plug-in called “CPN Tools”, which simply bundles all the cases from the simulation in one process log.

Figure 4. Generated model loaded in CPN Tools

Figure 5 depicts screenshots of the filter properties and the console output view of the “CPN Tools” plug-in in ProMimport. One only needs to select the logs folder containing the .cpnxml files from the desired simulation run, and press the ``Start'' button. As a result, the combined MXML log will be created in the chosen output location. More information on how to use CPN Tools to create synthetic logs is provided at the ProM CPN Library Tutorial (see Tools page ).

Figure 5. ProMimport plug-in for creating MXML logs from CPN Tools simulation logs

The simulation log in MXML format can now be loaded into the ProM framework to analyze the simulated process. Using the same tool set for analyzing the original execution logs as well as the simulation logs makes it easy to compare the (effects of changes in the) simulated process with the observed real-life process.

Publications
  • Discovering Colored Petri Nets from Event Logs

    A. Rozinat, R.S. Mans, M. Song, and W.M.P. van der Aalst
    International Journal on Software Tools for Technology Transfer (STTT), Volume 10, Number 1, Pages 57-74