Business Process Complexity Analysis

Friday, October 27, 2006

Weekly Briefing (27-10-2006)

This week we didn’t obtain any progress on our Business Process plug-in.

We already have a Jan Mendling paper about density as a complexity metric, and we’ll try to implement its proposed formula as soon as possible.

We also know what to do after finishing the plug-in. Our advisor proposed us the creation of a new metric to calculate a business process complexity based on its visual representation. Basically the idea is: If a business process graph is hard to visually understand, then it is proportionally complex. Even though, this is still an idea that requires some research. Next week we’ll start researching the graphviz algorithm to see if this idea can really be implemented.

We still didn’t mention it, but we are also doing another project in parallel with this one. That project is being made for DTIM. We are working on their facilities whit their development team in order to create two PHP modules for their framework that administrates the bibliographic and informatics resources.

Since we have these two projects, there will be some weeks, like this one, that we will have to fully concentrate our efforts in just one of them.

Even though, we leave you the first screen shot of our (incomplete) plugin.

Monday, October 23, 2006

Initial Achievements

From now on, we’ll start creating a post to show the weekly advances of the project. Since we are already working for some weeks now, next we will show all that have been achieved in that time and the problems that we found during it.


Starting from the beginning…

Since we are working with EPC’s, first of all, we had to study it and understand its syntax and semantics. We also downloaded ProM and got familiarized with the platform.

After that, we needed a tool that would enable us to design EPC’s and above all, save the files in EPML (Event-Driven Process Chain Markup Language) format because it is the only EPC format that ProM can interpret.

After a search on google, we found a plug-in for Eclipse SDK that would do exactly what we needed. This plug-in is called EPC Tools.

Having this tool, we used some of the DTIM business processes to modulate them in EPC’s.

At this point we faced a problem. ProM couldn’t load the files. After many hours trying to find out why, we got to the conclusion that those files had many misplaced tags. The EPML files generated from EPC Tools didn’t respect the EPML Schema.

In order to resolve this issue, we downloaded a XML Analyser plug-in for Eclipse SDK that allowed us to trace and correct the errors inside the EPML files.

With this problem solved, we could now load all our files on ProM and use some of the EPC plug-ins provided by the platform.

We studied the platform documentation to learn how to create and deploy an analysis plugin. After knowing this, we also studied some example plug-in’s source code to understand how an EPC was stored in memory and how we could gain access to it.

At this point we were able to start coding our plug-in. In the implementation we found some normal problems that could easily be solved.

The formula used in our code to calculate the complexity was taken from a paper written by our advisor.

We also implemented a functionality to calculate the density of an EPC but we didn’t implement a specific formula for now.

In order to test our plug-in, we created an EPC that contains all the three kinds of logical connectors, and the result obtained was correct.

EPC - Event-driven Process Chain

EPC stands for Event-driven Process Chain. It is a semi-formal language used to model business processes. An EPC is viewed as an oriented graph composed of events and functions. EPC also has connectors to give a wider range of possibilities in the business process modelling, such as parallel execution or alternative paths to the execution flow.

There are three major elements in an EPC: events, functions and connectors.

Events are passive elements in EPC. They don’t describe tasks/activities to be made, only under what circumstances a function works, or in witch state a function will end. In the EPC graph an event is represented as hexagon. “Project accepted” or “Project refused” are examples of events.

Functions are active elements in EPC. They correspond to an activity (task, process step) which needs to be executed. Several resulting states may occur, where the modelling of this situation is helped by logical connectors. In the EPC graph a function is represented as rounded rectangle. “Make Proposition” or “Change Initial Proposition” are examples of functions.

Connectors can be used to connect functions and events. With them, the control flow can be specified. There are three types of connectors: AND, XOR (exclusive or) and OR.

In general, an EPC diagram must start and end with an event.

You can see an example here.

ProM - Process Mining Framework

ProM is the framework for Process Mining. “This pluggable framework offers a wide variety of process mining techniques and it is easy to add new plug-ins without the need to recode parts of the system. Moreover, it allows for the import from and the export to a wide variety of formats and systems (ranging from enterprise information systems and workflow products to social network software and classical mining tools) and provides advanced visualization and verification capabilities.”

More details and multimedia resources can be found at : http://is.tm.tue.nl/research/processmining/

Main Objectives Of The Project

At this point we don't have complete info about the scope of our project because our advisor (Jorge Cardoso) is a very imaginative person :) and he is always coming up with new ideas. All we can say for now is that we’ll be working on Business Process Complexity Analysis and, in a first phase, we have to develop a plug-in for ProM to calculate the complexity of business processes designed on EPC. After completing this plug-in we will probably extend its capabilities in order to make the same calculations for other languages supported by ProM.

We know that, if you are not an expert in business processes you will certainly be asking “but, what is ProM and EPC ?”. Well…don’t worry, we’ll give you some explanations on further posts.