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