Abstract

Organizations create collections of hundreds or even thousands of business process models to describe their operations. This chapter explains how graphs can be used as underlying formalism to develop techniques for managing such collections. To this end it defines the business process graph formalism. On this formalism it defines techniques for determining similarity of business process graphs. Such techniques can be used to quickly search through a collection of business process graphs to find the graph that is most relevant to a given query. These techniques can be used by tool builders that develop tools for managing large collections of business process models. The aim of the chapter is to provide an overview of the research area of using graphs to do similarity search and matching of business processes.

Background

A business process is a collection of related tasks that can be performed to achieve a certain goal. A business process model represents the tasks in a business process as well as their relations. Typically, the model is enriched with nodes that affect the order in which tasks can be performed. These are called control-nodes or gateways. Figure 1 shows six examples of business process models in the Business Process Modeling Notation (BPMN). Rounded rectangles represent tasks. Circles represent events that occur during a process. An empty circle represents an event that signals the start of the process. Consequently, in the first process, at the start of the process the task ‘buy goods’ is performed. A bulls-eye represents an event that signals the completion of the process. Diamonds represent gateways. A diamond marked with an ‘X’ is called an exclusive gateway and it represents a decision point at which the process can continue along exactly one out of a number of alternative paths. An exclusive gateway can also be used to merge multiple alternative paths. Similarly a diamond marked with an ‘O’ (called an inclusive gateway) represents a point at which one or more alternative paths can be chosen or merged while a diamond marked with a ‘+’ (called a parallel gateway) represents a point where multiple outgoing parallel threads are started, or a point where multiple incoming threads must be synchronized before the execution of the process can continue.