Previous article

Next article

Activity Diagrams: A Formal Framework to Model Business Processes and Code Generation

A.K. Bhattacharjee Reactor Control Division, Bhabha Atomic Research Centre, Mumbai 400 085, India
R.K. Shyamasundar School of Technology and Computer Science,Tata Institute of Fundamental Research, Mumbai 400 005, India


PDF Icon
PDF Version


Activity Diagram is an important component of the set of diagrams used in UML. The OMG document on UML 2.0 proposes a Petri net based semantics for Activity Diagrams. While Petri net based approach is useful and interesting, it does not exploit the underlying inherent reactive behaviour of activity diagrams. In the first part of the paper, we shall capture activity diagrams in synchronous language framework to arrive at executional models which will be useful in model based design of software. This also enables validated code generation using code generation mechanism of synchronous language environments such as Esterel and its programming environments. Further, the framework leads to scalable verification methods.

The traditional semantics proposed in OMG standard need enrichment when the activities are prone to failure and need compensating actions. Such extensions are expected to have applications in modelling complex business processes. In the second part of the paper, we propose an enrichment of the UML Activity Diagrams that include compensable actions. We shall use some of the foundations on Compensable Transactions and Communicating Sequential Processes due to Tony Hoare. This enriched formalism allows UML Activity Diagrams to model business processes that can fail and require compensating actions.

Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version.

About the authors

Anup Kumar Bhattacharjee has a Master of Technology from IIT Kharagpur in Computer Science and he is doctoral student under Prof. R.K. Shyamasundar, TIFR. He is employed with BARC, Mumbai, India. He can be reached at

R.K. Shyamasundar has a Ph.D in Computer Science and Automation from IISc, Bangalore. He did his post-doctoral work during 1978-1979 as an International Research Fellow at Eindhoven Technological University, Eindhoven, Netherlands under the famed Professor Dr. Edsgar W Dijkstra. He was the first Dean of the School of Technology and Computer Science at the Tata Institute of Fundamental Research. He had various assignments at IBM TJ Watson Research center, Eindhoven University of Technology, The Netherlands, State University of Utrecht, the Netherlands, Pennsylvania State University, University of Illinois at Urbana, University of California, San Diego, ENSMP Sophia Antipolis, IRISA, Rennes, Verimag Grenoble Max Planck Institute for Computer Science at Saarbrucken etc. He has more than 200 publications and several patents in US and India. Thirty students have done their Ph.D. under his guidance in India and abroad. He can be reached at

Anup Kumar Bhattacharjee and R.K. Shyamasundar: "Activity Diagrams: A Formal Framework to Model Business Processes and Code Generation", in Journal of Object Technology, vol. 8, no. 1, Januar-Februar 2009, pp. 189-220

Previous article

Next article