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