Visualizing processes in BPMN standard: using the BPMN layout generator to show activities, transitions, and gateways

OlanDS's picture
OlanDS
Blog Categories: 

Introduction

Our world is run by data. Data is digital information, and it circulates through an organization’s information systems through its communication networks. The goal of data collection is to be able to use data to better understand organizational habits - and today, also to be able to propose improvements using machine learning algorithms that can provide clear and objective information. In any business domain, all data can be processed and analyzed - it’s the fuel of management.

In any organization where data is generated via devices, software and networks, it is stored in event logs. With process mining and machine learning techniques, it is possible to mine and then analyze and understand operational process data. Using process discovery, we can visually show the process corresponding to the event logs generated, which helps illustrate the overall process that generated the data as a step to understanding. However, there is no standard for how these visualizations can be implemented.

In the world of business process management (BPM), the process is defined before any data is generated, so event logs contain data according to the tasks performed in the organization. BPM processes use a dedicated standard notation, BPMN 2.0 - so any process with this notation can be read by a BPMN viewer.

Some users have applications to mine event logs but they don’t have tools to visualize how it is executed. The goal of the BPMN layout generator project is to be able to transform event logs to standard BPMN processes automatically. The resulting generated diagram can then be visualized with any BPMN diagram viewer.

Using the BPMN layout generator on event logs: visualizing the basic process

In order to use the BPMN layout generator tool, users must provide event logs in XES format. This is included with the R bupaR package.

The BPMN layout generator is a shiny R application that takes an XES file as input. Once imported it displays the process in a basic process discovery view as shown below:


Figure 1: Initial view of process after importing raw XES file

Change the basic process to BPMN activities and transitions

When the BPMN option is selected, the view changes to display the process in a BPMN format.

Figure 2 : Initial conversion to BPMN visual format

This step uses multiple components of the BPMN layout generator tool.

First it converts the generated process semantics to BPMN elements. Then it calls the BPMN Layout Generator project that automatically places elements in the diagram, to be as easy to read as possible. Finally, the generated BPMN process is displayed using the BPMN Visualization R Package with annotations displaying statistics like the frequency.

Adding BPMN gateways

This is a first good step, however, It's not quite complete yet. Some elements to properly understand the process, like gateways, are still missing. Another option allows you to add them to the diagram.

Figure 3 : BPMN process with gateways option activated

These elements were generated by the BPMN layout generator algorithms to be another step closer to a standard BPMN process.

Filter noise to find most-used paths

Finally, it's a good idea to filter out noise that can be generated by the quality of the event log. To do this, a slider can be used to select the percentage of cases you want to keep. The diagram is then automatically re-generated.

This can be useful to find the most frequently used trace of the application.

Figure 4 : The same process with some noise filtered out

The BPMN layout generator project is currently in development. We will add other features to complete and enhance the generated process design, for instance a means to guess the type of a BPMN activity using its duration, and a way to avoid overlapping transitions.

Stay tuned for more progress as we continue!
In the meantime, to stay on top of the latest news and releases, follow us through:

Notifications