<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On Discovering Distributed Process Models - the case of asynchronous communication -</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pieter Kwantes</string-name>
          <email>p.m.kwantes@liacs.leidenuniv.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jetty Kleijn</string-name>
          <email>h.c.m.kleijn@liacs.leidenuniv.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LIACS, Leiden University</institution>
          ,
          <addr-line>P.O.Box 9512 NL-2300 RA Leiden</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <fpage>49</fpage>
      <lpage>65</lpage>
      <abstract>
        <p>This paper is concerned with the discovery of models of distributed processes from event logs under the assumption that an algorithm for the discovery of the component models is given. We use Enterprise nets to model local processes, while Industry nets are compositions of Enterprise nets which interact through asynchronous message passing. First, we investigate the relation between the behaviour of Enterprise nets and that of Industry nets and formalise the (causal) structure of global (Industry net) behaviour in terms of a partial order derived from the message passing. Next, we demonstrate how to leverage existing algorithms for the discovery of workflow nets to discover Enterprise nets and how to combine these into an Industry net. Using the results on the structure of the global behaviour, we relate the behaviour of the Industry net thus discovered to the behaviour of the Enterprise nets and show how fitness of the Enterprise nets (the event log provided as input is included in the behaviour of the discovered net) is preserved as fitness of the Industry net.</p>
      </abstract>
      <kwd-group>
        <kwd>process discovery</kwd>
        <kwd>distributed process</kwd>
        <kwd>event log</kwd>
        <kwd>workflow net</kwd>
        <kwd>E-net</kwd>
        <kwd>I-net</kwd>
        <kwd>asynchronous channels</kwd>
        <kwd>partial order</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Industry nets have been introduced in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] as a framework to model global
communication between enterprises where the design of their internal
operations is left to the local level. In this set-up, operations at the enterprise
level are represented by Enterprise nets (Petri nets with input, output, and
internal transitions) and Industry nets are compositions of Enterprise nets
that interact by exchanging messages through channels. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a method is
proposed to establish global compliance of an Industry net with a reference
model by local checks (of Enterprise nets) only. In this paper, we focus on
the discovery of Industry nets from a description of the (observed) global
behaviour of a collection of collaborating enterprises.
      </p>
      <p>
        Business process modelling and process mining are nowadays very active
research areas and there are many approaches both to process discovery and
conformance checking (see, eg., [
        <xref ref-type="bibr" rid="ref11 ref6 ref8">6, 8, 11</xref>
        ]). Here, we take advantage of this
and consider the discovery of distributed processes (modelled as Industry
nets) assuming the existence of an algorithm for the discovery of component
processes (in the form of Enterprise nets with their own activities). To be
precise, we first demonstrate how an algorithm that computes from an
event log a Petri net, say a workflow net [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] (the Inductive Miner [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] is an
example of such an algorithm), can be adapted to yield an Enterprise net.
Then, given some global behaviour and the local event logs determined by it,
an Industry net is constructed by combining the Enterprise nets discovered
from the respective local event logs.
      </p>
      <p>In order to compare the given global behaviour with the behaviour (the
firing sequences) of the Industry net, we first investigate, after a preliminary
section, in Sections 3, 4, and 5, the relation between the behaviour of an
Industry net and the firing sequences of its Enterprise nets. As a consequence
of the asynchronous set-up, every sequence that can be executed by an
Industry net is also locally executable (ignoring the actions of other
components) by each of its Enterprise nets. To describe the converse relationship,
we formulate a prefix property that identifies those action sequences that
can be executed by an Industry net whenever they are locally executable in
all component Enterprise nets. Furthermore, by explicitly assigning
occurrences of output actions to (dependent) occurrences of input actions, we can
associate with each sequence with the prefix property, a labelled partial
order reflecting the necessary ordering of action occurrences in this sequence.
All linearisations of this labelled partial order are also firing sequences of
the Industry net. We show that, in case the input/output relation is based
on a FIFO relation, the set of these linearisations is maximal. In Section 6,
we demonstrate how to leverage existing process discovery algorithms to
the discovery of Industry nets. Then we argue, based on the results from
the earlier sections, how fitness of the nets delivered by the original
algorithm (the event log provided as input is included in the behaviour of the
discovered net) guarantees the fitness of the distributed model. Section 7
concludes the paper and briefly considers related work.</p>
      <p>Due to the page limit, this paper has no proofs. We provide, however,
examples, explanations, and lemmas to clarify our statements and results.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>N = {0, 1, 2, . . .} is the set of natural numbers including 0. For n ∈ N, we
set [n] = {1, 2, 3, . . . , n} and if n = 0, then [n] = ∅. By A ] B we denote the
union of disjoint sets A and B. Given a partial order R ⊆ A × A, we refer
to a total order R0 ⊆ A × A such that R ⊆ R0, as a linearisation of R.</p>
      <p>An alphabet is a finite, non-empty, set of symbols. Let Σ be an alphabet.
A word over Σ is a sequence w = a1 · · · an, with n ≥ 0 and ai ∈ Σ, for
all i ∈ [n]; we refer to n as the length of w, denoted by |w|. If n = 0
then w is the empty word denoted by λ. Note that |λ| = 0. The set of
all words over Σ is denoted as Σ∗. Any subset of Σ∗ is a language (over
Σ). It is often convenient to consider a word w = a1 · · · an as a function
w : [|w|] → Σ, defined by w(i) = ai for all i ∈ [n]. The alphabet of w
is alph(w) = {w(i) | i ∈ [n]}. Hence alph(λ) = ∅. For a language L,
Alph(L) = S{alph(w) | w ∈ L} is the set of all symbols that occur in
the words of L. If a word w is a concatenation of words v1 and v2, i.e.,
w = v1v2, then v1 is said to be a prefix of w. The number of occurrences
of symbol a ∈ Σ in a word w ∈ Σ∗ is defined as #a(w) = |{i | w(i) = a})|
and the set of occurrences of w is occ(w) = {(a, i) | a ∈ alph(w) ∧ 1 ≤
i ≤ #a(w)}. In addition, we allocate a position with each occurrence of
w through the function posw : occ(w) → [|w|] as follows: for all (a, i) ∈
occ(w), posw((a, i)) = k if w(k) = a and #a(w(1) · · · w(k)) = i. For a
subset Δ of Σ, the projection of Σ∗ on Δ∗ is a function projΣ,Δ : Σ∗ → Δ∗,
defined by projΣ,Δ(a) = a if a ∈ Δ, and projΣ,Δ(a) = λ otherwise;
furthermore projΣ,Δ(wa) = projΣ,Δ(w)projΣ,Δ(a) whenever w ∈ Σ∗ and
a ∈ Σ. We omit the subscript Σ if it is clear from the context and thus
write projΔ(w) instead of projΣ,Δ(w).</p>
      <p>Petri nets A Petri net is a triple N = (P, T, F ), where P is a finite set of
places, T is a finite non-empty set of transitions such that P ∩ T = ∅, and
F ⊆ (P × T ) ∪ (T × P ) is a set of arcs.</p>
      <p>
        Let N = (P, T, F ) be a Petri net. If N 0 = (P 0, T 0, F 0) is a Petri net such that
P ∪ T and P 0 ∪ T 0 have no elements in common, then N and N 0 are disjoint.
Let x ∈ P ∪ T . Then •x = {y | (y, x) ∈ F } and x• = {y | (x, y) ∈ F } are
the preset and the postset, respectively, of x (in N ). A marking μ of N is a
function μ : P → N. Let t ∈ T and μ a marking of N . Then t is enabled at μ
if μ(p) &gt; 0 for all p ∈ •t. If t is enabled at μ, it may occur, and thus lead to
a new marking μ0 of N , denoted μ →−tN μ0, with μ0(p) = μ(p) − 1 whenever
p ∈ •t\t•; μ0(p) = μ(p)+1 whenever p ∈ t• \•t; and μ0(p) = μ(p) otherwise.
We extend the notation μ →−tN μ0 to sequences w ∈ T ∗ as follows1: μ −→λN μ
wt
for all μ; and μ −→N μ0 for markings μ, μ0 of N , w ∈ T ∗ and t ∈ T ,
whenever there is a marking μ00 such that μ −→N μ00 and μ00 →−tN μ0. If
w
μ −→wN μ0, for some w ∈ T ∗, we say that μ0 is reachable from μ (in N ). The
1 We thus view T as an alphabet of action symbols.
language L(N, μ) = {w ∈ T ∗ | μ −→wN μ0 for some marking μ0} consists of
all possible firing sequences of N from μ. A place p ∈ P is a source place of
N if •p = ∅ and it is a sink place of N if p• = ∅. The marking μ of N such
that, for all p ∈ P , μ(p) = 1 if p is a source place and μ(p) = 0 otherwise,
is the default initial marking of N . If μ is the default initial marking of N ,
we may write L(N ) to denote L(N, μ) and refer to it as the language of N .
A workflow net (see [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) is a Petri net with exactly one source and one sink
place such that every place and every transition are on a path from source
to sink.
      </p>
      <p>
        Enterprise nets and Industry nets We recall the definitions of
Enterprise and Industry nets from [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Enterprise nets (or E-nets, for short)
are Petri nets equipped for asynchronous communication with other E-nets;
they have transitions for inputting and transitions for outputting. An
interaction between E-nets is realised by an occurrence of an output transition
of one E-net and a (later) occurrence of an input transition of another E-net
with a matching message type.
      </p>
      <p>We let M denote the set of message types fixed throughout this paper.
Definition 1. An Enterprise net is a tuple E = (P, [Tint, Tinp, Tout], F, M )
such that Tint, Tinp, and Tout are mutually disjoint sets; Tint is the set
of internal transitions of E , Tinp its set of input transitions, and Tout
its set of output transitions; furthermore, the underlying Petri net of E ,
und(E ) = (P, Tint ] Tinp ] Tout, F ), is a Petri net with exactly one source
place; finally M : Tinp ∪ Tout → M is the communication function of E . tu
Given an Enterprise net E , L(E ) = L(und(E )) is the language of E .
Note that E-nets, like workflow nets, have a single source place; no further
restrictions are imposed on the underlying net.</p>
      <p>Composing E-nets yields an Industry-net (or I-net, for short) with
multiple source places. The E-nets involved are pairwise disjoint, i.e., their
underlying Petri nets are disjoint. When combining them into an I-net,
output and input transitions are matched via their message types.
Definition 2. Let n ≥ 2. Let V = {Ei | i ∈ [n]} be a set of pairwise disjoint
E-nets with Ei = (Pi, [Ti,int, Ti,inp, Ti,out], Fi, Mi) for each i ∈ [n].
A matching over V is a bijection ϕ : Si∈[n] Ti,out → Sj∈[n] Tj,inp such
that whenever t ∈ Ti,out and ϕ(t) ∈ Tj,inp, for some i, j, then i 6= j and
Mi(t) = Mj (ϕ(t)).
tu
A set V of mutually disjoint E-nets is said to be composable if there exists
a matching over V . To construct an I-net from a composable set V and a
matching ϕ over V , matching output and input transitions of the E-nets in
V are connected through (new) channel places using channel arcs.
Definition 3. Let n ≥ 2. Let V = {Ei : i ∈ [n]} be a composable set of
E-nets with Ei = (Pi, [Ti,int, Ti,inp, Ti,out], Fi, Mi) and Ti = Ti,int ∪ Ti,inp ∪
Ti,out for all i ∈ [n]. Let ϕ be a matching over V .</p>
      <p>Then P (V, ϕ) = {[t, ϕ(t)] | t ∈ Ti,out, i ∈ [n]} is the set of channel places of
V and ϕ, and F (V, ϕ) = {(t, [t, ϕ(t)]) | t ∈ Ti,out, i ∈ [n]}∪{([t, ϕ(t)], ϕ(t)) |
t ∈ Ti,out, i ∈ [n]} is the set of channel arcs of V and ϕ. The sets P (V, ϕ),
F (V, ϕ), and Pi, Ti, Fi, where i ∈ [n], are all pairwise disjoint.
The Industry net over (V, ϕ) is the Petri net I(V, ϕ) = (P, T, F ) with P =
Si∈[n] Pi ∪ P (V, ϕ), T = Si∈[n] Ti, and F = Si∈[n] Fi ∪ F (V, ϕ).
tu</p>
      <p>
        The notion of an E-net can be considered a generalisation of the notion
of a workflow net through its underlying net. This generalisation is
motivated, in particular, by the observation that workflows in enterprises often
interact with workflows in other enterprises by a bilateral, asynchronous
exchange of messages of a specified type (see eg., [
        <xref ref-type="bibr" rid="ref12 ref16 ref20 ref24">20, 16, 24, 12</xref>
        ]). The
similarity between E-nets and workflow nets, moreover, allows us to leverage
the large amount of research into the automated discovery of workflow nets,
for the purpose of automated discovery of E-nets. The term “Industry”, in
“Industry net”, is used loosely to refer to any group of collaborating
enterprises.
      </p>
      <p>Example 1. Consider two enterprises, an Investment Firm (IF) and an
Exchange (EX), modelled by the E-nets EIF and EEX in Figs. 1a and 1b,
respectively. The Investment Firm sends order messages to the Exchange
(modelled by output transition so with message type mo). The Exchange,
upon receiving a message (via input transition ro with message type mo),
subsequently sends an order confirmation message to the Investment Firm
(output transition sc with message type mc). Then I(V, ϕ), the I-net in
Fig.1c, with V = {EIF , EEX } and ϕ defined by ϕ(so) = ro and ϕ(sc) = rc,
models the collaboration between the Investment Firm and the Exchange.
Note that V allows only one matching.
tu</p>
      <p>
        The ideas underlying the concepts of E-nets and I-nets belong to a
wellestablished branch of research concerned with composing systems modelled
as Petri nets, into larger correctly functioning (concurrent) systems (see
eg., [
        <xref ref-type="bibr" rid="ref13 ref14 ref22 ref23">13, 14, 22, 23</xref>
        ]). In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and also in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] compositions of so-called open
workflow nets are considered. These are Petri nets with interface places to
communicate with other Petri nets. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], similar to the set-up of I-nets,
local Petri nets do not have interface places but they communicate via
distinguished input and output labels. As mentioned in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], the advantage
of this approach is that it leads to a better separation of concerns: eg., the
designer of a local system does not have to consider how it will be used;
this is a concern for the designer of the global system.
      </p>
      <p>(c) The I-net
Let V , ϕ, and I(V, ϕ) = (P, T, F ) as specified in Definition 3, be fixed for
this section, and for Section 4 and Section 5.</p>
      <p>Clearly, the construction of I(V, ϕ) does not affect the internal structure
of the E-nets in V and the set of source places of I(V, ϕ) consists of all source
places of the Ei. Moreover, removing channel places does not restrict the
behaviour of an E-net. Consequently, all firing sequences in L(I(V, ϕ)) are
combinations of firing sequences from the languages of the component nets.
Lemma 1. If w ∈ L(I(V, ϕ)), then projTi (w) ∈ L(Ei) for all i ∈ [n].
tu
On the other hand, the composition of E-nets into an I-net adds a channel
place to the preset of each input transition. Consequently, the behaviour
of an E-net may become restricted in the I-net. The property defined next
describes how the occurrence of input transitions depends on the occurrence
of output transitions.</p>
      <p>Definition 4. Let w ∈ T ∗. Then w has the prefix property with respect to
ϕ if #a(u) ≤ #ϕ−1(a)(u) for all prefixes u of w and all a ∈ Tinp.
A language L ⊆ T ∗ has the prefix property with respect to ϕ if all w ∈ L
have this property.</p>
      <p>We will omit the reference to ϕ as it is fixed.</p>
      <p>The asynchronous communication between its component E-nets
guarantees that the firing sequences of I(V, ϕ) have the prefix property.
Lemma 2. If w ∈ L(I(V, ϕ)), then w has the prefix property.
tu
tu
Conversely, any sequence w ∈ T ∗ that can be (locally) executed by all
E-nets and that satisfies the prefix property, belongs to L(I(V, ϕ)).
Lemma 3. Let w ∈ T ∗ be such that projTi (w) ∈ L(Ei) for all i ∈ [n]. If
w has the prefix property, then w ∈ L(I(V, ϕ)). tu
Example 2. (Ex. 1 ctd.) Let T = {so, rc, ro, sc}. Let w = hso, ro, sc, rci.2
Now projTIF (w) = hso, rci ∈ L(EIF ) and projTEX (w) = hro, sci ∈ L(EEX ),
where TIF and TEX are the sets of transitions of EIF and EEX , respectively.
Obviously, w has the prefix property. Thus w ∈ L(I(V, ϕ)) by Lemma 3. For
w0 = hso, ro, rc, sci, the prefix property does not hold: in u = hso, ro, rci, a
prefix of w0, we have #rc(u) = 1, but #sc(u) = 0. Indeed, w0 6∈ L(I(V, ϕ))
although projTIF (w0) = projTIF (w) and projTEX (w0) = projTEX (w). tu
Combining the above three lemmas yields
Theorem 1. Let L ⊆ T ∗. Then L ⊆ L(I(V, ϕ)) if and only if L has the
prefix property and projTi (L) ⊆ L(Ei) for all i ∈ [n]. tu
From Lemma 1 and Theorem 1, it follows that whenever there exists a
language L with the prefix property and for which projTi (L) = L(Ei) for
all i ∈ [n], the I-net captures the full unrestricted behaviour of each E-net.
Corollary 1. Let L ⊆ T ∗ be such that L has the prefix property and
projTi (L) = L(Ei) for all i ∈ [n]. Then projTi (L(I(V, ϕ))) = L(Ei) for
all i ∈ [n]. tu
It should however be noted, that the conditions on L in Corollary 1 do not
imply that L(I(V, ϕ)) = L. By Theorem 1, L ⊆ L(I(V, ϕ)) and as we argue
next, this inclusion may be strict.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Structuring words with the prefix property</title>
      <p>Whereas the prefix property is based on a simple comparison of numbers of
occurrences, assignment functions, as defined next, relate each occurrence
of an input transition to a corresponding occurrence of an output transition.
Definition 5. An assignment function with respect to ϕ for a word w ∈ T ∗
is an injective function θ : (occ(w) ∩ (Tinp × N)) → occ(w) such that
for every occurrence (b, j) ∈ occ(w) with b ∈ Tinp, θ(b, j) = (a, i) where
a = ϕ−1(b) and i is such that posw(a, i) &lt; posw(b, j). tu
2 The elements of the alphabet T are symbols consisting of two letters. In order to
avoid confusion, we denote in this and similar examples, any sequence a1 · · · an
with ai ∈ T for each i ∈ [n] by ha1, · · · , ani.
Again, since ϕ is fixed, we will omit the reference to ϕ.</p>
      <p>Remark 1. Clearly, every word for which an assignment function exists, has
the prefix property. Conversely, whenever a word has the prefix property it
has at least one (in general, more than one) assignment function.
Example 3. Assume T = {a, b} and ϕ(a) = b. Let w = aabb. Then w has
two assignment functions: θ defined by θ(b, 1) = (a, 1) and θ(b, 2) = (a, 2);
and θ0 defined by θ0(b, 1) = (a, 2) and θ0(b, 2) = (a, 1).
tu
tu
tu
Each assignment function for w determines a partial order on occ(w).
Definition 6. Let w ∈ T ∗ and let θ be an assignment function for w. Let
(a, i), (b, j) ∈ occ(w), with a ∈ Tk and b ∈ Tl for some k, l ∈ [n].
Then (a, i) ≤w,θ (b, j) if
(1) k = l and posw(a, i) ≤ posw(b, j) or
(2) k 6= l and b ∈ Tinp and θ(b, j) = (a, i). tu
By condition (1), ≤w,θ incorporates the ordering of occurrences of
transitions in w that originate from the same E-net; by (2), it reflects the order
of occurrences of input transitions and their assigned occurrences of output
transitions.</p>
      <p>Lemma 4. Let w ∈ T ∗ and let θ be an assignment function for w. Then
≤w+,θ, the transitive closure of ≤w,θ, is a partial order on occ(w). tu
The linearisations of ≤w+,θ, where w is a word and θ an assignment function
for w, define a set of words that can be obtained from w by (repeatedly)
interchanging the positions of unrelated occurrences.</p>
      <p>Definition 7. Let w ∈ T ∗ and let θ be an assignment function for w. Then
linθ(w) = {v ∈ T ∗ | occ(v) = occ(w) and for all x, y ∈ occ(v), x ≤w+,θ
y implies posv(x) ≤ posv(y)} is the set of θ-linearisations of w. tu
Clearly w ∈ linθ(w) whenever linθ(w) is defined.</p>
      <p>Remark 2. Let w and θ as in Definition 7 and let v ∈ linθ(w). Then
(1) projTi (v) = projTi (w) for all i ∈ [n] and
(2) θ is an assignment function for v and linθ(v) = linθ(w).
From (2) and Remark 1, it follows that v has the prefix property.
Example 4. (Ex. 3 ctd.) Let v = abab. Then occ(v) = occ(w) and linθ(w) =
{v, w}. Clearly, θ is an assignment function for v and linθ(v) = linθ(w).
Note that linθ0 (w) = {w} and θ0 is not an assignment function for v. tu
By combining Remark 2 with Lemma 3, the statement of Lemma 3 can be
strengthened. This shows that whenever a word with the prefix property
can be locally executed by all component E-nets, then, for all its assignment
functions θ, each of its θ-linearisations can be executed globally by the I-net.
Theorem 2. Let w ∈ T ∗ be such that projTi (w) ∈ L(Ei) for all i ∈ [n]. If
θ is an assignment function for w, then linθ(w) ⊆ L(I(V, ϕ)).
tu
Example 5. The I-net in Fig. 2 is an extension of the I-net from Example 2.
The Exchange, after sending a confirmation (output transition sc) to the
Investment Firm, can send (output transition si) a settlement instruction
to the Central Securities Depositary (CD) to transfer ordered securities to
the Investment Firm. The Central Securities Depositary - after receiving
(input transition ri matching si) the settlement instruction - sends (output
transition ss) a confirmation of settlement to the Investment Firm (that
receives the message via input transition rs).
Let w = hso, ro, sc, rc, si, ri, ss, rsi. So, w can be (locally) executed by
each of the three enterprise nets in Fig. 2. Also, w has the prefix property
(w.r.t. ϕ displayed in Fig. 2). Hence w is in the language of the I-net in
Fig. 2. Define θ by θ(ro, 1) = (so, 1), θ(rc, 1) = (sc, 1), θ(ri, 1) = (si, 1),
and θ(rs, 1) = (ss, 1). This θ is an (the only) assignment function for w
(w.r.t. ϕ). Consider v = hso, ro, sc, si, rc, ri, ss, rsi, obtained from w by
exchanging (si, 1) and (rc, 1). These occurrences are not ordered by ≤w+,θ.
Hence v ∈ linθ(w) and v is, like w, in the language of the I-net. tu</p>
    </sec>
    <sec id="sec-4">
      <title>Assignment functions of type FIFO</title>
      <p>By Theorem 2, every assignment function θ for a word w with the prefix
property determines a set of words linθ(w) that can be executed by the
I-net, provided w can be locally executed by all component E-nets. As
remarked earlier, a word with the prefix property may have more than one
assignment function. In this section we demonstrate that considering one
particular type of assignment function is sufficient to describe all possible
linearisations. Intuitively, in terms of the I-net, one could say that each
assignment function describes for each occurrence of an input transition,
which token it should take from its input channel place (namely the token
deposited by the assigned occurrence of its output transition). Based on
this point of view, the following two types of assignment functions represent
natural policies to deal with the messages (tokens) in the channel places.
Definition 8. Let w ∈ T ∗ and let θ be an assignment function for w. Then
(1) θ is of type FIFO with respect to ϕ if, θ(b, j) = (ϕ−1(b), j) for every
(b, j) ∈ occ(w) such that b ∈ Tinp;
(2) θ is of type Stack with respect to ϕ if, for every (b, j) ∈ occ(w) such that
b ∈ Tinp, θ(b, j) = (a, i) where a = ϕ−1(b), w = xaybz, for some x, y, z ∈
occ(w) such that #b(y) = #a(y), and j = #b(xayb) and i = #a(xa). tu
Again, since ϕ is fixed, we will omit the reference to ϕ.</p>
      <p>Every word with the prefix property has one assignment function of
type FIFO and one of type Stack (and these functions may be the same).
Example 6. (Ex. 3 and Ex. 4 ctd.) For w, the assignment function θ is of
type FIFO and θ0 is of type Stack. Moreover, θ is an assignment function
for v of type FIFO and of type Stack.
tu
In the sequel, θfifo denotes the assignment function of type FIFO of any
w
word w ∈ T ∗ with the prefix property. In addition, if L ⊆ T ∗ is a language
that has the prefix property, then linFIFO(L) = S{linθwfifo (w) | w ∈ L}
consists of all FIFO-linearisations of L.</p>
      <p>Lemma 5. Let v, w ∈ T ∗ be such that v and w have the prefix property
and occ(v) = occ(w). Then θvfifo = θwfifo. tu
This observation does not hold for all assignment functions as can be seen
in Example 6. Assignment functions of type FIFO are also special as they
impose the least restrictive ordering (with for each occurrence of an input
transition, only one occurrence of an output transition that precedes it).
and thus a maximal (w.r.t. set inclusion) set of linearisations.
Lemma 6. Let w ∈ T ∗ have the prefix property. Then linθwfifo (w) = {v ∈
T ∗ | v has the prefix property and projTi (v) = projTi (w) for all i ∈ [n]}.
tu
The inclusion from left to right is true for all assignment functions by
Remark 2. The converse follows from Lemma 5 and Definition 7.
Example 7. Let I(V, ϕ) be the I-net in Fig. 3 (extending Fig.1c). The
Investment Firm from Example 2 can now send multiple orders to the
Exchange. This is modelled using internal transitions in the E-nets: ii1 and
ii2 for the Investment Firm and ei1 and ei2 for the Exchange.
Let v = hei1, ii1, so, ii2, ro, ei2, so, ii2, ro, ei2, so, ro, sc, rci and let w =
hei1, ii1, so, ii2, so, ii2, so, ro, ei2, ro, ei2, ro, sc, rci. Clearly, both v and w
have the prefix property and projTi (v) = projTi (w) for i ∈ {1, 2} with
T1 = {ii1, ii2, so, rc} and T2 = {ei1, ei2, ro, sc}. Let θ be the assignment
function for w of type FIFO. Hence, by Lemma 6, v ∈ linθ(w). However, for
the assignment function θ0 of w of type Stack (and thus θ0(ro, 1) = (so,3)),
v ∈ linθ0 (w) does not hold. tu
For a language L ⊆ T ∗ that has the prefix property, we denote by lin(L) the
language consisting of all words that can be obtained as a θ-linearisation
of any word w ∈ L in for whatever assignment function θ for w. Thus,
lin(L) = S{linθ(w) | w ∈ L and θ an assignment function for w}.</p>
      <p>Using Lemma 6, we obtain the following extension of Theorem 2.
Theorem 3. Let L ⊆ T ∗ be a language with the prefix property such that
projTi (L) ⊆ L(Ei) for all i ∈ [n].</p>
      <p>Then L ⊆ lin(L) ⊆ linFIFO(L) ⊆ L(I(V, ϕ)). tu
This theorem together with Theorem 1 shows that the languages of I-nets
are closed under exchanging independent occurrences of transitions.
Corollary 2. lin(L(I(V, ϕ))) = linFIFO(L(I(V, ϕ))) = L(I(V, ϕ)).
tu
6</p>
    </sec>
    <sec id="sec-5">
      <title>Discovery of I-nets</title>
      <p>
        We are now ready to address our initial question: given an event log
(language), representing the observed behaviour of a given number of distinct,
collaborating enterprises, construct an I-net that generates this observed
behaviour. In this section, we will demonstrate how we can leverage
existing algorithms for the discovery of isolated (local) processes, to solve this
problem. A formal definition of such a process discovery algorithm, based
on [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], is given next.
      </p>
      <p>Definition 9. Let L be a family of languages. A process discovery
algorithm A for L is an algorithm that computes for all L ∈ L, a Petri net
A(L) = (P, T, F ) with a single source place and such that T = Alph(L) and
L ⊆ L(A(L)). tu
To leverage such algorithms to a system of asynchronously communicating
nets, one needs to describe the distribution of actions over components in
combination with their role as internal, input, or output action. This leads
to the concept of a distributed communicating alphabet defined next.
Definition 10. Let n ≥ 1. An n-dimensional distributed communicating
alphabet (or n-DCA, for short) is a tuple
DA = ([Σ1, . . . , Σn], [Σint, Σinp, Σout], mt, cp) such that
– Σ1, . . . , Σn are non-empty, pairwise disjoint alphabets;
– Σint, Σinp, Σout are pairwise disjoint alphabets consisting of internal
actions, input actions and output actions, respectively;
– Si∈[n] Σi = Σint ] Σinp ] Σout;
– mt : Σinp ∪ Σout → M is a function that assigns message types to the
input and output actions;
– cp : Σinp ∪ Σout → Σinp ∪ Σout is a ( complementing) bijection, which is
not defined (cp = ∅) if n = 1, and otherwise (n ≥ 2), for all a ∈ Σinp ∪Σout:
if a ∈ Σinp, then cp(a) ∈ Σout and if a ∈ Σout, then cp(a) ∈ Σinp;
if a ∈ Σi for some i ∈ [n], then cp(a) ∈ Σj where j ∈ [n] is such that i 6= j;
mt(cp(a)) = mt(a); and cp(cp(a)) = a.
tu
The alphabet Si∈[n] Σi = Σint ] Σinp ] Σout in Definition 10, also referred
to as the underlying alphabet of the n-DCA DA, is intended to represent
the actions available to n interacting enterprises. DA describes both their
distribution across the enterprises and their interaction capacities. A 1-DCA
consists of a single enterprise. When specifying a 1-DCA, we can omit its
complementing bijection cp as it is not defined (and not needed). For i ∈ [n],
we refer to the 1-DCA DAi = ([Σi], [Σi,int, Σi,inp, Σi,out], mti) as the i-th
component of DA.</p>
      <p>For the rest of this section we assume a fixed family of languages L
and a fixed process discovery algorithm A for L. The following definition
describes how A can be used to discover E-nets.</p>
      <p>Definition 11. The E-net discovery algorithm derived from A, is the
algorithm AE that computes, for all pairs (L, DA) such that L ∈ L with
A(L) = (P, T, F ), and DA = ([T ], [Tint, Tinp, Tout], mt) is a 1-DCA with
Alph(L) = T as its underlying alphabet, the E-net AE(L, DA) = (P, [Tint,
Tinp, Tout], F, mt). tu
Thus AE adds the information from DA to the transitions of A(L). Clearly,
AE(L, DA) is an E-net. 3 From Definitions 9 and 11, we have L ⊆ L(A(L)) =
L(E). Now we move to the discovery of I-nets on basis of A.
Definition 12. The I-net discovery algorithm derived from A, is the
algorithm AI that computes, for all pairs (L, DA) such that
– DA = ([Σ1, . . . , Σn], [Σint, Σinp, Σout], mt, cp) is an n-DCAfor an n ≥ 2,
– Alph(L) = Si∈[n] Σi, the underlying alphabet of DA, and
– projΣi (L) ∈ L for all i ∈ [n],
the I-net AI (L, DA) = I(V, ϕ) with V = {AE(projΣi (L), DAi) | i ∈ [n]}
and ϕ(a) = cp(a) for all a ∈ Σout. tu
Note that AI (L, DA) = I(V, ϕ) in Definition 12 is indeed an I-net, since,
by Definition 11, for all i ∈ [n], AE(projΣi (L), DAi) is an E-net with set
of transitions Σi; the Σi are mutually disjoint; and the properties of cp
described in Definition 10 guarantee that ϕ is a matching for V .</p>
      <p>
        By Definitions 9 and 12, we can transfer Theorem 1, Corollary 1, and
Theorem 3 to the setting of discovering an I-net from a given language L.
Theorem 4. Let L be a language with the prefix property. Let n ≥ 2 and
let DA be an n-DCA with Alph(L) as its underlying alphabet
Let AI (L, DA) = I(V, ϕ) with V = {Ei | i ∈ [n]}. Then
(1) L ⊆ lin(L) ⊆ linFIFO(L) ⊆ L(I(V, ϕ));
(2) projΣi (L(I(V, ϕ))) = projΣi (L) if projΣi (L) = L(Ei) for all i ∈ [n],
where for each i ∈ [n], Σi is the underlying alphabet of DAi. tu
3 In case A is an algorithm for the discovery of workflow nets, like the Inductive
Miner [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], AE(L, DA) would have the structure of a workflow net.
Thus, given a language L with the prefix property representing an event
log of a system of n enterprises, and an n-dimensional distributed
communicating alphabet, we can construct an I-net as described in Definition 12.
This I-net has all words in L as firing sequences together with all their
linearisations (obtained by exchanging occurrences of independent actions). In
fact, it is sufficient to consider only their FIFO-linearisations. Even then,
though, there may be more firing sequences than what can be deduced from
the description L of the observed behaviour. By Theorem 4.(2), a precise fit
of the enterprise nets is preserved in the I-net constructed. We are currently
working on a characterisation of properties of L that would guarantee that
the language of L is exactly lin(L).
      </p>
      <p>Example 8. (Ex. 7 ctd.) Let w and v be as in Example 7 and let L = {w}.
Let DA = ([ΣIF , ΣEX ], [Σint, Σinp, Σout], mt, cp) be the 2-DCA, with
components DAIF and DAEX , as given in Fig. 4, representing the actions
available to the collaboration between the Investment firm and the Exchange
from Example 7. Let AE and AI be the E-net and I-net discovery
algo</p>
      <p>Fig. 4: The 2-DCA DA
rithms respectively, derived from a process discovery algorithm A.
Furthermore, AE(projΣIF (L), DAIF ) = EIF and AE(projΣEX (L), DAEX ) =
EEX are as depicted in Figs. 5.(a) and (b) respectively. Then AI (L, DA) =
I(V, ϕ) is the I-net in Fig. 3. Since L satisfies the “if” conditions in Theorem
1, L ⊆ L(I(V, ϕ)). Moreover, as v ∈ linFIFO(w) we have from Theorem 4,
that also v ∈ L(I(V, ϕ)) tu
7</p>
    </sec>
    <sec id="sec-6">
      <title>Discussion</title>
      <p>
        In this paper we have considered the problem of discovering a distributed
process model (in the form of an I-net) from an event log (given in the form
of a language). Moreover, the number of participating processes (modelled
as E-nets) is given together with their channels (in the form of matching
input and output actions). We have shown how an (existing) algorithm
for the discovery of Petri net models from event logs of individual
processes could be used in a new, distributed, algorithm to discover an I-net.
Moreover, by Theorem 1, fitness of the I-net produced by the algorithm is
guaranteed if and only if fitness of the component nets is guaranteed and
the event log has the prefix property (a natural assumption for event logs
of distributed processes composed of components that interact via
asynchronous communication channels). It is interesting to reflect on the
inclusion of these linearisations (see Corollary 2 and Theorem 4.(1)) and the
role of the channels. The exchange of independent occurrences of actions
suggests a relationship to the well-known Mazurkiewicz traces (equivalence
classes of words, see, eg., [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]) and their dependence graphs (defining their
causal structure in the form of a labelled partial order, see [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]). There
is however an important difference: independence in Mazurkiewicz’ theory
is between actions rather than their occurrences. The independence
between occurrences considered here can be seen as being context sensitive
and determined by the history leading to these occurrences which leads to
a theory of context dependent or local traces (see, eg., [
        <xref ref-type="bibr" rid="ref10 ref17">10, 17</xref>
        ]). In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
a model similar to our I-nets is considered. There channel properties are
investigated in terms of asynchronous I/O-transition systems rather than
languages. The asynchronously composed I/O-Petri nets considered, use
communication channels modelled by places of Petri nets rather than
imposing the usual FIFO requirement of communication channels. However,
as can be seen from our results, choosing FIFO channels or the standard
unordered places, does not affect the language.
      </p>
      <p>
        Returning to the discovering of distributed process models, it was our
initial idea to investigate to what extent existing algorithms for the
discovery of single (isolated) processes could be used to discover distributed
systems. The subject of process mining is an active research area, that has
resulted in many process discovery algorithms (see, eg., [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] for an overview).
Typically, these algorithms allow for the discovery of local processes in
isolation, i.e., interaction between processes is not taken into account. Note that
the approach as outlined here, is also different from the one followed in [
        <xref ref-type="bibr" rid="ref2 ref4">2,
4</xref>
        ] where the problem of process mining from large event logs is addressed.
There, different options to distribute the mining problem over sublogs (with
overlapping activities) are considered, whereas in the current paper we
assume the (disjoint) components given. Of special interest are the passages
from [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Provided a causal structure (a ‘skeleton’ of the process) is known,
a larger model can be decomposed into (synchronising) fragments
making a divide–and–conquer approach possible In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] the event logs of Multi
Agent Systems are projected onto each agent to discover component models
in terms of workflow nets by using existing process discovery algorithms,
similar to our approach. By means of α-morphisms an abstraction of each
component model is derived. The aim of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] however, is to show that if
the composition of these abstract models is sound, the composition of the
original component models is sound.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          , Arjan J.
          <string-name>
            <surname>Mooij</surname>
          </string-name>
          , Christian Stahl and Karsten
          <string-name>
            <surname>Wolf</surname>
          </string-name>
          (
          <year>2009</year>
          ) Service Interaction: Patterns,
          <string-name>
            <surname>Formalization,</surname>
          </string-name>
          <source>and Analysis Lect. Notes in Comput. Sci</source>
          .
          <volume>5569</volume>
          ,
          <fpage>42</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>Distributed Process Discovery</article-title>
          and
          <string-name>
            <given-names>Conformance</given-names>
            <surname>Checking</surname>
          </string-name>
          .
          <source>Lect. Notes in Comput. Sci. 7212</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>Decomposing Process Mining Problems Using Passages</article-title>
          .
          <source>Lect. Notes in Comput. Sci</source>
          .
          <volume>7347</volume>
          ,
          <fpage>72</fpage>
          -
          <lpage>91</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>Decomposing Petri nets for Process Mining: A Generic Approach</article-title>
          .
          <source>Distr. and Parallel Databases</source>
          <volume>31</volume>
          (
          <issue>4</issue>
          ),
          <fpage>471</fpage>
          -
          <lpage>507</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>Service Mining: Using Process Mining to Discover, Check, and Improve Service Behavior IEEE Trans</article-title>
          .
          <source>Serv. Comput</source>
          .
          <volume>6</volume>
          (
          <issue>4</issue>
          ),
          <fpage>525</fpage>
          -
          <lpage>535</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          (
          <year>2016</year>
          ) Process Mining - Data
          <source>Science in Action Second Edition</source>
          , Springer.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          and Christian
          <string-name>
            <surname>Stahl</surname>
          </string-name>
          (
          <year>2011</year>
          )
          <string-name>
            <given-names>Modeling</given-names>
            <surname>Business Processes - A Petri Net-Oriented</surname>
          </string-name>
          <string-name>
            <surname>Approach</surname>
          </string-name>
          , MIT Press.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Adriano</given-names>
            <surname>Augusto</surname>
          </string-name>
          , Raffaele Conforti, Marlon Dumas, Marcello La Rosa, Fabrizio Maria Maggi, Andrea Marrella, Massimo Mecella, and
          <string-name>
            <surname>Allar Soo</surname>
          </string-name>
          (
          <year>2017</year>
          )
          <article-title>Automated Discovery of Process Models from Event Logs: Review and Benchmark</article-title>
          .
          <source>arXiv:1705.02288v3[cs.SE].</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Luca</given-names>
            <surname>Bernardinello</surname>
          </string-name>
          , Irina A.
          <string-name>
            <surname>Lomazova</surname>
          </string-name>
          , Roman Nesterov and Lucia
          <string-name>
            <surname>Pomello</surname>
          </string-name>
          (
          <year>2018</year>
          )
          <article-title>Compositional Discovery of Workflow Nets from Event Logs Using Morphisms</article-title>
          .
          <source>ATAED</source>
          <year>2018</year>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>2115</volume>
          ,
          <fpage>39</fpage>
          -
          <lpage>55</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Isabelle</given-names>
            <surname>Biermann</surname>
          </string-name>
          and Brigitte
          <string-name>
            <surname>Rozoy</surname>
          </string-name>
          (
          <year>1997</year>
          )
          <article-title>Reliable Generalized and Context Dependent Commutation relations</article-title>
          .
          <source>Lect. Notes in Comput. Sci</source>
          .
          <volume>1214</volume>
          ,
          <fpage>165</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Josep</surname>
            <given-names>Carmona</given-names>
          </string-name>
          , Boudewijn F. van
          <string-name>
            <surname>Dongen</surname>
          </string-name>
          ,
          <string-name>
            <surname>Andreas Solti</surname>
          </string-name>
          , and
          <string-name>
            <surname>Matthias Weidlich</surname>
          </string-name>
          (
          <year>2018</year>
          )
          <article-title>Conformance Checking - Relating Processes</article-title>
          and Models, Springer.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>EDSN</surname>
          </string-name>
          (
          <year>2018</year>
          ) Marktfacilitering https://www.edsn.nl/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lu</surname>
          </string-name>
          <article-title>´ıs Gomes and Joa˜o Paulo Barros (</article-title>
          <year>2005</year>
          )
          <article-title>Structuring and composability issues in Petri nets modeling</article-title>
          .
          <source>IEEE Trans. Industrial Informatics</source>
          <volume>1</volume>
          (
          <issue>2</issue>
          ),
          <fpage>112</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Serge</surname>
            <given-names>Haddad</given-names>
          </string-name>
          , Rolf Hennicker, and
          <string-name>
            <surname>Mikael H. Møller</surname>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>Channel Properties of Asynchronously Composed Petri Nets</article-title>
          .
          <source>Lect. Notes in Comput. Sci</source>
          .
          <volume>7927</volume>
          ,
          <fpage>368</fpage>
          -
          <lpage>388</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Hendrik Jan Hoogeboom and Grzegorz
          <string-name>
            <surname>Rozenberg</surname>
          </string-name>
          (
          <year>1995</year>
          )
          <article-title>Dependence graphs</article-title>
          . In: Diekert,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Rozenberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.) The Book of Traces, World Scientific, Singapore,
          <fpage>43</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>HL7</surname>
          </string-name>
          (
          <year>2015</year>
          ) Health Level Seven INTERNATIONAL http://www.hl7.org/
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>P.W.</given-names>
            <surname>Hoogers</surname>
          </string-name>
          , H.
          <string-name>
            <surname>C.M.Kleijn</surname>
            , and
            <given-names>P.S.</given-names>
          </string-name>
          <string-name>
            <surname>Thiagarajan</surname>
          </string-name>
          (
          <year>1995</year>
          )
          <article-title>A trace semantics for Petri nets</article-title>
          .
          <source>Inf. Comput</source>
          .
          <volume>117</volume>
          (
          <issue>1</issue>
          ),
          <fpage>98</fpage>
          -
          <lpage>114</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Pieter</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kwantes</surname>
          </string-name>
          and Jetty
          <string-name>
            <surname>Kleijn</surname>
          </string-name>
          (
          <year>2018</year>
          )
          <article-title>On the Synthesis of Industry Level Process Models from Enterprise Level Process Models</article-title>
          .
          <source>ATAED</source>
          <year>2018</year>
          , CEUR Workshop Proceedings 2115,
          <fpage>6</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Sander J. J. Leemans</surname>
          </string-name>
          , Dirk Fahland, and
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>Discovering Block-Structured Process Models from Event Logs - A Constructive Approach</article-title>
          .
          <source>Lect. Notes in Comput. Sci</source>
          .
          <volume>7927</volume>
          ,
          <fpage>311</fpage>
          -
          <lpage>329</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>S.W.I.F.T.</surname>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>ISO20022 Universal financial industry message scheme http://www</article-title>
          .iso20022.org
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Antoni W. Mazurkiewicz</surname>
          </string-name>
          (
          <year>1987</year>
          )
          <article-title>Trace theory</article-title>
          .
          <source>Lect. Notes in Comput. Sci</source>
          .
          <volume>255</volume>
          ,
          <fpage>279</fpage>
          -
          <lpage>324</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Wolfgang Reisig</surname>
          </string-name>
          (
          <year>2018</year>
          )
          <article-title>Towards a conceptual foundation of service composition</article-title>
          .
          <source>Comput. Sci. Res</source>
          . Dev.
          <volume>33</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>281</fpage>
          -
          <lpage>289</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Wolfgang Reisig</surname>
          </string-name>
          (
          <year>2019</year>
          )
          <article-title>Associative composition of components with doublesided interfaces</article-title>
          .
          <source>Acta Inf</source>
          .
          <volume>56</volume>
          (
          <issue>3</issue>
          ):
          <fpage>229</fpage>
          -
          <lpage>253</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>GS1US</surname>
          </string-name>
          (
          <year>2018</year>
          ) RosettaNet http://www.rosettanet.org/
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Karsten Wolf</surname>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Does My Service Have Partners? Trans. Petri Nets Other Model</article-title>
          .
          <source>Concurr</source>
          .
          <volume>2</volume>
          :
          <fpage>152</fpage>
          -
          <lpage>171</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>