4.7. Process Algebra and Petri Nets

It is claimed that BPML formal semantics are based on, or at least inspired by process algebra, while a BPMN or activity diagram is given its semantics using Petri nets.

Process algebras are mathematical systems that describe concurrent processes. There are various forms of process algebra, going back to Tony Hoare's Communicating Sequential Processes (CSP) (Hoare, 1985) and Rob Milner's Calculus of Communicating Systems (CCS) (Milner, 1989). Several variants of these have appeared, one of the most relevant to our subject matter being Performance Enhanced Process Algebra (PEPA) (Hillstone, 1993). However, the variant most commonly quoted by the BPM community is Milner's pi-calculus.

PEPA is concerned with the performance of a process and the identification of its bottlenecks, using Markov models such as stochastic or timed Petri nets. However, such models are often intractable computationally, leading to interest in compositional models such as CCS. A compositional approach breaks down a system into subsystems that are more easily modelled; the results can be aggregated to give the desired data. To my knowledge, no one has yet applied PEPA to BPM, despite its obvious relevance.

CCS models a system as a network of agents that can perform discrete actions. Actions can be internal - so that the agents proceed concurrently - or might involve inter-agent communications. Communications take place through channels via named ports (so one begins to ...

Get Requirements Modelling and Specification for Service Oriented Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.