An Observation-based Algorithm for Workflow
Matching
Kais Klai
1
, Samir Tata
2
and Issam Chebbi
2
1
Technical University Eindhoven
2
GET/INT France
Abstract. This work is in line with the CoopFlow approach dedicated for inter-
organizational workflow cooperation that consists of workflow advertisement,
workflow interconnection, and workflow cooperation. To support interconnec-
tion, we propose in this paper a efficient algorithm for workflow matching
3
.
1 Introduction
Research on workflow management has focused on inter-organizational issues and much
has been achieved so far [4,1]. Problems to be encountered on this research include
mainly autonomy of workflow processing, flexibility, and lack of arbitrary workflow
support. To deal with these issues, we have developed the CoopFlow approach [3] that
consists of three steps: workflow advertisement, interconnection, and cooperation. In
fact, for building an inter-organizational workflow, each organization has to advertise,
within a common registry, a description of its offered and required activities within their
workflows. For workflow interconnection, each organization identifies its partners us-
ing a matching mechanism. For matching workflows, we propose in this paper a new
algorithm using symbolic observation graphs (SOG for short) [2]. The rest of this paper
is organized as follows. Section 2 describes informally our novel method of workflow
abstraction based on SOGs. Section 3 presents a efficient algorithm to workflow match-
ing. Using workflow matching, Section 4 shows how inter-organizational workflow is
formed. Conclusion and perspectives are presented in Section 5.
2 Workflow Abstraction
An inter-organizational workflow can be considered as the cooperation of several local
workflows. Each one has two types of activities (transitions): cooperative activities that
interact with other workflows and local activities that perform local actions. In order to
set up cooperation, workflows have to be abstracted to preserve privacy, and advertised
into a registry to be found and interconnected to partners’ workflows. Workflows are
reprenseted by Wf-nets [5]: A WF-net is a Petri net that has one source place and
3
This research has been partially funded by the Netherlands Organisation for Scientific Re-
search (NWO) under FOCUS/BRICKS grant number 642.000.504.
Klai K., Tata S. and Chebbi I. (2006).
An Observation-based Algorithm for Workflow Matching.
In Proceedings of the 4th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems, pages
193-197
DOI: 10.5220/0002500801930197
Copyright
c
SciTePress
one sink place and all its nodes (places or transitions) should be on some path from
source to sink. To define workflow abstraction and matching, we need to introduce
some definitions. Let σ be a sequence of transitions (σ T
). The projection of σ on a
set of transitions X T (denoted by σ
X
) is the sequence obtained by removing from
σ all transitions that do not belong to X. A sequence σ = t
1
t
2
. . . t
n
over transitions is
said to be accepted if i (resp. o) is in set of input (resp. output) places of t
1
(resp t
n
)
and σ can be executed by the workflow. The language L(W ) of a workflow W is the
set of all accepted sequences and the projection function is extended to L as follows:
L
X
= {σ
X
, σ L}.
To abstract workflows, we use SOG introduced in [2] as an abstraction of the reach-
ability marking graph of a given Petri net within a model checking approach. The build-
ing of the SOG is guided by the set of the cooperative transitions. Such activities are
called observed, since they interact with other workflows, while the other transitions
are unobserved. Then, the SOG is defined as a deterministic graph where each node is
a set of markings linked by unobserved sequences of transitions and each arc is labeled
with an observed transition. Nodes of the SOG are called meta-states and may be rep-
resented and managed efficiently by using Ordered Binary Decision Diagram (OBDD
techniques) [6].
The SOG technique is suitable for abstracting workflows for many reasons: First,
the SOG allows one to represent the language of the workflow projected on the coop-
erative transitions i.e. the local behaviors are hidden. The second reason is that such an
abstraction is suitable for checking whether two workflows represented by their SOG
can be interconnected (see section 3). Finally, the reduced size of the SOG (in general)
could be an advantage when one plans to store and manage a big number of workflows
abstractions in a same registry. For sake of space, we do not give the SOG building
algorithm, we refer the reader to [2] for more details about the SOG technique.
3 An Algorithm for Workflow Matching
Given a Wf-net W
1
and a registry of potential partners for W
1
, we discuss in this section
the selection criteria allowing to choose of a Wf-net W
2
in the registry as partner of
W
1
. Such criteria are based on the observable behavior of W
1
, i.e. its behavior on the
cooperative transitions, which must match with the observable behavior of W
2
. Each
cooperative transition t of Wf-net W is represented by a tuple t = hname, type, msgi
s.t.(1) the name attribute of t is the label associated to t, (2) the type attribute of t is a
boolean variable and it says whether t is supposed to receive a message (t.type = 1), or
to send a message (t.type = 0), and (3) the msg attribute of t represents the semantic
description of the message (using a common ontology) t has to send or to receive.
In order to check whether there exists a correspondence between two cooperative
transitions t
1
and t
2
belonging to two different Wf-nets, we need to compare these
transitions with respect to their attributes. Two attributes are taken in account: type and
msg. For instance, if t
1
is a reception transition then t
2
must be a sending transition and
both transitions have to match on the semantic of the exchanged message. We denote
by t
1
.msg t
2
.msg the fact that messages of t
1
and t
2
deal with the same data type
194
and semantics. Now, if t
1
.type = ¬(t
2
.type) and t
1
.msg t
2
.msg, then we say that
t
1
matches with t
2
(and vice versa) and denote this relation by t
1
t
2
.
The following hypothesis is important for the remaining part of the paper. It says
that, within the same Wf-net W
1
, if a cooperative transition occur in a Wf-net more than
once then these occurrences are executed in an exclusive way. In this case we denote
by {t} the set of occurrences of a cooperative transition t in a Wf-net. Let hW
1
, m
1
i
be a marked Wf-net and let T
1
be its set of cooperative transitions. Then t
1
T
1
,
σ = αt
1
α
t
1
, where α and α
T
1
, then σ 6∈ L(W
1
, m
1
) (H).
To define formally the fact that a Wf-net W
1
can cooperate with a given Wf-net W
2
,
we need to introduce a renaming procedure L
W
1
and define a cooperation candidate
property.
Let W
1
and W
2
be two Wf-nets and let T
1
and T
2
be their sets of cooperative
transitions. The renaming procedure L
W
1
associated to W
1
is defined as follows:
L
W
1
(W
2
) = t
2
T
2
if t
1
T
1
s.t. t
1
t
2
then t
2
.name := t
1
.name.
Let hW
1
, m
1
i and hW
2
, m
2
i be two marked Wf-nets: hW
2
, m
2
i is said to be a can-
didate for cooperation with hW
1
, m
1
i iff L
T
1
(hW
1
, m
1
i) L
T
2
(hL
W
1
(W
2
), m
2
i).
To check the above inclusion of projected language, we use the SOG of W
1
and
W
2
. Actually, the Wf-net W
2
would be an effective candidate to cooperate with W
1
if the language induced by the SOG of W
1
is included in that induced by SOG of
L
W
1
(W
2
). The inclusion test Algorithm 1 works on the fly i.e. the building of the syn-
chronized product between the involved SOGs can be stopped at any moment as soon
as the inclusion is proved unsatisfied. When the synchronized product is entirely built,
one deduce that the inclusion holds. The parameters of this algorithm are the SOGs
SoG
1
= hs
0
, S
1
, E
1
i and SoG
2
= hs
0
, S
1
, E
1
i of (W
1
, m
1
) and (L
W
1
(W
2
), m
2
) re-
spectively. s
0
(resp. s
0
) is the initial meta-state of SoG
1
(resp. SoG
2
), S
1
(resp. S
2
)
its set of meta-states and E
1
(resp. E
2
) its set of arcs. The data structures used by
Algorithm 1 (L(SoG
1
= hs
0
, S
1
, E
1
i) L(SoG
2
= hs
0
, S
2
, E
2
i))?
1: State s
1
, s
2
, s
1
, s
2
;
2: Set of transition f
1
, f
2
;
3: stack st;
4: s
1
= s
0
; s
2
= s
0
;
5: f
1
= Out(s
0
), f
2
= Out(s
0
);
6: if f
1
6= and f
2
6= then
7: if (Names(f
1
) 6⊆ Names(f
2
)) then
8: return false;
9: end if
10: end if
11: Synch = {hs
1
, s
2
i};
12: st.Push(hs
1
, s
2
, f
1
i);
13: repeat
14: st.Pop(hs
1
, s
2
, f
1
i);
15: for t f
1
do
16: s
1
= Img(s
1
, t); s
2
= Img(s
2
, t)
17: if hs
1
, s
2
i 6∈ Synch then
18: f
1
= Out(s
1
); f
2
= Out(s
2
);
19: if f
1
6= and f
2
6= then
20: if (Names(f
1
) 6⊆ Names(f
2
)) then
21: return false;
22: end if
23: Synch = Synch {hs
1
, s
2
i};
24: st.Push(hs
1
, s
2
, f
1
i);
25: end if
26: end if
27: end for
28: until st == ;
29: return true;
Algorithm 1 are a table Synch and a stack st. Synch is used to store the states of the
195
synchronized product non completely treated. An item of st is a tuple hs
1
, s
2
, f
1
i com-
posed of a reachable meta-state of (W
1
, m
1
), a reachable meta-state of (L
W
1
(W
2
), m
2
)
and a set of cooperative transitions enabled from both nodes. Moreover, three functions
are used Out(), Img() and Names(). Out() is applied to a node of the SOG and return the
set of transitions labeling its output edges. Img() is applied to a state s
1
and a transition
t (enabled in this node) and returns the reached state. Names() is applied to a set of
transitions f and returns the set of transitions’ names.
4 Workflow Interconnection
The interconnection of two workflows W
1
and W
2
satisfying the cooperation candidate
property is performed by completing W
1
(resp. W
2
) by an interface which connect its
cooperative transitions to those of W
2
(resp. W
1
) via some buffer places.
Let W
1
= hP
1
, T
1
, P re
1
, P ost
1
i and W
2
= hP
2
, T
2
, P re
2
, P ost
2
i be two Wf-
nets. Let C
1
and C
2
be the cooperative transitions of W
1
and W
2
respectively. Then
the interface workflow is represented by a Petri net Int
12
= hB, T, P re, P osti defined
as follows: (1) B is a set of buffers. For all subsets {t
1
} and {t
2
} of occurrences of
transitions t
1
and t
2
in W
1
and W
2
resp., such that t
1
t
2
, there exists an associated
buffer place b B, (2) T = C
1
C
2
and (3) for each place b and associated occurrences
subsets {t
1
} and {t
2
} of cooperative transitions: if t
1
.type = 1 (resp. t
1
.type = 0) then
P re(t
1
) = b and P ost(t
2
) = b (resp. P ost(t
1
) = b and P re(t
2
) = b).
Now one can use the interface workflow in order to interconnect the associated Wf-
nets W
1
and W
2
. This interconnection is simply performed by composing these three
Petri nets by fusion of shared transitions (the cooperative transitions). The obtained net
can be simply transformed, so that it satisfies the Wf-net properties, by adding a new
source place (resp. a sink place) and connect it to the two existing source places (resp.
sink places) via a new transition.
5 Conclusion and Perspectives
In line with the CoopFlow approach that consists of three steps: workflow advertise-
ment, interconnection, and cooperation, we showed, in this paper, how to abstract the
behavior of workflows and presented an efficient algorithm for matching and inter-
connecting Wf-net partners. Currently, we are implementing algorithms for workflow
abstraction and interconnection in order to be integrated into the CoopFlow framework.
References
1. A. Van Dijk. Contracting workflows and protocol patterns. In Proceedings BPM, Eindhoven,
The Netherlands, June 2003.
2. S. Haddad, J-M. Ili
´
e, and K. Klai. Design and evaluation of a symbolic and abstraction-based
model checker. In Farn Wang, editor, ATVA, volume 3299 of LNCS. Springer, 2004.
3. I. Chebbi, S. Dustdar, and S. Tata. The view-based approach to dynamic inter-organizational
workflow cooperation. Data and Knowledge Engineering Journal, 56:2, 2006.
196
4. W.-M.-P. van der Aalst and M. Weske. The p2p approach to interorganizational workflows.
13th Int. Conf. on Advanced Information Systems Engineering. Springer-Verlag, 2001.
5. W.-M.-P. van der Aalst. The application of petri nets to workflow management. Journal of
Circuits, Systems, and Computers, 8(1):21–66, 1998.
6. I. Wegener. Branching programs and binary decision diagrams: theory and applications.
Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 2000.
197