Differences

This shows you the differences between two versions of the page.

Link to this comparison view

online:cpnexport [2009/05/28 11:39] (current)
Line 1: Line 1:
 +====== 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 [[prom:​yawltutorial|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 [[http://​promimport.sf.net|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.)
 +
 +=== ===
 +
 +{{documentation:​cpnexport:​configuration.png?​567|CPN Export Configuration}}
 +
 +**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 [[edithlprocess|View/​Edit HLProcess]] plug-in, which you may choose to use before using the CPN Export (in which case you can ignore this tab). 
 +
 +{{documentation:​cpnexport:​processdetails.png?​567|Process Details}}
 +
 +**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). 
 +
 +{{documentation:​cpnexport:​layout.png?​567|CPN Layout}}
 +
 +**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 [[http://​promimport.sf.net|ProMimport]] plug-in called "CPN Tools",​ which simply bundles all the cases from the simulation in one process log. 
 +
 +{{documentation:​cpnexport:​cpnscreenshot.png?​567|Generated CPN model}} \\
 +
 +**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 ProM//​import//​. 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:​start|Tools page]]). ​
 +
 +{{documentation:​cpnexport:​ProMimportCPNToolsSettings.png?​567|ProMimport plug-in for CPN Tools logs}} \\
 +
 +**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 =====
 +
 +{{page>​blogs:​pub2008:​discovering_colored_petri_nets_from_event_logs&​noeditbtn&​firstseconly}}
 +