Simulation in YAWL

Business process simulation is a powerful tool for process analysis improvement. One of the main challenges is to create simulation models that accurately reflect the real-world process of interest. Moreover, we do not want to use simulation just for answering strategic questions but also for tactical and even operational decision making. To achieve this, different sources of simulation-relevant information need to be leveraged. We present here a new way of creating a simulation model for a business process supported by a workflow management system, in which we integrate design, historic, and state information.

In order to link enactment and simulation we propose to use three types of information (Design information, Historic information, State information) readily available in workflow systems. These are used to create and initialize the simulation model. By merging the above information into a simulation model, it is possible to construct an accurate model based on observed behavior rather than a manually-constructed model which approximates the workflow's anticipated behavior. Moreover, the current state information supports a `fast forward' capability, in which simulation can be used to explore different scenarios with respect to their effect in the near future. In this way, simulation can be used for operational decision making.

To showcase how real-time data from the workflow system can be utilised in simulation experiments, we have developed software that makes a link between the YAWL workflow system and the Process Mining framework (ProM). A tutorial on how to use this feature can be found on the ProM wiki.

Extracting Simulation Relevant Information from YAWL

The information contained in the workflow specification is supplemented with historical data obtained from the event logs and data from the organizational model database. This was achieved by implementing two new functions in the workflow engine to export historical data from the logs for a particular specification and to export the organizational model (i.e., information about roles and resources).

In the YAWL workflow system, event logs are being created whenever an activity is enabled, started, completed or cancelled together with the time when it is enacted and who has enacted this event. The logs are also kept for the data values that have been entered and used throughout the system. Therefore, it is possible to easily retrieve historical data about a specification that has been executed before. A function has been created which extracts the historical data for a given specification from the engine and exports this information in the MXML mining log format (Figure 2a). This conversion function is made available through the ProMImport framework and a screen shot of the user interface is shown in Figure 1.

Similarly, the YAWL workflow system exposes the organizational model data through Interface R. A function has been created to extract the organizational model data which contains all available roles and resources in the resource DB and to export this information in an XML format required by ProM (see Figure 2b).

Figure 1: A screenshot of ProMImport functionality to generate the YAWL logs


Figure 2: A sample log entry (MXML log) and a sample organisation model

A new function has also been created to extract the current state information for a running specification in the YAWL workflow system using Interface B and to export this information as a CPN tool input file (Figure 3). All three functions require an active connection to a running YAWL engine (local or remote) to request the required data.

Creating a Simulation Model in ProM

To generate the simulation model, four basic steps need to be performed within ProM.

  1. The workflow, the organizational model and the event log are imported from the YAWL workflow system and analysed.
  2. Simulation-relevant information from the organizational model and log analysis are integrated into the YAWL model.
  3. The YAWL model is converted into a Petri net model (because our simulation tool is based on Coloured Petri Nets).
  4. Finally, the integrated and converted model is exported as a CPN model.

We can then use the CPN Tools system to simulate the generated model. However, to produce useful results we do not want to start from an empty initial state. Instead we load the current state of the actual YAWL system into the CPN Tools for simulation (See Figure 3).

Figure 3: Sample current state data for CPN Tools


Figure 4: Configurations for CPN model export

While CPN Tools already provides powerful logging facilities and even generates gnuplot scripts that can be used to plot certain properties of the simulated process, we also generate MXML event log fragments per case during simulation, similar to the one shown in Figure 2a for the workflow log. These fragments can then be combined using the CPN Tools filter of the ProMImport framework, which facilitates the conversion of event logs from various systems into the MXML format that is read by ProM. The ability to use the same toolset for analyzing the simulation logs and analyzing the actual workflow logs constitutes a big advantage because the simulation analysis results can be more easily related to the initial properties of the process.

Figure 5: Simulation Log Analysis in ProM

Related publications