0% found this document useful (0 votes)
85 views5 pages

An Approach To Workflow Modeling and Analysis: Abstract - in This Paper We Present A New Approach To

The document presents a new approach to workflow analysis by modeling workflows using Activity diagrams, converting them to equivalent Petri nets, and analyzing the Petri net models. Key points: - Workflows are modeled using UML Activity diagrams for their intuitiveness. - Activity diagrams are converted to Petri nets to leverage the formal analysis methods available for Petri nets. - An Eclipse plugin was developed to model workflows as Activity diagrams and convert them to Petri nets for analysis. - Properties like reachability, boundedness, and liveness inferred from the Petri net can reveal properties of the original workflow model.

Uploaded by

Arun Gangwar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views5 pages

An Approach To Workflow Modeling and Analysis: Abstract - in This Paper We Present A New Approach To

The document presents a new approach to workflow analysis by modeling workflows using Activity diagrams, converting them to equivalent Petri nets, and analyzing the Petri net models. Key points: - Workflows are modeled using UML Activity diagrams for their intuitiveness. - Activity diagrams are converted to Petri nets to leverage the formal analysis methods available for Petri nets. - An Eclipse plugin was developed to model workflows as Activity diagrams and convert them to Petri nets for analysis. - Properties like reachability, boundedness, and liveness inferred from the Petri net can reveal properties of the original workflow model.

Uploaded by

Arun Gangwar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

1

Abstract In this paper we present a new approach to


workflow analysis. There are efforts to design and verify
workflow models using both Activity diagrams and Petri nets.
We model the workflow using Activity diagrams, convert the
Activity diagrams to Petri nets and use the theoretical results
in Petri nets to analyze the equivalent Petri nets and infer
properties of the original workflow. We have demonstrated
the possibility by developing an Eclipse plug-in which can be
used to model workflows using Activity Diagrams and then
analyze these workflow models using Petri nets.

Index Terms workflow, activity diagrams, Petri nets,
eclipse, workflow analysis

I. INTRODUCTION
ORKFLOW modeling needs a language that is intuitive
and easy to use. Activity diagrams from UML 2.0
provide a good option. However, we need something
more formal to analyze the workflow so modeled. Petri net
offers that. In this paper we propose to use activity
diagrams for workflow modeling and then use Petri net to
analyze the workflow. Our work demonstrates that
properties of workflow can be inferred from corresponding
Petri net model. We have also built a plug-in on Eclipse
[17] which provides an editor for workflow modeling using
activity diagram. We then analyze this diagram by
converting it into a corresponding Petri net model.

II. WORKFLOW
Workflow refers to automation of business processes, in
whole or part, during which documents, information or
tasks are passed from one participant to another for action,
according to a set of procedural rules [5]. A workflow
management system (WFMS) is a software package that is
used to define, create and manage the execution of
workflows. While designing a workflow, one describes
which tasks have to be done and in what order. So process
approach is given more importance. Hence it is important
that a good modeling language is used to design a
workflow.

III. ACTIVITY DIAGRAM FOR MODELING WORKFLOWS
Activity diagram from UML 2.0 provides all the basic
constructs needed. Major constructs for workflow modeling
are sequence, parallel path, alternative path and iteration.
Activity diagram constructs, start, end, fork, decision, and
activity can be used for modeling all these constructs. Start
can be used to indicate beginning of a process where as end
can be used to indicate end of a process. Fork can be used
for splitting a process into several parallel execution paths.
Decision can be used for providing alternative paths. We
can also model iteration by connecting two decisions.
IV. PETRI NETS
A Petri net is a directed graph with two types of nodes
called places and transitions. An arc connects between two
nodes. A connection can be from a place to a transition or
from a transition to a place.
Formal definition of Petri nets is as follows [2]:

A Petri Net is a 5-tuple, PN = (P, T, F, W, M
0
) where:
P = {p
1
, p
2
, p
3
p
m
} is a finite set of places,
T = {t
1
, t
2
, t
3
t
n
} is a finite set of transitions,
F (P T) (T P) is a set of arcs,
W: F {1, 2, 3..} is a weight function,
M
0
: P {0, 1, 2, 3.} is the initial marking,
P T = and P T

Marking denotes initial distribution of tokens among
places. A transition is said to be enabled if each of its input
place contains at least that number of tokens which is equal
to arc joining the place and transition. An enabled transition
may fire i.e. tokens are removed from its input places and
added to output places.
While representing graphically, places are drawn as circles,
transitions are drawn as rectangles, tokens as black dots,
and arcs as arrows.
Petri nets can also be used for modeling workflows [1].
However, it is not as intuitive as activity diagrams and
hence it is not easy to model workflows with it. We instead
can use Petri nets for analyzing workflows. Huge amount
of research has been done in the Petri net domain and it has
been explored to a great extent. So Petri net properties can
be used to analyze workflows.

V. USEFUL PROPERTIES OF PETRI NETS
Here we present some of the useful properties of Petri net.

Reachability: We start with some initial distribution of
tokens among places which we call initial marking of the
given Petri net. Now when an enabled transition fires, the
distribution of tokens change. Starting with an initial
Hemant Kumar Meena
hkmeena@cse.iitk.ac.in
Indradeep Saha
indra@cse.iitk.ac.in
Koushik Kumar Mondal
kkmondal@cse.iitk.ac.in
T.V. Prabhakar
tvp@cse.iitk.ac.in
Department of Computer Science & Engineering,
IIT Kanpur,
India
An Approach to Workflow Modeling and
Analysis
W
2
marking we can construct a reachability tree which will
produce all possible reachable markings. Since a marking
represents a state in Petri net, from a reachability tree we
can find out all possible reachable states of the given Petri
net.

Coverability: Given a Petri net with initial marking M
0
, a
reachable marking M
1
is said to be coverable if there exist
another marking M
2
whose distribution of tokens among
places is either greater or equal to that of M
1
.

Boundedness: A given Petri net with initial marking M
0
is
said to be bounded if for any reachable marking, the
number of tokens in each place does not exceed a finite
value.

Safeness: A given Petri net with initial marking M
0
is safe,
if it is bounded and maximum allowable token in each
place is 1.

Liveness: A given Petri net with initial marking is said to
be live, if from any reachable marking it is possible to fire
any transition after some firing sequence. A transition t is
said to be dead, if it can never be fired. If in a firing
sequence we reach a point where a particular transition can
not be fired, then the net is in a potential deadlock.

VI. ACTIVITY DIAGRAMS TO PETRI NETS
An Activity diagram can be mapped to a Petri net which
includes all kinds of control flow [4]. Here activity and fork
nodes are mapped to Petri net transitions and start, end, and
decision nodes are mapped to places. Connections are
mapped in such a way that always there is an arc either
from transition to place or place to transition. The
converted Petri net model can be represented using Petri
Net Markup Language (PNML) [3]. PNML is an XML
based interchange format for Petri nets. This is useful for
importing and exporting a Petri net model.


Fig. 1. An example of Activity diagram
Figure 1 shows an Activity diagram and Figure 2 shows the
corresponding Petri net obtained after converting it.




VII. ANALYSIS OF WORKFLOWS
Surely it is not enough to only design a workflow. It is also
necessary to analyze it. As we have mentioned in an earlier
section, we can use Petri nets to analyze workflows. A huge
amount of work has been done on Petri nets so far and
hence a huge number of results are available. One needs to
find out a set of results which can help in analyzing
workflows. Two such useful methods are coverability tree
and incidence matrix.
A coverability tree is actually a reachability tree with
some modification to take care of the case when the given
Petri net is not bounded.
The coverability tree of a given Petri net with initial
marking M0 is constructed using the following algorithm
[2]:

Label the initial marking M, as the root and tag
it "new."
While "new" markings exist, do the following:
o Select a new marking M.
If M is identical to a marking on the path from the root to
M, then tag M
start
P0
P1
P2
P3
end
Fig. 2. Petri Net mapping of Fig. 1
Action
4
Action
3
Action
1
Action
2
Decision
Start
End
3
o old" and go to another new marking.
o If no transitions are enabled at M, tag M
"dead-end."
o While there exist enabled transitions at
M, do the following for each enabled
transition t at M:
Obtain the marking M' that
results from firing t at M.
On the path from the root to M if
there exists a marking
M" such that M'(p)>M"(p) for
each place p and M' M", i.e.,
M" is coverable, then replace
M'(p) by for each p such that
M'(p) >M"(p).
Introduce M' as a node, draw an
arc with label t from M to M',
and tag M' "new."



We can also use Incidence matrix [2] to calculate reachable
marking from a given marking after firing a particular
transition.
Using both coverability tree and incidence matrix we can
study some properties of Petri nets which are helpful in
analyzing corresponding workflow from which the Petri net
has been constructed. Three such useful properties are
boundedness, safeness, and deadlock. If we start with an
initial marking where there is only one token in the start
place and no token in other places, then absence of
boundedness indicates that a particular place have infinite
number of tokens. So this indicates that we can never reach
the end place without having left some tokens in other
places. In workflow domains this implies that we can never
end an activity without leaving some reference to it.
Safeness property in workflow domain will ensure that
we dont have more than reference to an object to be
processed. This makes sense since there is no need of
processing two same objects when one is needed.
Deadlock property is very useful from workflow point of
view as it indicates that the corresponding workflow has
some activity which can not be reached hence the design
has some flaws.
From the above discussion it is clear that from Petri net
analysis we can often comment on the properties of a
workflow. We have demonstrated this by allowing a user to
design workflow using Activity diagrams and then
converting the Activity diagram to a corresponding Petri
net [4] for analysis. More details are given in the next
section.


VIII. IMPLEMENTATION ON ECLIPSE
We have implemented a plug-in for Eclipse [16] with
which we can model workflows using Activity diagrams
and then analyze the models. While performing analysis,
the activity diagrams are first converted into their Petri net
representations which are analyzed and results reported
back into the workflow domain. We generate the Petri nets
in PNML format [3] which is a standardized XML based
format for representing Petri Nets. By representing the Petri
Nets in PNML we provide means for future extensions
using new analysis methods for Petri Nets.


Fig. 3. Dataflow of our tool




Fig.3. gives the data flow of our tool. Fig.4. and Fig.5. are
screenshots of our tool. Fig. 4 shows an Activity diagram
drawn using the tool. The diagram is then converted into
corresponding Petri net model which is then represented
into PNML format. The analysis of the model is seen in
Fig. 5.

IX. RELATED WORK
There is related work on workflows both in the Activity
diagram domain as well as in the Petri net domain. Van Der
Aalst et al has proposed Petri nets for both modeling and
analyzing workflows in [11], [12], [13], [14]. Considering
classical Petri nets are not powerful enough for modeling
workflows, they have elevated it to high level Petri nets by
adding time, color, and hierarchy [15]. 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.
Activity diagram has been argued by many as an
alternative for modeling workflows. After Van Der Aalst et
al identified workflow patterns [9], it has been shown that
they can be modeled using Activity diagrams [10]. There
have been efforts for defining semantics for activity
diagram, so that execution of the workflow models can be
done ([6], [7], [8])
Petri nets analyzer
PNML
Petri nets
Activity Diagrams
Convert
Represent
Analysis
4








Fig. 4. Screen shot showing an Activity diagram



Fig. 5 Screen shot showing the results of analysis

5

X. CONCLUSION AND FURTHER WORK
We have proposed a new way of looking at analysis of
workflows. Modeling of workflows should be done in a
language which is easy and more intuitive to work with like
Activity diagram. Analysis has to be done in a more formal
language like Petri nets. Identifying from large set of
results, that would be useful for analysis of workflows,
needs to be done. We demonstrate this by giving a tool
which can model workflows using Activity diagrams and
then analyze the model using Petri nets. We have so far
mentioned three properties of Petri nets which are useful in
commenting on workflow models.

REFERENCES
[1] W.M.P van der Aalst and Kees van Hee, Workflow
Management, Models, Methods, and Systems
[2] Tadao Murata, Petri Nets: Properties, Analysis and
Applications, Proceedings of the IEEE, Vol. 77, No. 4
[3] Billington et al., The Petri Net Markup Language:
Concepts,Technology, and Tools [Online]. Available:
http://www.informatik.huberlin.de/top/pnml/download/about/P
NML_CTT.pdf
[4] Harald Storrle, Semantics of UML 2.0 Activities
[5] Workflow management coalition [Online].
http://www.wfmc.org/standards/docs/TC-
1011_term_glossary_v3.pdf
[6] Rik Eshuis, Roel Wieringa. A formal semantics for UML
Activity Diagrams Formalising workflow models, Technical
Report CTIT-01-04, U. Twente, Dept. Of Computer Science,
2001.
[7] Rik Eshuis, Roel Wieringa. Verification support for workflow
design with UML activity graphs, In Proc.24th Intl. Conf. on
Software Engineering (ICSE02), pages 166-176. IEEE, 2002.
[8] Rik Eshuis, Roel Wieringa. A real time execution semantics for
UML activity diagrams, In H. Hussmann, editor, Proc. 4th Intl.
Conf. Fundamental approaches to software engineering
(FASE01), number 2029 in LNCS, pages 76-90. Springer
Verlag, 2001.
[9] W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski,
and A.P. Barros. Workflow Patterns, BETA Working Paper
Series, WP 47, Eindhoven University of Technology,
Eindhoven, 2000
[10] Stephen A white, Process Modelling Notations and Workflow
patterns. [Online] http://www.omg.org/bp-corner/bp-
files/Process_Modeling_Notations.pdf
[11] W.M.P. van der Aalst. The application of Petri nets to workflow
management, The J ournal of Circuits, Systems and Computers,
8(1):21-66, 1998.
[12] W.M.P. van der Aalst. Woflan: A Petri-net-based Workflow
Analyzer, Systems Analysis - Modelling - Simulation,
35(3):345-357, 1999.
[13] W.M.P. van der Aalst. Workflow Verification: Finding Control-
Flow Errors using Petri-net-based Techniques, In Business
Process Management: Models, Techniques, and Empirical
Studies, volume 1806 of Lecture Notes in Computer Science,
pages 161-183. Springer-Verlag, Berlin, 2000.
[14] W.M.P. van der Aalst and A.H.M. ter Hofstede. Verification of
Workflow Task Structures: A Petri-net-based Approach,
Information Systems, 25(1):43-69, 2000.
[15] W.M.P. van der Aalst, K.M. van Hee, G.J . Houben, Petri nets
and related formalisms, Proceedings of the second Workshop
on Computer-Supported Cooperative Work.
[16] Shavor et al., The Java Developers Guide to Eclipse, 3rd ed,
Addison-Wesley, 2003.
[17] [Online] http://www.eclipse.org

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy