
 
basic concepts of UML AD (activity, Sequence of activities, choice (decision), loop, 
parallel activities (fork and join)) and for dynamic invocations concept [13] into 
Event B.  In this paper, we discuss contribution of the proposed approach for the 
verification of workflow applications. These translation rules give not only a 
syntactical translation, but also give a formal semantics using the Event B method 
semantics for the activity diagrams. In addition, in this paper, by an example of 
workflow application ‘’ The Production Company’’, we illustrate the proposed 
technique and the feasibility of our approach. 
This paper is structured as follows. Section 2 discusses related work to ours. 
Section 3 presents a brief overview of the Event B method. Section 3 describes our 
approach for the translation of hierarchical decomposition in UML AD into a 
hierarchy of Event B models. Section 5 discusses the interest of this approach for the 
verification and the validation of workflow applications. Then an example illustrating 
our approach is given. Finally we conclude and give an overview of our future work. 
2 Related Work 
Modeling of Workflow Applications. Some related works have proposed to use 
Petri nets as a standard language for workflow modelling [15][12]. Considering 
classical Petri nets are not powerful enough for modelling workflows, Van Der Aalst 
and al  have elevated it to high level Petri nets by adding time, colour, and hierarchy 
[12]. The problem with this is that still Petri net is not an easy language for modeling 
workflows. Moreover, there are not many results available with high level Petri nets.  
Today, UML AD is considered as an OMG standard notation in the area of workflow 
applications modelling [3]. Eshuis et al. [14] argue that Petri Nets may be unable to 
model workflow activities accurately without extending its semantics and this 
drawback has been addressed in UML activity diagrams.  
 
Formal Verification of Workflow Applications. Van Der Aalst and al [10] discuss 
how to use Petri Net to model and analyse workflow processes . Karamanolis and al 
[11] use process algebra for the verification of correctness of workflow. In our works, 
our goal is to provide a specification and verification technique for workflow 
applications using UML AD which give readable models and an appropriate formal 
method which allows verification of required properties ( such no deadlock) to prove 
the correctness of the workflow specification. Indeed, the main problem with UML 
activity diagrams is that they have no formal semantics. In this context, there have 
been efforts for defining semantics for activity diagram in the works of Eshuis [7]. 
However, these works not consider the hierarchical decomposition of activities in 
UML AD, and suffer from the state number explosion. Our contribution, in this 
context, consists of using Event B method and its associate refinement process to 
encode the hierarchical decomposition of activities in UML AD and tools for the 
formal verification of workflow applications. In addition, Event B allows the use of 
arbitrary natural number using the:∈ operators. The possibility of using arbitrary 
natural numbers allows to deal with all the possible case for activity/process 
description and modeling. Notice that this is almost impossible in model checking 
techniques [10][7][11], where a fixed value for the natural numbers is required. 
Usually the state number explosion problem arises when this natural number increase. 
150