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 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 http://www.jot.fm/issues/issue_2009_01/article3/