data structures in the relational database model to
represent the processes, and Section 3.2 explains the
mechanism for execution control. Using a real appli-
cation as example, Section 4 illustrates the execution
control applied to an instance of a process. Finally,
Section 5 discusses the contributions of this work.
2 RELATED WORK
Management technologies for business processes
were developed to meet the following needs: (1) to
promote the separation between the specification of
the process and its implementation; and (2) to take
away from the applications the responsibility of the
execution control of business processes. Among the
various existing languages to define business pro-
cesses, it is not easy to see a formal pattern as a rep-
resentation basis, one that is capable of expressing in
a non-ambiguous way the semantics associated to the
existing constructions in these languages. The for-
malisms regarded as natural candidates for this role
are the Petri nets and the process algebras. Works
such as (Aalst, 1998), (Puhlmann and Weske, 2005)
describe the use of these formalisms in the specifica-
tion of business processes.
The Yet Another Workflow Language
(YAWL) (Aalst and Hofstede, 2005) is the most
well succeeded approach for business process specifi-
cation based on Petri nets. It was developed intending
to provide means for defining all the original control-
flow patterns described in (Aalst et al., 2003). Also
with the intention of representing business processes
with a formal basis, Navigation Plan Definition
Language (NPDL) (Braghetto et al., 2007) was
created. NPDL is based on the concept of navigation
plan of RiverFish architecture (Ferreira et al., 2005)
as well as in the operators of ACP (Fokkink, 2000), a
member of the family of process algebras. The navi-
gation plan was formalized in (Ferreira et al., 2006)
as a set of all business processes demanded from
an application in order to achieve business goals.
Like in processes algebras, processes in NPDL are
defined by algebraic expressions. The expression of
a process is built based on NPDL operators and steps
(atomic actions or processes); the operators indicate
the execution order of the steps. For completeness,
we will provide an overview of NPDL operators.
2.1 NPDL Operators
The basic control-flow patterns described in (Aalst
et al., 2003) can be easily represented with three basic
operators of NPDL:
•Sequential Composition (“.”). the process term
A.B means that the activity B will be enabled for ex-
ecution after the completion of the activity A. An ac-
tivity can be an atomic action or a subprocess;
• Alternative Composition (“+”). the process
term A + B means that initially both activities A and
B will be enabled for execution, but only one of them
can be executed;
• Parallel Composition (“||”). the process term
A||B means that the activities A and B can be executed
parallelly.
These basic operators were directly extracted from
ACP (Algebra of Communicating Processes) and have
their semantics formally defined by a set of transition
rules that will be presented in the Section 3.2. In or-
der to represent all control-flow patterns identified by
Aalst et al in (Aalst et al., 2003), the NPDL was im-
proved with additional operators:
• Interleaved Parallel Composition (“|∗”). the
process term A|∗B means that the activities A and B
can be executed in any order (e.g., A.B+B.A), but not
in parallel;
• Multi Merge Composition (“&”). the process
term A&B means that the activity B will be enabled
for execution after the completion of each thread of
control of activity A;
•Discriminator Composition (“∧”). the process
term A ∧B means that the activity B will be enabled
for execution after the completion of the first thread
of control of activity A;
• Unlimited Repetition (“?∗”). the process term
A?∗ means that the activity A can be executed an un-
restricted number of times;
• Number Limited Repetition (“?n”, where n
is a positive integer number). the process term A?5
means that the activity A must be executed five times;
•Function Limited Repetition (“? f ”, where f is
a function that returns a positive integer number). the
process term A? f
1
means that the activity A must be
executed the number of times calculated by function
f
1
at execution time;
• Conditional Execution (“%r”, where r is a
rule, e.g. a boolean function). the process term %r
1
A
means that the activity A will be enabled for execution
if the return value of the rule r
1
is true at execution
time;
• Negative Conditional Execution (“%!r”,
where r is a rule, e.g. a boolean function). the process
term %!r
1
A means that the activity A will be enabled
for execution if the return value of the rule r
1
is false
at execution time.
Providing more details about NPDL is beyond the
scope of this paper; the definition of the language
and the specification in NPDL of each one of the 20
ICE-B 2008 - International Conference on e-Business
324