Specification and Verification of Workflow Applications using a Combination of UML Activity Diagrams and Event B

This paper presents a transformation of UML activity diagrams (AD) into Event B for the specification and the verification of workflow applications. With this transformation, UML models could be verified by verifying derived event B models, automatically, using the B powerful support tools like B4free. The workflows is initially expressed graphically with UML AD and translated into Event B. The resulting model is then enriched with Invariants/Assertions describing functional properties of workflow models such as deadlock-inexistence. We present translation rules of UML AD into EventB, and we propose also a translation process of UML AD into EventB specifications based on the refinement technique of Event B to encode the hierarchical decomposition in UML AD. Also, we propose a solution to specify time in Event B, and by an example of workflow application, we illustrate the proposed technique.

[1]  Rik Eshuis,et al.  A Formal Semantics for UML Activity Diagrams - Formalising Workflow Models , 2001 .

[2]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[3]  Leila Jemni Ben Ayed,et al.  From UML Activity Diagrams to Event B for the Specification and the Verification of Workflow Applications , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[4]  Marlon Dumas,et al.  UML Activity Diagrams as a Workflow Specification Language , 2001, UML.

[5]  Leila Jemni Ben Ayed,et al.  Using UML Activity Diagrams and Event B for Distributed and Parallel Applications , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[6]  D. Giannakopoulou,et al.  Formal Ver ification of Workflow Schemas , 2000 .

[7]  Amel Mammar,et al.  A formal semantics of timed activity diagrams and its PROMELA translation , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[8]  Rik Eshuis,et al.  Tool support for verifying UML activity diagrams , 2004, IEEE Transactions on Software Engineering.