Liris 4623
Liris 4623
x, xxxx 1
Abstract: Efficient organizations need to ensure that their business processes are at the same time
robust and agile. These two features could be verified using appropriate techniques. In this paper
we present a new rule based model for the business process flexibility management and
verification. To achieve these two objectives, the new model is grounded on a new formalism
issued from ECA model and supported by a language called RbBPDL (Rules based Business
Process Definition Language). In this model, a business rule has an Event-Condition-Action-Post
condition-Event triggered (ECAPE) formalism. This allows, in the one hand, the translation of a
process into a graph of rules that is analyzed for the sake of ensuring the agility of the business
processes. In the other hand, the ECAPE formalism allows the translation of a process into a new
colored Petri net, called ECAPE net, in order to verify the process functioning. Finally, we propose
an architecture of rule-based modeling and verification of business process that support the new
proposed model.
Keywords: Business processes modeling, business rules, declarative language, rule graph, flexible
modeling and Business processes verification.
Therefore, Business rules should be formalized to reliance on its requirement by eliminating the
facilitate their use. Unfortunately, using imperative contradictions and ambiguities (formal specification). On
languages such as BPEL (OASIS, 2007) and XPDL the other hand, they minimize the likelihood that a
(WMC, 2005) designers implement business rules based malfunction can occur while on basing on the
on decisions (what process branch must be chosen) that verification properties of models for example deadlock
are defined using connectors (e.g., sequence, parallel or net vivacity...etc. In this way we can detect errors by
split, exclusive choice). In this way, these languages can taking into account the model properties.
use the results of the decisions to determine the process
behavior rather than to model these decisions. We have identified a number of works that use this
Consequently, the implementation of change is difficult. technique to verify the proper functioning of business
processes. In general way, the Petri Net is the model
22 Process flexibility mostly used (Martens et al., 2003), (Ouyang et al., 2005)
and (Yang et al., 2005). However, the process algebra
By flexibility we mean how to implement changes in also has imposed on the process verification (Koshkina
some parts of a business process without affecting the et al., 2004), (Smith et al., 2003). Although, other
rest of parts neither the continuity and stability of these approaches, based on different models, have been
parts (Regev et al. 2006). Indeed, in a dynamic proposed. An example is the work of Pu in (2005) which
environment, businesses need to rely on flexible process is based on the model TA (Timed Automata) and which
models to allow the modification of parties that have proposes a new language based on BPEL called µ-BPEL.
been changed while keeping the stability of other parts of This last defines the semantics of basic and structured
the process. According to the taxonomy of Regev in activities.
(2006) all the process elements are likely to be changed.
The change subject that concerns the different aspects of In our work, we are particularly interested in using a
the process those are subject to change. Indeed, the Petri net (PN) because it combines the advantages of a
change may affect the process activities (functional graphical representation with the semantic aspect that is
aspect), the flow control (behavior aspect), the process attributed to model process behavior. In general, the
data (information aspect) or the various protocols used in objective of using a PN is to minimize the likelihood that
the process (operational aspect). However, the change of a malfunction might occur by checking some properties
a process element may require a change of other like deadlock and net vivacity. However we should
elements that are related to changed elements in order to define the semantics of our model in terms of PN.
maintain process coherence. To do so, the impact of a Therefore, we should use PN that supports the semantics
change on the rest of the process should be studied to of our model.
help automate the management flexibility of a business
process model by estimation the change cost of one rule.
24 Problem statement
23 Process verification The general problem addressed in this paper is the need
to develop a rule-based model to improve the business
By verification we mean how to ensure that process process management in terms of flexibility and
execution is in accordance with its modeling plan and verification. To this end we identified three major
how to detect the unanticipated situations that may arise research directions: how to model a business process in a
during the execution of a process (Russell et al., 2006). flexible way, how to manage the impact of change and
Indeed, an erroneous business process usually has major how to verify a business process?
negative consequences on the continuity of these
activities. To assist a designer to detect errors during For this reason, in our work, we are particularly
process specification, several techniques are used. The interested in using a declarative model based on business
verification by formal models is viewed as the most used rules so that the flexibility of these processes can be
technique to detect errors in specifications during a achieved. However, in the existents declarative process
business process modeling. These models need to modeling languages, the modeling flexibility with focus
formalize the specification in a formal model (e.g., the on the impact of a rule change on the rest of a process is
Petri net, process algebra… etc.). The objective of using not well looked into. In order to ensure automatic
these models in specification process is double: on the flexibility management, we need to look at the
one hand, they provide the complete process description relationship between the rules so we can determinate the
Boukhebouze Mohamed, Amghar Youssef, Benharkat Aïcha-Nabila and Maamar Zakaria
other rules that will be affected with a change in some proper functioning of the process. Business rules in
rule. Therefore there is a need for a more powerful rules proposed model must be based on a formalism that
formalism that would allow a complete definition of this allows reaching our two objectives (favor a flexible
relationship. In addition, the various declarative process modeling and verification of a business process).
modeling languages do not allow to have an explicate
execution scenario. As a result, more powerful rules ON <Event>
IF <Condition>
formalism is deemed appropriate in order to translate, in DO <Action>
an easy way, a business process into a Petri net and Check <Post condition>
Trigger <Event triggered>
ensure the process verification by allowing to building an
execution scenario in an automatic way.
For this reason, we propose the formalism ECAPE which
In conclusion, there is a need for a new powerful rules is defined as: The semantics attached to an ECAPE rule
formalism that would help solve the problems of process is: when an event occurs, the condition is verified, if this
modeling rigidity and business process verification. For latter is satisfied, then the party action is executed by
that, we believe that the use reaction rules (ECA taking into account the rule attributes. The execution of
formalism) to model the rules set of business processes is the action raises the event triggered part. Finally, the rule
interesting. This is justified by the fact that this kind of is validated if the post condition is satisfied. Note that, if
rules is easier to maintain and it cover all other rules the post condition does not hold, a compensation
kinds (Integrity, deviation, production, and mechanism is launched in order to compensate the
transformation) (Wagner et al., 2006). However, we executed action part effects. ECAPE allows an implicit
need to a new type of ECA formalism that help us to description of sequences of rules. Each rule may trigger
deduct automatically some relationships between rules one or more rules. But, the originality of this formalism
and to built automatically an explicate execution scenario is the fact that the events triggered are explicitly
of a process. For this reason, we propose, in rest of this described. As a result, the rule sequence can be
paper, a new rule based model built on top of the new automatically deducted. Indeed, according to a post
formalism called ECAPE formalism (Event-Condition- event of a rule, we can detect which rules will be
Action-Post condition- Event triggered). On the hand, triggered.
this would allow translating a process into a graph of The great advantage of our rule based model is that
rules where the vertexes represent the rules and the processes can be seeing at three different abstractions
edges represent the relationship between these rules. By plans (see figure 1):
doing this, we favor the flexibility of business processes
modeling by determining the rules that are connected to
each other and the rules that are subject to changes. In
the other hand, the ECAPE formalism would allow
translating a process into a new colored Petri net called
ECAPE net where the places represent events and the
different kind of transitions for construction of the
complex events and representation of the rule’s action.
3 Rule based modeling of business process Figure 1: Three plans of our rule based modeling approach
The objective of our rule based model is to define, in a
declarative way, the business processes using a set of 1. At business plan, business processes are defined by
business rules. The logic of the process can be using ECAPE rules set. Indeed, these rules are
summarized with a set of business rules. The sequences statements that express, in a declarative way, a
of these rules define the behavior of a process. Indeed, business domain, policies, business concerns…etc. For
the rule sequences represent implicitly the control-flow this purpose, we must use a powerful language that
of elements that must be performed in a process. would provide the right means to describe the ECAPE
However, to provide a flexible process modeling we rules and the various elements of a process. To do this,
need to connect rules together. The verification process we propose a new language called RbBPDL (Rule-
requires the implementation of a scenario to test the
Rule-based modeling & verification of business processes
- Cancel: to cancel the execution of the activity Indeed, in our new business process model, a process is
- Skip: skip the execution of the activity seen as a set of decisions and policies. These decisions
and policies are defined by a set of business rules. For
- Discover: to find a service that performs a given example, rule R1 expresses the policy of request an order.
activity in a given registry This rule is activated by “begin process” event that
o Postcondition: predicates upon which the validation represents the customer will to place an order (it may be,
of a rule depends. for example, clicking on the button "Place an order").
The execution of the activity “RequestOrder” triggers the
o EventTriggered: the set of events triggered by the
execution of all instructions of the rule’s action. “Send message” event. This latter will activate the rule
R2. In turn, the rule R2 expresses the policy of receiving
To illustrate our rule based modeling approach, we an order. Indeed, during an occurrence the event
describe, in following section, real-life example of “Receive Order” the rule is triggered and the action’s
purchase order process instruction <Execute> will be executed.
To describe the ECAPE rules set of the business process input/output parameters (<InputVariableName> $
we propose a new XML based language called RbBPDL. info_Costumer </ InputVariableName> and
Figure 4 represents the XML syntax of a rule of the <OutputVariableName> $CostumerRegistration </
RbBPDL purchase order process. Indeed, participants OutputVariableName>).
(see figure 4.A), variables (see figure 4.B), business
activities (see figure 4.C), and events (see figure 4.D) are And also indicating which participant has the role to
represented with XML tags like "Participants", perform this activity (<Performer>
"Variables", etc. Additional details could be added to the $Commercial_Service </ Performer>) of the rule R2 will
representation so that a complete definition of the trigger the events expressed in the <PostEvents> (in our
process elements is offered. These details could concern example the event of costumer check termination
type and role of each participant, data types of each $End_Costumer_Verification). Finally, the rule R2 is
variable, input/output parameters of each activity, and validated if the predicates of the post condition expressed
type and constructors used to express the events. in the tag <PostCondition> are true.
In our new declarative language, the set of business rules However, the need to take into accounts the dynamic of
is described in <Business rules> part. For example, rule the various process elements, made us focus more on the
R2 expresses the policy of receiving an order (see figure flexibility of business processes modeling. For example,
4.E). Indeed, during an occurrence the event (<OnEvent> if the enterprise decides not to deliver its products, rule
$ Receive_Order </ OnEvent>) the rule is triggered and R4 will be deleted from the process model.
ensures that the information is valid (<PreCondition> $ Consequently, we must determinate the set of rules that
info_Costumer! = "" < / Precondition>). The action’s must be changed after changing of rule R4 in order to
instruction <Execute> will be executed. This instruction keep the coherence of process. For this reason, we need
specifies that a given business activity must be to study the relationship between the rules to ensure
performed (<Operation> $Costumer_Verification </ automatic flexibility management. In the next section we
Operation> in our example) by specifying the detail how we manage the flexibility business process.
(C) (E)
To formalize the flexibility management of the process The rule graph helps formalize the flexibility
modeling, we propose to translate the business process management of the process modeling. Indeed, if any
into a graph of rules. Indeed, the vertices of this graph vertex changes, all successor vertex must be revised.
represent the business rules which constitute the business Formally this will be defined as following:
process, and the arcs represent the relationships between
the various rules. As a result, there are three kinds of Definition 2: let be a rules graph Gr (R, Y) and a vertex
arcs: includes arcs which correspond to an inclusion rule ri such that ri ∈ R.
relationship; extend arcs which correspond to an The set of the ri successor neighbors is noted N+(ri) such
extension relationship, and cause/effect arcs which that ∀ rj ∈ N+(ri), ri is an include, extend or cause rule
correspond to a cause/effect relationship between rules. for the base or effect rule rj.
A rules graph is formally defined as following: - We note Ni+(ri) the set of the ri successors such that ∀ rj
∈ N+(ri), ri is an include, for the base rule rj.
Definition1: a graph of rules is a directed graph Gr (R, - We note Ne+(ri) the set of the ri successors such that ∀ rj
Y) with ∈ N+(ri), ri is an extend rule for the base rule rj.
- R is a set of the vertices which represent business rules
- Y is a set of the arcs which represent three kind of - We note Nc+(ri) the set of the ri successors such that ∀ rj
relationship ∈ N+(ri), ri is a cause rule for the effect rule rj.
(1) Yi is a sub set of Y such that if yi (ri, rj) then ri is - We note Nc-(ri) the set of the ri successors such that ∀ rj
included in rj ∈ N-(ri), rj is a cause rule for the effect rule ri.
(2) Ye is a sub set of Y such that if ye (ri, rj) then ri extend
- We note N*(ri) the set of ri neighbors such that N*(ri) =
Ni+(ri) ∪ Ne+(ri) ∪ Nc+(ri) ∪ Nc-(ri). If ri ∈ R change,
rj
(3) Yc is a sub set of Y such that if yc (ri, rj) then ri cause
then the designer should revise all rules N*(ri).
the activation of rj
Indeed, to keep the process coherence, the flexibility
The rules graph of our previous example is illustrated by management of the process modeling will request from a
figure 5. An inclusion arc is represented by a dotted designer to revise the N*(ri) set when a rule ri is changed.
arrow with a small diamond head on the side of the base In the example of figure 5, rule R6 must be revised if rule
rule. In turn, an extend arc is represented by a dotted R4 is deleted because N*(R4) = {R2, R6}. This is why,
arrow. Finally, a cause/effect arc is represented a plain flexibility management notifies a business process
arrow. designer to revise rule R2, R6 in order to decide how this
rule can be changed. Note that we must check out the
predecessor neighbors Nc-(ri) for the cause/effect
relationship since it is not acceptable that a rule activates
a non-existing rule. For instance, if we delete R4 we must
also revise R2 to ensure that this letter does not activate a
deleted rule.
the process. In previous process, rule R4 change cascade Thus, one change rule cost can be calculated from the
(R2, R6, R7, R8, R9, R10, R11 and R12) needs to be revised change cost graph, by considering the rules of the rooted
in order to ensure the activation of all the rules and the tree with the changed rule root. For instance, ₡(R4) =
business coherence of the process as well. However we (6L, 2H) (figure 9). Finally, note that, as we are
can offer to the designer the possibility of assessing the interested in calculating the maximum change cost, so
efforts to put into per change. We call this effort change the rooted tree considered is the rooted tree with the most
cost. It is the number of rules that are subject to changes costly path.
following a change in a rule. For example If R4 is deleted
and R6 is changed in the previous example, so the
effective change cost applicable to R4 is one. It is more
beneficial to estimate the maximum change cost before
making any changes. This will indicate to a designer the
cost of a planned change. For this reason, in this paper
we use the term “change cost” to designate the maximum
change cost before doing effectively the change.
Formally this change cost is defined as following
To answer this question we present in following a brief Eshuis et al. in (2003) the environment of classical Petri
introduction to Petri Net and we cite some works which net models closed systems because it does not influence
use this formalism to verify a business process. the firing of transitions. In contrast, ECA system is open
because it usually needs some additional input event to
31 Petri Net for business process verification become enabled. For this reason, Eshuis et al. propose in
Petri Net (PN) was introduced to model and analyze the (2003) a reactive Petri Net (RPN) which considers two
behavior of systems based on in a graph model. Indeed, a type of transitions: internal transitions (Tinternal) and
PN is a bipartite directed graph with two types of nodes: external transitions (Texternal ). The firing rule of Tinternal is
A place models a condition or state of a system resource. "the transition must be fired" rather then "the transition
A transition models an event or action that takes place can be fired". In same time, the external transitions
within the system. The conditions necessary to trigger an interaction with the environment and the classical firing
action are modeled by arcs that connect one place to one rule can is preserved to ensure the stability of the Petri
transition. For modeling the dynamic aspect of the net. Therefore, RPN has two possible states: stable and
system, tokens are used. Indeed, if a place contains a unstable. A state is stable if no internal transition is
token that means the condition represented by this place enabled, it is unstable otherwise. A stable state can
is verified or indicate the availability of a resource in become unstable if some external transition fires. In an
case we have several tokens in one place. One transition unstable state, the reactive Petri Net must fire some
is fired if there is a defined number of a token at the enabled internal transitions. By firing these transitions, a
input place. After firing a transition, the tokens are new state is reached. If the new state is stable, the Petri
consumed from input places and will be places at the end Net has finished its reaction.
of all output places. Finally, a PN marking is the
distribution of tokens over the places at a given instance. Despite, the reactive Petri Net seen interesting to model
our ECAPE rules set, this Net is not enough, because it
To detect errors that may contain a business process, doesn’t explicitly include the construction necessary to
several studies have exploited the strengths of PN. An model complex events. For this reason, we are interested
example of this is the works conducted by research team in another PN called Conditional Colored Petri Net
of Eindhoven University of Technology which propose (CCPN). Indeed, this CPN is proposed by Li et al. in
to use a PN, called Workflow Nets (WF-nets), to validate (2004) in order to model an ECA rule of an active
and verify of workflow (Van der Aalst, 1998). WF-Nets database system. The particularity of this Petri Net is the
require a single initial and final place, transitions fact of defining some new elements on CPN to
represent real activities, or routing and places represent characterize ECA rules features. Specially, the complex
pres and post conditions. However, the classical Petri events can be modeled by defining new types of places
nets miss expressiveness since they don’t distinguish the and new types of transitions. For this way, ECA rules
two tokens of the same place. For this reason, several can be easily modeled by CCPN by considering the
Petri net extensions have be proposed. The well knows events and actions of one rule as places which are inputs
extension is the colored Petri net (CPN). Indeed, in this and outputs transition, ECA rules themselves are mapped
kind of net, tokens are typed (colored) to express the into transitions and conditions are attached to transitions.
different characteristics of resources. In this way, the However, a Conditional Colored Petri Net can not model
pre-conditions such as “only tokens which have of a perfectly an ECAPE rules set, because each ECAPE rule
given color can be are fired” can be supposed. The may trigger one or more rules by describing explicitly
colored Petri net is widely used to verify Web services the events triggered. As a result, the rule sequence can be
composition and business process. An example of this is automatically deducted.
the paper of Yang et al. in (2005).
Inspired by how CCPN model the complex events, we
Unfortunately, the semantics of the classical PN and detail in the next section, a new Colored Petri Net called
CPN don’t allow modeling the behavior of ECA rule ECAPE Net. This latter allows rewriting formally an
based process (specifically, ECAPE rule based process). ECAPE rules set in order to analyze and verify the
Indeed, in classical Petri net (or colored Petri net), when business process.
all the conditions necessary for firing one transition are
satisfied, the transition may be fired but not necessarily,
while in a ECA system, it must be fired. According to
Boukhebouze Mohamed, Amghar Youssef, Benharkat Aïcha-Nabila and Maamar Zakaria
32 ECAPE Net
An ECAPE Net is a colored Petri Net that models the
ECAPE rules execution sequence which represents the
logical of business process. Indeed, the rule’s events are
represented by places. The input places represent events
that activate one rule and the output places represent the
events triggered by the execution of a rule action. In turn,
the rule’s action is represented by the transitions. The
rule’s condition (and rule’s post condition) is attached to
transition (see figure 8).
Figure 8: General structure of ECAPE Net Definition 3 An ECAPE Net is a colored Petri Net with
11-tuple ECAPE Net = (∑, P, T, A, C, W, Activity,
However, in ECAPE rule, an event can be primitive or Cond, PstCond, D, τ )
composite. In addition, the rule’s action is consisted of
various predefined instructions. For this reason, we need ∑ is a finite set of types also called color sets.
new Petri Net elements to help us build composite events
P is a finite set of places that model the rule’s event. P
from primitive events and to model different action’s
is divided into three subsets: P = Pprim ∪ Pcomp ∪ Pinter
instructions. Figure 9 illustrates the ECAPE net
where Pprim, Pcomp and Pinter are set of primitive,
elements. Indeed, in this Petri Net, there are five types of
composite and intermediary places. In turn, Pprim
places, two types of transitions and two types of arcs:
contain tow subsets: Pstart ⊂ Pprim and PEnd ⊂ Pprim
- Primitive place used to represent a primitive event
where Pstart and PEnd are the set of start place and end
- Composite place used to represent a composite event place.
- Intermediary place used specially in ANY event T is a finite set of transitions. T is divided into two
constructor to build a composite event. subsets: T = Tcomp ∪ Tcopy ∪ Taction where Tcomp and
- Start place used to represent the first primitive event Taction are set of composite and action transitions. In
that launches the process execution. turn, Taction is divided into four subsets : Taction = TExecute
∪ TSkip ∪ TCancel ∪ TDiscover where TExecute, TSkip,
- End place used to represent the last primitive event TCancel and TDiscover are the set of Execute, Skip, Cancel
that causes the end of process execution. and Discover transitions.
- Composite transition used to generate a composite A is a set of directed arcs that connects a place to a
event from primitive event. This will be explained
thereafter. transition and vice-versa such that A ⊆ (PxT) ∪
(TxP). A is divided into two subsets: A = Anorm ∪ Ainhi
- Action transition used to represent rule’s action where Anorm and Ainhi are set of normal and inhibitor
instructions arcs.
- Normal arc used to represent the Petri Net control C is a color function that assigns a unique color to each
flow. place p. The color of a place is denoted as C(p). C is
- Inhibitor arc used specially in NOT event constructor defined from P to ∑ such that: ∀p ∈ P, ∃C ( p ) : C ( p ) ∈ ∑
to build negation composite events.
W is a function that defines arcs by determining the
Now we give a formal definition of ECAPE Net. token’s variables that are either consumed or produced
during operation such that
Rule-based modeling & verification of business processes
∀a ∈ A, Type(var(W (a )) = C ( p (a ))) and Type(var(W (a))) ⊆ Indeed, A state Mn is called reachable from M1 (notation
∑ where Type(var(W (a))) is a function that determines M1 ∗
→ Mn ) if and only if there is a firing sequence
the types of the variables in an arc. Indeed, the first σ
σ = t1t 2 ...t n −1 such that M1 → Mn
part, in this formula, express that the types of the arc’s
variables must be compatible with the colors set of the
Secondly, we define the five following input/output sets:
input place or output place. The second part, in this
formula, express that the token’s types must belong to - • t is the input places set of transition t such
that • t = {p ∈ P : ( p, t ) ∈ A} .
the colors set of the CPN.
Activity is an activity function that is defined from
Taction to an activity name. - n•t is the input normal arc places set of transition t where
Cond is a condition function that is defined from the arc that connects p to t is normal arc such
either Taction or Tcomp to expressions such that : that n•t = {p ∈ P : ( p, t ) ∈ Anormal } .
∀t ∈ Taction , Type(Cond (t )) = boolean where Cond function - •i t is the input inhibitor arc places set of transition t
evaluates the rule’s condition; where the arc that connect p to t is inhibitor arc such
∀t ∈ Tcomp , Type(Cond (t )) = boolean where Cond function that •i t = {p ∈ P : ( p, t ) ∈ Ainhabitor } .
evaluates the condition of composite transition.
- t • is the output places set of transition t such that
PstCond is a condition function that is defined from
Taction to expressions such that : t • = {p ∈ P : (t , p ) ∈ A}
∀t ∈ Taction , Type( PstCond (t )) = boolean where PstCond - p • is the output transitions set place p such that
function evaluates the rule’s post condition.
p • = {t ∈ T : ( p, t ) ∈ A}
D is a time interval function that is defined from Tcomp
to a time interval [d1, d2]
Finally, in ECAPE net, a Sequence S from a node n1
τ is a time stamp function which assign each token in (place or transition) to a node nk is a sequence
place p a time stamp corresponding to time event n1 , n2 ,..., nk such that ni , ni +1 ∈ A . A Sequence is
happen. τ is expressed in natural clock with the form
year : month : day - hour : minute : second. For elementary if each node is unique.
example, a token has time stamp 2009: 02: 06 -18: 46:
16. The ECAPE Net model the execution of ECAPE rules
set. For this reason, we will specify, in following, the
Note that, in ECAPE Net, a token is 4-tuple (p, c, data, firing rules of composite and action transition of an
timestamp) where p ∈ P, c ∈ C ( p ) called the color, data ECAPE Net.
is business information and timestamp specifies the
natural time when the token is deposited into place p. Definition of the composite transition firing rule
A composite transition is fired if there are at least one
Before continuing to explain the ECAPE net, we will token in all its input places, if the sum of all tokens in all
first define some usual functions, sets and notions that input places is more then the multiplicity of normal arcs
are used to formalize ECAPE net: that connect all input places to this composite transition
and if all conditions attached to the composite transition
Firstly, M is the net marking function that is defined is true.
from P to N (set of all natural numbers) to assigns to Formally, a composite transition is fired if and only if:
each place a number of tokens. We denote by M0, the 1- ∀p∈n• tcomp , M ( p ) ≥ 1
initial marking (initial state) of the Petri net. And we
denote by Mf, the final marking (final state) of the 2- ∀p ∈ P, M ( p ) ≥ W ( p, t comp )
ECAPE net. M(p) is the place marking function that 3- Cond(tcomp) = True
defined is from P to N (set of all natural numbers) to
specify the number of token in one place at given state. Note that a composite transition is also fired when there
are any tokens token in the time interval [d1, d2] at the
The state of the net may change according to change of input places that are connected with inhibitor arcs.
the tokens number during the execution of the net.
Boukhebouze Mohamed, Amghar Youssef, Benharkat Aïcha-Nabila and Maamar Zakaria
Formally, a composite transition is fired if and only if: In fact, the composite transition is fired when e1 marked
∀d ∈ [d1 , d 2 ], ¬∃p∈•i tcomp , M ( p ) ≥ 1 Indeed, as we said with n token in the time interval [d1, d2]. After firing of
this transition, the composite place ec is marked.
previously, a composite transition is used to generate a - Any event (ANY(m, e1, e2, …, en)) express that any m
composite event: events of e1, e2, …, en happen where m < n. Figure
- Conjunction event (e1 ∧ e2 ) express that both e0 and e1 10.G show how to generate this event. In fact, m
happen. Figure 10.A show how to generate this event. composite transitions are fired when e1, e2, …, en are
In fact, the composite transition is fired when both e1 marked. Each of these m transitions mark an
and e2 are marked. After firing of this transition, the intermediary place ei. This will help to limit the
composite place ec is marked. composite transitions fired to m because when ei has m
- Disjunction event (e1 ∨ e2 ) express that e1 or e2 happen. token, the last composite transition is fired to generate
Figure 10.B show how to generate this event. In fact, the composite event ec
one of the two composite transitions is fired when e1 or
e1 are marked. After firing of one of two transitions, the Definition of the action transition firing rule
composite place ec is marked. An action transition is used to represent rule’s action
- Negation event (¬e1in[d1, d 2]) express that e1 do not instructions. It is fired if there are at least one token in all
happen in the time interval [d1, d2]. Figure 10.c show its input places and all conditions and post conditions
how to generate this event. In fact, the composite attached to it is true. Formally, an action transition is
transition is fired when e1 is not marked in the time fired if and only if:
interval [d1, d2]. After firing of this transition, the 1- ∀p∈• t action , M ( p) ≥ 1
composite place ec is marked. 2- Cond(taction) = PstCond(taction) = True
- Sequence event (SEQ(e1 , e2)) express that event e1
before the event e0. Figure 10.D show how to generate However, the Skip transition (TSkip) and Cancel transition
this event. In fact, the composite transition is fired (TCancel) has some particular semantic execution. Indeed,
when both e0 and e1 are marked and if τ (e1) < τ (e2) . as illustrated in figure 11, the Cancel transition is
After firing of this transition, the composite place ec is attached to an Execute transition. If Cancel transition is
marked. fired, all tokens of all input places of its attached Execute
- Simultaneous event (SIM(e1 , e2)) express that event e0 transition are removed. In this why, the Cancel transition
happen at the same time with the event e1. Figure 10.E disables the Execute transition. In turn, Skip transition is
show how to generate this event. In fact, the composite also attached to an Execute transition. If Skip transition
transition is fired when both e1 and e2 are marked and if is fired, all tokens of all input places of its attached
τ (e1 ) = τ (e2) . After firing of this transition, the Execute transition are removed and one token is added
composite place ec is marked. into all output places of its Execute transition. In this
- Occurrence event (OCC(n, e1) in[d1, d2]) express that why, Skip transition skips the Execute transition.
event e1 occurs n time in the in the time interval [d1,
d2]. Figure 10.F show how to generate this event.
To illustrate the ECAPE net, we present, in figure 12, the ensure the reliability of the process by analyzing the
ECAPE net of the previous purchase order process ECAPE net.
example. Indeed, the events of this process are
represented using places. The composite events are
generated by using the composite transitions and
represented by composite events. In turn, the rule’s
actions are represented using the action transitions.
Finally, the rule’s conditions are attached to action
transitions. We detail the semantic of this Petri net
execution through the following execution scenario
example. We assume that the first place has one token
when event (process beginning) of rule R1 occurs. So this
place is a start place because it launches the execution of
the process. After that marking, the action transition,
which represents the execution of the action request
order of rule R1, is fired. Consequently, one token is
placed in the place which represent post event of rule R1
and triggered by request order action (Send message).
After that the action transition which represents the
check customer action of the rule R2 is fired and one
token is placed in the output place. If the condition
“costumer is registered” is true then the two action
transitions, which represent respectively the initial price
calculation action of rule R3 and shipper selection action
of rule R4, are fired. Due to this firing, one token is
placed in each output place of these two action
transitions. However, to calculate the final price, we need
to complete the execution of the initial price calculation
action and shipping price calculation action. To model
that, we use a composite event that is generated by a
composite transition as shown in the figure. This
transition is fired only if one token is placed in each
input places. According to our execution scenario, the
composite transition is fired after firing the action
transition which represents the shipping price calculation
action of rule R5 and after placing one token in the output
primitive place because one token is already placed in Figure 12: ECAPE net of the purchase order
place which models accomplished of the initial place process
calculation action. And so on, the token move around the
primitive places, composite transitions, composite places
and action transitions until arrive to end place which
represents the end process event. 33 Verification of process using ECAPE Net
After detailing the formal ECAPE net definition, we will The aim of the process verification is to ensure the
show how to verify the business process using this net. correctness of the process. According to Van der Aalst in
Indeed, the great advantage of modeling the ECAPE (1998) a business process definition is correct if a set of
rules execution sequence via an ECAPE net is not minimal requirements or criterions is satisfy. These
limited to express formally the execution semantic of criterions can be related to the structure of the Petri net
these rules set, but this execution can also be verified by (so-called well-structuredness property) or relates to
using a this net in order to detect eventual execution the dynamics of the Petri net (so-called Soundness
errors. For this reason, we detail, in following, how to property).
Boukhebouze Mohamed, Amghar Youssef, Benharkat Aïcha-Nabila and Maamar Zakaria
ECAPE formalism to describe a business process using a In the execution phase, a Rule engine interprets the
set of business rules. fulfillment specification of business rules actions. This
interpretation is performed by automating interactions
between business participants (the documents, the
information and tasks) and allocating the different
resources. The activation of these rules is ensured by a
complex event processing (CEP) engine. Indeed, this
engine detects the predefined events (primitive of
complex events) and alerts the Rule engine by sending
messages. When it receives a message, the Rule engine
activates the rules according to the triggered events. Note
that, these messages are also fed back into the CEP
engine and treated as incoming events. This will allow
generating the composite events. Finally, the different
log files, historic of events and traces accumulated
during the execution of a large number of rules instances
are stored in a specific base to be used in the next step.
rules broker is defined to unify the access to different several rule-based declarative languages have been
business rules engines by using the web services proposed. According to Wagner in (2005), the rules
interfaces. The Rules Interceptor Service is used as a languages can be classified in accordance with the
bridge between business rules and the BPEL process by following three levels of abstraction (figure 14):
defining two types of interception: before activity
(before) and after activity (after). Another work is At computation independent (CIM) business rules meta-
presented by Lee et al. in (2007) which suggest a state- models are proposed in the aim to define the vocabulary
driven specification of a business process for insert used to express the business rules. Indeed, the business
process states into a process model using process units, vocabulary definition can be textually done as
and separates the business rules from the process flow by terminologies by using structured English, as proposed
regarding the states as the milestones which indicate by the standard SBVR (Semantics of Business
where the rules are separated. Vocabulary and Business Rules) in (OMG, 2008). The
business vocabulary definition can also be done visually
The second works category tempts to extend the as conceptual class diagrams in UML, as proposed by
imperative languages in order to take into account the Wagner in (2005). Finally, the business vocabulary
business rules in process model. An example for this is definition can formally be done as predicate logic or as
presented by Charfi et al. in (2007) which propose to ontologies in RDF and OWL (Wagner, 2005).
model a business rules as an aspect. In this way, the
technique of aspect oriented programming can be used in At platform independent modeling (PIM) business rules
the aim to integrate the business rules within a BPEL languages are proposed in the aim to formalize rule
process engine. Another work is proposed by Van expressions. Indeed, the rules formalism used in these
Eijndhoven et al. in (2008) which suggest to uses languages depend to what categories of rule they
business rules and workflow patterns to model the represent. An example of theses the languages is OCL
process flow parts that are most variable in order to (OMG, 2003) which is uses to express integrity rules and
increase in flexibility of service oriented business derivation rules in conjunction with UML models.
processes. And also, the work of Boukhebouze et al. in PENELOPE (Goedertier et al., 2006) is another language
(2007) which proposes to identify business rules in a that uses the deontic logic to formalize the rules in terms
business process model by adding a "Rule" activity to of obligations and authorizations that feature business
BPEL. interactions. Note that, some general rule markup
languages are proposed. These languages can be used for
Despite the solutions provided by this approach which interchanging rules between different rule languages like
respond in some way to the problem of imperative RuleML (Schroeder et al. 2002) and R2ML (Wagner,
languages rigidity, they do not guarantee complete 2005). However, these languages are either generic or
flexibility including the impact of the change of a rule on specialized and in either case they are not appropriate for
the rest of the process. Moreover, experiments have defining a process since elements such as business
shown that organizations express their policies and activities, participants, event, just to cite a few are
regulations in business rules form using natural language execluded.
or adding text annotations in their models (Zur Muehlen
et al., 2007). However, the formulation of business rules Furthermore, according to Knolmayer et al. in (2000)
must be rigorous, concise and precise to ensure that these and Lu et al. in (2007) the reaction rules (ECA) are the
rules are unambiguous, coherent, and set out with a most adapted to model business rules. This is justified by
common business vocabulary. the fact that this kind of rules is easier to maintain and it
cover all other rules kinds (Integrity, deviation,
In this spirit, a second approach proposes to model the production, and transformation). This is done in various
logic of the process with a set of rules using declarative works, like the AgentWork framework of Müller et al. in
languages. These languages focus on what to do rather (2004), where ECA rules are used for temporal workflow
than how and that in describing the behavior of the management, or in the work of Zeng et al. in (2001) that
process in a way implied (Lu et al., 2007). In our work, considers a process as a set of tasks coordinated between
we are particularly interested in using a declarative them by ECA rules and use agents to encapsulate
language based on business rules so that the flexibility of services that perform the process tasks. Our work is
these processes can be achieved. Indeed, in the literature, positioned in this rule category.
Rule-based modeling & verification of business processes
Thus, the use of the ECA formalism is interesting to For representing the ECAPE rules set, we have proposed
model, in our framework, business processes. However, the new XML based language called RbBPDL.
in the aforementioned declarative process modeling
languages used this formalism, the modeling flexibility Finally, we proposed architecture, called BP-FAMA, for
with focus on the impact of a rule change on the rest of a rule-based modeling and verification of business process
process is not well looked into. Therefore, there is a need that use the new proposed model.
for a more powerful formalism that would allow a
complete definition of this relationship. This is way, we In the future, we aim to extend the model in order to
opted for the use of ECAPE formalism and RbBPDL propose a vocabulary meta-model. Another future aim is
language. to optimize the operational process by analyzing, in
diagnostic phase, the events historic.
At platform specific modeling (PSM) the execution rule
models is proposed in order to formalize the execution of
the rules set as ILOG JRules. However, these execution REFERENCES
rule models do not allow to have an explicate execution
scenario. As a result a more powerful paradigm is Boukhebouze.M, Amghar. Y, Benharkat.A.N. (2007) ‘BP-
deemed appropriate in order to translate, in an easy way, FAMA: business process framework for agility of
a business process into a formal model and ensure the modelling and analysis’. In ICEIS: 10th International
Conference on Enterprise Information Systems ICEIS,
process verification by allowing to building an execution Barcelona, SPA
scenario in an automatic way. This is way, we opted for
the use of ECAPE formalism and ECAPE net. Charfi.A, Schmeling.B, Mezini.M, (2007) 'Transactional BPEL
Processes with AO4BPEL Aspects.' in ECOWS 2007:
149-158
Dehnert.J, Zimmermann A. (2005). ‘On the suitability of
8 Summary correctness criteria for business process models.’ Proc. 3rd
Int. Conf. on Business Process Management (BPM 2005)
In this paper we proposed a new rule based model that Nancy, France, September 2005, pp. 386-391.
aims at tacking the following two issues: the
Eshuis.R, Dehnert.J, (2003) 'Reactive petri nets for workflow
implementation of business rules in a business process
modeling' in Application and Theory of Petri Nets 2003.
code makes this process rigid and difficult to maintain, Pages 296--315, Springer
and the lack of mechanisms to support the verification
Goedertier, S. and Vanthienen, J. (2006). ‘Designing compliant
process. For this reason, ECAPE formalism is used in
business processes with obligations and permissions’. In
order to describe a business using a set of business rules Eder and Dustdar (2006), pages 5–14.
that are translated into a graph of rule for managing the
Knolmayer, G., Endl, R., and Pfahrer, M. (2000). ‘Modeling
flexibility and ECAPE net for simulating the process Processes and Workflows by Business Rules.’ In Business
execution.
Boukhebouze Mohamed, Amghar Youssef, Benharkat Aïcha-Nabila and Maamar Zakaria
Process Management, Models, Techniques, and Empirical Russell.N, Van der Aalst.W.M. P., ter Hofstede.A.H. (2006).
Studies W. M. Aalst, J. Desel, and A. Oberweis, Eds. Exception Handling Patterns in Process-Aware
Lecture Notes In Computer Science, vol. 1806. Springer- Information Systems. BPM Center Report BPM-06-04 ,
Verlag, London, 16-29. BPMcenter.org, 2006.
Koshkina.M, van Breugel.F. (2004) ‘Modelling and verifying Schroeder. M, and Wagner. G, (2002) ‘Languages for Business
web service orchestration by means of the concurrency Rules on the Semantic Web’. In Proc. of the Int.
workbench.’ ACM SIGSOFT Software Engineering Workshop on Rule Markup Italy, June 2002. CEUR-WS
Notes, 29(5), September 2004. Publication Vol-60
Lee.S, Kim.T.Y, Kang.D, Kim.K, Lee.J.Y. (2003) Smith.H, Fingar.P. (2003). ‘Workflow is just a Pi process’,
‘Composition of executable business process models by Rapport Computer Sciences Corporation, Novembre 2003
combining business rules and process flows.’ in Expert Taveter.K, Wagner G., (2001) ‘Agent-oriented business rules:
Systems with Applications. Volume 33, Issue 1, July Deontic assignments’. In Proc. of Workshop on Open
2007, Pages 221-229 Enterprise Solutions: Systems, Experiences, and
Li.X. Marín.J.M, (2004) ‘Composite Event Specification in Organizations (OES-SEO2001)
Active Database Systems: A Petri Nets Approach.’ In: The Business Rules Group, (2002) ‘Defining Business Rules,
Kurt Jensen (Ed.): Proceedings of the Fifth Workshop and What are they really?‘ in www.businessrulesgroup.org,
Tutorial on Practical Use of Coloured Petri Nets and the July 2000.
CPN Tools, Aarhus, Denmark, October 8-11, 2004,
DAIMI PB - 570, pages 97-116. October 2004. The Workflow Management Coalition, (2005) ‘Workflow
Management Coalition Workflow Standard Process
Lu.R, Sadiq.S. (2007) ‘A Survey of Comparative Business Definition Interface: XML Process Definition Language.’
Process Modeling Approaches’. In BIS 2007: 82-9429 In the specification rapport (2005).
Müller, R., Greiner, U., Rahm, Erhard.: (2004) ‘AgentWork: a Van Breugel.F, M. Koshkina. (2006) ‘Models and Verification
Workflow System Supporting Rule-Based‘ Workflow of BPEL Rapport de recherche’, L’université de York.
Adaptation. In Data & Knowledge Engineering, Vol. Department of Computer Science and Engineering.
51(2) (2004) 223-256 Sptembre 2006.
OASIS, (2007) ‘Business Process Execution Language for Web Van der Aalst.W.M. (1998).’The Application of Petri Nets to
Services (BPEL4WS): Version 2.0.’ In BPEL4WS Workfow Management.’ The Journal of Circuits, Systems
specification report and Computers, 8(1):21{66, 1998.
Object Management Group, (2003) Object Constraint Van Eijndhoven.T, Iacob.M.E, Ponisio.M.L. (2008).
Language (OCL) in www.omg.org/docs/ptc/03-10-14.pdf ‘Achieving Business Process Flexibility with Business
Object Management Group, (2008) Semantics of Business Rules.’ In EDOC 2008: 95-104
Vocabulary and Business Rules (SBVR) in Wagner. G, (2005) ‘Rule Modeling and Markup’ in Reasoning
http://www.omg.org/spec/SBVR/1.0/PDF Web, 3564 ed, N. Eisinger and J. Maluszynski, Eds.
Ouyang, C., Verbeek, E., van der Aalst, W.M.P., Breutel, S., Msida, Malta: Springer, 2005, pp. 251-274.
Dumas, M. ter Hofstede, A.H.M., (2005). ‘WofBPEL: a Wagner. G, Giurca, A., Lukichev, S. (2006), ‘Modeling Web
tool for automated analysis of BPEL processes’. In ICSOC Services with URML.’ In proceedings of Semantics for
2005, International Conference of Service-Oriented Business Process Management Workshop, Budva,
Computing ,Berlin. Montenegro, June 2006
Pu.G., Zhao.X., Wang.S., and Qiu.Z. (2005) ‘Towards the Yang, Y., Tan, Q. Yu, J., Liu, F. (2005). ‘Transformation
semantics and verification of BPEL4WS.’ In Proceedings BPEL to CP-nets for verifying web services composition’.
of the International Workshop on Web Languages and In the International Conference on Next Generation Web
Formal Methods, volume 151(2) of Electronic Notes in Services Practices, Korea
Theoretical Computer Science, pages 33{52, New Castle,
UK, July 2005. Elsevier. Zeng, L., Ngu, A., Benatallah, B., O'Dell, M. (2001) ‘An
Agent-Based Approach for Supporting Cross-Enterprise
Regev.G, Soffer.P, Schmidt.R, (2006) ‘Taxonomy of Workflows.’ In proceedings of the 12th Australasian
Flexibility in Business Processes’. Seventh Workshop on Database Conference (ADC2001) (2001)
Business Process Modeling, Development, and Support In
conjunction with CAiSE’06
Rosenberg.F, Dustdar.S, (2005) 'Business Rules Integration in
BPEL – A Service-Oriented Approach' in Proceedings of
the Seventh IEEE International Conference on E-
Commerce Technology CEC 2005.