=Paper=
{{Paper
|id=Vol-2795/paper4
|storemode=property
|title=Compositional Conformance Checking of Nested
Petri Nets and Event Logs of Multi-Agent Systems
|pdfUrl=https://ceur-ws.org/Vol-2795/paper4.pdf
|volume=Vol-2795
|authors=Khalil Mecheraoui,Julio C. Carrasquel,Irina A. Lomazova
}}
==Compositional Conformance Checking of Nested
Petri Nets and Event Logs of Multi-Agent Systems==
Compositional Conformance Checking of Nested
Petri Nets and Event Logs of Multi-Agent Systems
Khalil Mecheraouia,b , Julio C. Carrasquela and Irina A. Lomazovaa
a
National Research University Higher School of Economics, Myasnitskaya ul. 20, Moscow, 101000, Russia
b
University of Constantine 2 β Abdelhamid Mehri, Nouvelle ville Ali Mendjeli BP : 67A, Constantine, 25000, Algeria
Abstract
This paper presents a compositional conformance checking approach between nested Petri nets and
event logs of multi-agent systems. By projecting an event log onto model components, one can perform
conformance checking between each projected log and the corresponding component. We formally
demonstrate the validity of our approach proving that, to check fitness of a nested Petri net is equivalent
to check fitness of each of its components. Leveraging the multi-agent system structure of nested Petri
nets, this approach may provide specific conformance diagnostics for each system component as well as
to avoid to compute artificial boundaries when decomposing a model for conformance checking.
Keywords
Process mining, conformance checking, Petri nets, nested Petri nets, multi-agent systems, fitness
1. Introduction
Lift, thrust, drag, and gravity are the four forces helping an airplane fly. Process mining
has similarly four forces to measure its quality namely fitness, generalization, precision, and
simplicity [1]. Conformance checking, which is one of the three pillars of process mining, is
actually the fitness force [2]. It allows to check how well modeled behavior conforms reality as
recorded in an event log. Conformance checking has become relevant in areas such as business
alignment [3], auditing [4], and financial software testing [5]. However, current conformance
checking approaches fall short when analyzing large event logs of complex multi-agent systems.
These systems are characterized by a large number of agents interacting, and exhibiting a high
degree of concurrency. In this light, it makes sense to use compositional approaches, where
a conformance problem can be decomposed into smaller problems (e.g. [6, 7, 8]). In [6], the
author formalizes the so-called valid decomposition to decompose conformance problems. This
decomposition approach represents no problem from a conformance point of view. In [7], the
authors proposed to decompose models using the idea of single-entry and single-exit (SESE).
MACSProβ2020: Modeling and Analysis of Complex Systems and Processes, October 22-24, 2020, Venice, Italy & Moscow,
Russia
email: k_mecheraoui@esi.dz (K. Mecheraoui); jcarrasquel@hse.ru (J.C. Carrasquel); ilomazova@hse.ru (I.A.
Lomazova)
url: https://www.hse.ru/en/staff/jcarrasquel (J.C. Carrasquel); https://www.hse.ru/en/staff/ilomazova (I.A.
Lomazova)
orcid: 0000-0001-9906-6074 (K. Mecheraoui); 0000-0003-3557-797X (J.C. Carrasquel); 0000-0002-9420-3751 (I.A.
Lomazova)
Β© 2020 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
http://ceur-ws.org
ISSN 1613-0073
CEUR Workshop Proceedings (CEUR-WS.org)
Figure 1: A nested Petri net where the system net ππ models an automated assistant engine, serving
customers concurrently (in this case, agents π1 and π2 ).
A SESE component is a subnet that has a simple interface w.r.t the rest of the net. Another
approach is presented in [8] to compute the overall conformance of a model by merging
previously decomposed fragments.
Nevertheless, these approaches use process models whose structure may not provide a clear
distinction between system components and their boundaries. This leads these approaches
to increase their complexity to compute such boundaries (e.g., where to decompose a model,
how many components, etc). Moreover, it may happen that the decomposition is artificial, i.e.,
fragments of a decomposed model do not represent a real division of a system, so diagnostics
for each real component may not be provided. In this sense, we propose the use of models of
multi-agent systems. In particular, we consider nested Petri nets (NP-nets) [9] β an extension
of Petri nets, where tokens can be Petri nets themselves, allowing to model multi-agent systems.
NP-nets have been already used in the broader context of process modeling and workflow
management [10, 11].
Fig. 1 depicts an example of a NP-net describing an automated assistant engine that can serve
multiple customers concurrently. A NP-net consists of a system net, i.e., modeling the systemβs
environment, and a set of net tokens, denoting interacting agents. Each net token has an inner
Petri net structure describing agent behavior.
In this paper, we present a compositional conformance checking approach between nested
Petri nets and event logs of multi-agent systems. Given an event log of a multi-agent system, we
decompose it into several projections according to the model components. Then, a conformance
checking technique (e.g., replay, alignment) can be performed separately between each projection
and the corresponding model component (an agent or the system net). We assume that each
agent in the event log corresponds to a net token in the nested Petri net model. For this task, we
provide clear definitions regarding a subclass of nested Petri nets and event logs of multi-agent
systems. To demonstrate the validity of our approach, we consider the notion of fitness. If a
model has perfect fitness, then all log traces can be replayed on the model from beginning to
end. In this work, we map such notion of an event log that perfectly fits a model, by defining
how an event log of a multi-agent system fits a nested Petri net. Consequently, as an important
result of this paper, we state and prove the following theorem: an event log of a multi-agent
system perfectly fits a nested Petri net if and only if the event log is syntactically correct w.r.t
to the nested Petri net and each projection perfectly fits the corresponding model component.
This theorem justifies the validity of our compositional approach.
The remainder of this paper is structured as follows. In section 2, we describe nested Petri
nets. In section 3, we define the structure for event logs of multi-agent systems. In section 4, we
present the compositional conformance checking approach of nested Petri nets and event logs
of multi-agent systems, including the aforementioned theorem and its proof. Finally, section 5
presents some conclusions and future work.
2. Nested Petri Nets
β denotes the set of natural numbers (including zero). Let π be a set. The set of all subsets of π is
called a power set, denoted as π« (π), e.g., the power set of π = {π, π} is π« (π) = {{π, π}, {π}, {π}, β
}.
A ππ’ππ‘ππ ππ‘ over π is a mapping π βΆ π β β. In other words, a multiset is a collection of elements,
each of them with certain multiplicity, e.g., {π, π, π}, {π, π, π}, and β
are multisets over π. For
compactness, we write {π3 , π 2 } for {π, π, π, π, π}. βπ (π) denotes the set of all multisets over π.
π = β¨π1 , π2 , ..., ππ β© β π β denotes a sequence of length π over a set π.
Definition 1 (Petri net). A Petri net is a triple π = (π, π , πΉ ), where π is the set of places, π is the
set of transitions, π β© π = β
, and πΉ β (π Γ π ) βͺ (π Γ π) is the set of directed arcs (flow relation).
Petri nets [12] is a formalism for modeling and analyzing concurrent distributed systems. As
defined above, a Petri net consists of ππππππ and π‘ππππ ππ‘ππππ , which correspond respectively to
ππππππ‘ππππ and πππ‘ππ£ππ‘πππ of a system. Places may contain tokens, representing resources, control
threads, etc. A πππππππ π βΆ π β β is a function that assigns tokens to places, denoting a
systemβs state. The initial marking is denoted as π0 , and the change into a new marking is defined
by the firing rule. Let π = (π, π , πΉ ) be a Petri net, π = π βͺ π, the sets β’ π₯ = {π¦ β π |(π¦, π₯) β πΉ } and
π₯ β’ = {π¦ β π |(π₯, π¦) β πΉ } denote the preset and the postset of π₯ β π. Transition π‘ β π is enabled in
β²
a marking π iff β’ π‘ β π. Then, the firing of π‘ leads to a new marking π = π β β’ π‘ + π‘ β’ .
Definition 2 (Workflow net). Let π = (π, π , πΉ ) be a Petri net. π is a workflow net (WF-net) iff
P contains a source place π and a sink place π s.t. β’ π = π β’ = β
, and each node in πis on a path from π
to π.
When modeling individual agents in multi-agent systems, we consider workflow nets [13]. A
WF-net has an initial and a final state, represented by markings π0 = {π} and ππ = {π}. Let
π = (π, π , πΉ ) be a WF-net, we consider an activity labeling function πΏ βΆ π β π΄, which assigns
an activity label to each transition π‘ β π, where π΄ is a finite set of activities. We define a sequence
π = β¨π1 , ..., ππ β© β π΄β as a ππ’π of a WF-net π if there exists a firing sequence β¨π‘1 , ..., π‘π β© that leads
from the initial marking π0 = {π} of π to its final marking ππ = {π} s.t. πΏ(π‘π ) = ππ (1 β€ π β€ π). The
set of all possible runs of a WF-net π is denoted by β¬(π ) and is called the behavior of π.
For modeling complex systems, one can use colored Petri nets (CP-nets). In CP-nets, tokens
are attached with values belonging to different domains (color types). Let π° be the set of these
different domains. Then, each place in a CP-net is typed with a domain in π° indicating the type
of tokens it contains. Arcs in CP-nets are annotated with expressions from a language πΈπ₯ππ
defined over π΄π‘ππ = π βͺ πΆ, where π and πΆ are sets of variables and constants. πΈπ₯ππ is defined
as follows: (π) An ππ‘ππ β π΄π‘ππ is an expression in πΈπ₯ππ, (ππ) if π1 , π2 β πΈπ₯ππ, then (π1 + π2 ) is an
expression in πΈπ₯ππ.
Definition 3 (Colored Petri net). A colored Petri net is a tuple πΆππ = (π, π , πΉ , t y p e , π ) where:
β’ (π, π , πΉ ) is a Petri net;
β’ t y p e βΆ π β π° is a place-typing function, mapping each place to a type in π°;
β’ π βΆ πΉ β πΈπ₯ππ is an arc expression function. βπ β πΉ, if π is adjacent to a place π β π, then
the type of π (π) corresponds to the type of π.
Let πΆππ = (π, π , πΉ , t y p e , π ) be a CP-net over a set of domains π°. A marking π in CPN is a
function that maps each place π β π into a multiset of tokens π(π) β βπ (t y p e (π)). For a CPN,
we distinguish an initial marking π0 and a set of final markings Ξ©. A binding π of a transition π‘
is a function that assigns a value π(π£) to each variable π£ occurring in the expression of an arc
adjacent to π‘. For each variable π£, π(π£) β βπβπ° π. A pair (π‘, π), where π is a binding of π‘, is called
a binding element. An evaluation π (π, π‘)(π) determines token demands (multiset of tokens) on
π for π‘ to be enabled with the binding π, and the multiset of tokens that the transition π‘ removes
from the place π when π‘ occurs with the binding π. π (π‘, π)(π) determines the multiset of tokens
added to an output place π. A transition is enabled in a marking π w.r.t a binding π iff for all
π β π, π (π, π‘)(π) β π(π). An enabled transition fires in a marking π yielding a new marking
β² β²
π , such that for all places π, π (π) = (π(π) β§΅ π (π, π‘)(π)) βͺ π (π‘, π)(π).
In the following we consider a subclass of nested Petri nets (NP-nets). A NP-net π π consists
of a colored Petri net called the system net ππ, and a set of WF-nets π© = {πΈ1 , ..., πΈπ } called
element nets, which define types of net tokens. In a system net ππ, places contain either a
set of net tokens or a multiset of atomic colored tokens. A net token is a marked element net,
whereas an atomic colored token is a data value of some domain π· β π, where π is a finite
set of domains. Regarding the system net, we consider a language of expressions πΈπ₯ππ defined
over π΄π‘ππ = π βͺ πΆ, where: (i) π is a finite set of variables, typed over the set of element nets π©
and data domains π (e.g., the type of π₯ β π is πΈ1 ) and (ii) πΆ is a finite set of constants, typed
only over the set of data domains π. Each arc π is supplied with an arc expression from πΈπ₯ππ.
This arc expression can be either: a sum of variables typed over π© if t y p e (π) β π« (π© ) where π
is a place adjacent to arc π containing net tokens, or an arbitrary sum of distinct variables and
constants typed over π if t y p e (π) β π where π is a place adjacent to arc π containing atomic
colored tokens.
Definition 4 (Nested Petri net). Let π be a finite set of domains, πΏππ β a finite set of syn-
chronization labels and π΄ β a finite set of activities. A nested Petri net (NP-net) is a tuple
π π = (ππ , (πΈ1 , ..., πΈπ ), π, πΏ), where:
β’ ππ = (πππ , πππ , πΉππ , t y p e , π ) is a colored Petri net (called a system net) with two sets of
places ππ ππ‘ and ππ΄π‘ππ (ππ ππ‘ βͺ ππ΄π‘ππ = πππ ), such that for all π β ππ ππ‘ , t y p e (π) β {πΈ1 , ..., πΈπ }
and for all π β ππ΄π‘ππ , t y p e (π) β π;
β’ π ππ π = 1, π, πΈπ = (ππ , ππ , πΉπ ) is a WF-net, called an element net, s.t. (πππ βͺ ππ ) β© (πππ βͺ ππ ) = β
;
β’ π βΆ ππ π β πΏππ is a (partial) synchronization labeling function, where ππ π = πππ βͺπ1 βͺ...βͺ ππ ;
β’ πΏ βΆ ππ π β π΄ is an activity labeling function, s.t. π ππ π = 1, π πππ β© ππ = β
.
In what follows, we consider conservative NP-nets [14]. In a conservative NP-net π π =
(ππ , (πΈ1 , ..., πΈπ ), π, πΏ), net tokens cannot be cloned or disappear. In a run, there is a stable set of
net tokens which we distinguish using individual agent names. Let π
be a set of agent names,
we propose a function c l a s s βΆ π
β {πΈ1 , ..., πΈπ }, which maps to each agent name π an element
net. We denote by (π, π) a net token which is characterized by an individual agent name π with
the corresponding element net c l a s s (π) and a marking π. The set of all possible net tokens is
denoted by πa g e n t .
A marking π in a NP-net π π is a function mapping each place π β πππ to a subset of πa g e n t or
a multiset over a domain π· β π, in accordance with the type of π. Hence, elements in π(π) are
either distinguishable net tokens or atomic colored tokens which can be repeated. We say that
a net token (π, π) resides in a place π (under marking π) if (π, π) β π(π). Thus, the marking of
a NP-net is defined by the marking of its system net. For a NP-net, we distinguish an initial
marking π0 and a set of final markings ππ β Ξ©.
Let π‘ be a transition in the system net ππ of a NP-net, and let be β’ π‘ = {π1 , ..., ππ } and π‘ β’ = {π1 , ..., ππ }
the sets of pre- and post-elements of transition π‘. π (π‘) = {π (π1 , π‘), ..., π (ππ , π‘), π (π‘, π1 ), π (π‘, ππ )}
denotes the set of all arc expressions adjacent to π‘. A binding of π‘ is a function π assigning to each
variable π£, occurring in each expression in π (π‘), a value π(π£) β βπ·βπ π· βͺ πa g e n t . A transition π‘
in ππ is enabled in a marking π w.r.t a binding π if for all π β β’ π‘ π (π, π‘)(π) β π(π). An enabled
β²
transition fires in a marking π yielding a new marking π , such that for all places π β πππ ,
β²
π (π) = (π(π) β§΅ π (π, π‘)(π)) βͺ π (π‘, π)(π). For net tokens from πa g e n t serving as variable values
in input arc expressions from π (π‘), we say that they are involved in the firing of π‘. They are
removed from input places and brought to output places of π‘.
We consider three kinds of steps in a NP-net:
Element-autonomous step: let π‘ be a transition without a synchronization label in a net token
named π, i.e., π(π‘) is not defined. When π‘ is enabled in a marking π, an element-autonomous step
is a firing of π‘ in marking π, producing a new marking πβ² , according to the usual firing rules of
WF-nets. This is also written as:
πΏ(π‘),π
π βββββ πβ²
System-autonomous step: let π‘ β πππ be a transition without a synchronization label in the system
net ππ. A system-autonomous step (also called a transfer step when net tokens are involved) is the
firing of transition π‘ according to the firing rule described above for a NP-net. The occurrence
of this step in a marking π w.r.t a binding π, producing a new marking π β² , is denoted by:
πΏ(π‘),π
π βββββ π β²
Table 1
Event attributes in event logs of multi-agent systems.
Event type Attributes
event refers to... Activity Resource Data
(1) an element-autonomous step π1 π1 none.
(2) a system-autonomous step π (ππ , {π1 , ..., ππ }) {π1 , ..., ππ }
(3) a synchronization step (π, π1 , ..., ππ ) (ππ , π1 , ..., ππ ) {π1 , ..., ππ }
Synchronization step: let π‘ β πππ be a transition with a synchronization label π(π‘), and enabled in
a marking π w.r.t a binding π, and let (π1 , π1 ), ..., (ππ , ππ ) β πa g e n t be net tokens involved in the
firing of π‘. Then, π‘ can fire provided that in each (ππ , ππ ) (1 β€ π β€ π) there is an enabled transition
labeled with the same value π(π‘). Thus, a synchronization step goes in two stages: first, the firing
of transitions π‘1 , ..., π‘π in all net tokens involved in the firing of π‘, and then, the firing of π‘ in ππ
w.r.t. a binding π. This step is denoted by:
πΏ(π‘),{(πΏ(π‘π ),ππ ),1β€πβ€π},π
π ββββββββββββββββββ π β²
Definition 5 (Run, Behavior of a nested Petri net). Let π π be a conservative nested Petri
net and π β a sequence of steps in π π. The occurence of π from the initial marking π0 of π π,
results in some final marking ππ β Ξ©, is called a run. The set of all possible runs is denoted by
β¬(π π) and is called the behavior of π π.
3. Event Logs of Multi-Agent Systems
An event log of a multi-agent system is a multiset of traces, where a trace is a sequence of events.
Events consist of an activity name, resources which executed the activity or were involved in its
execution, and an (optional) multiset of data values. As possible resources we consider a system
ππ or a finite set of agents with distinct names π1 , π2 , ..., ππ . As shown in table 1, we consider
three event types: (1) execution of an activity π1 by some resource π1 , (2) execution of an activity
π by the system ππ where π resources (agents) are involved, or (3) the simultaneous execution
of activity π by ππ, and activities π1 , ..., ππ by resources π1 , ..., ππ . For cases (2) and (3), events may
contain π data values used by ππ. We proceed to formally define a trace and an event log of a
multi-agent system.
Definition 6 (Trace, Event log of a multi-agent system). Let ππ be a system name, π β a
set of system activities, π· β a set of data, π΅ β a set of agent activities, π
π΅ β a set agent names,
and π β a set where πΆ β π β πΆ = πΆ1 βͺ πΆ2 / πΆ1 β π
π΅ and πΆ2 β βπ (π·). A trace is a sequence
π β (β°ag e n t βͺ β°s y s t e m βͺ β°s y n c )β where β°a g e n t = π΅ Γ π
π΅ , β°s y s t e m = (π Γ {ππ } Γ π ), and β°sy n c =
(π Γ {ππ } Γ π« (π΅ Γ π
π΅ ) Γ βπ (π·)). β β βπ (β°a g e n t , β°sy s t e m , β°s y n c )β is an event log, i.e., a multiset
of traces.
Table 2 shows an event log β of the multi-agent system modeled in fig. 1. β contains
information on nine traces. A distinct trace can occur multiple times. For instance, trace π5
Table 2
An event log of a multi-agent system β in tabular form, whose expected behavior is modeled in fig. 1.
Trace Freq.
π1 = β¨ (π, π1 ), (π, π2 ), (β, π1 ), (β, π2 ), (π, ππ , {(π , π1 )}), (π, ππ , {(π , π2 )}), 4
(π, ππ , {π2 }), (π, ππ , {π1 }) β©
π2 = β¨ (π, π2 ), (β, π2 ), (π, π1 ), (β, π1 )(π, ππ , {(π , π2 )}), (π, ππ , {(π , π1 )}), 1
(π, ππ , {π1 }), (π, ππ , {π2 }) β©
π3 = β¨ (π, π2 ), (π, π2 ), (π, π1 ), (β, π1 ), ((π, ππ , {(π, π1 )}), (π, ππ , {(π, π2 )}) β© 1
π4 = β¨ (π, π1 ), (π, π2 ), (β, π2 ), (π, π1 ), (π, ππ , {(π, π2 )}), (π, ππ , {(π, π1 )}) β© 1
π5 = β¨ (π, π1 ), (π, π2 ), (π, π1 ), (π, π2 ), (π, ππ , {(π , π1 )}), (π, ππ , {(π, π2 )}), 2
(π, ππ , {π1 }) β©
occurred two times. It is a sequence of seven events. First, both activities π and π were executed
by agents π1 and π2 . Next, the system ππ executed two synchronization steps with agents π1 and
π2 , where activities π and π, and later π and π, were executed simultaneously. The trace ended by
a system-autonomous step where ππ executed π for agent π1 .
Let β be an event log of a multi-agent system and π π β a nested Petri net. β is syntactically
correct w.r.t. π π if each event in β is syntactically correct w.r.t. a step in π π where:
β’ An event (π, π) is syntactically correct w.r.t. a step in π π if there is a transition π‘ without
synchronization label in a net token named π where πΏ(π‘) = π, and π‘ can fire in a marking
πΏ(π‘),π
π producing a new marking πβ² , i.e., π βββββ πβ² in π π where π‘ β πΈπ , 1 β€ π β€ π, and
c l a s s (πΈπ ) = π.
β’ An event (π, ππ , π1 , ..., ππ ) is syntactically correct w.r.t. a step in π π if there is a transition
π‘ β πππ without synchronization label where πΏ(π‘) = π, and π‘ can fire in a marking π w.r.t.
a binding π such that π assigns the atomic tokens π1 , ..., ππ to the variables in π (π‘), i.e.,
πΏ(π‘),π
π βββββ π β² in π π.
β’ An event (π, ππ , {(π1 , π1 ), ..., (ππ , ππ )}, {π1 , ..., ππ }) is syntactically correct w.r.t. a step in
π π if there is a transition π‘ β πππ with synchronization label π(π‘) where πΏ(π‘) = π,
(π1 , π1 ), ..., (ππ , ππ ) are net tokens involved in the firing of π‘ such that in each (ππ , ππ ) there
is an enabled transition π‘π (πΏ(π‘π ) = ππ ) labeled with the same value π(π‘), and π‘ can fire in
a marking π w.r.t. a binding π assigning the atomic tokens π1 , ..., ππ and also the agent
πΏ(π‘),{(πΏ(π‘π ),ππ ),1β€πβ€π},π
names π1 , ..., ππ to the variables in π (π‘), i.e., π ββββββββββββββββββ π β² in π π.
4. Compositional Conformance Checking of Nested Petri Nets
and Event Logs of Multi-Agent Systems
In this section, we propose a solution to check conformance of event logs of multi-agent systems
and nested Petri nets. We prove that an event log perfectly fits a NP-net iff the event log is
Table 3
Projections πΏππ , πΏ1 , and πΏ2 from the event log β (cf. Table 2) onto (a) the system net ππ, and agents (b)
π1 and (c) π2 from π (cf. Fig. 1).
Trace Freq.
Trace Freq.
β¨(π, {π1 }), (π, {π2 }), (π, {π2 }), (π, {π1 })β© 4 Trace Freq.
β¨π, β, π β© 5
β¨(π, {π2 }), (π, {π1 }), (π, {π1 }), (π, {π2 })β© 1 β¨π, β, π β© 5
β¨π, β, πβ© 1
β¨(π, {π1 }), (π, {π2 })β© 1 β¨π, π, πβ© 3
β¨π, π, πβ© 1
β¨(π, {π2 }), (π, {π1 })β© 1 β¨π, β, πβ© 1
β¨π, π, π β© 2
β¨(π, {π1 }), (π, {π2 }), (π, {π1 })β© 2 (c) πΏ2
(b) πΏ1
(a) πΏππ
syntactically correct w.r.t. that NP-net, and each projection of the event log onto a NP-net
component perfectly fits that component.
Let β¨β© denote an empty sequence, π1 .π2 β concatenation of two sequences, and πβΎπ β the
πππππππ‘πππ of sequence π on an element π.
Definition 7 (Trace projection onto an agent). Let π = (β°a g e n t βͺ β°s y s t e m βͺ β°s y n c ) be a set
of events, π΅ β a set of agent activities, and π
π΅ β a set of agent names. βΎπβπ
π΅ β π β βΆ π΅β is a
projection function defined recursively: (1)β¨β©βΎπβπ
π΅ = β¨β© (2) For π β π β and π β π:
β’ If π = (π₯, π¦) β β°a g e n t , π¦ = π, then (β¨πβ©.π )βΎπβπ
π΅ = β¨π₯β©.πβΎπβπ
π΅ ;
β’ If π = (π₯, ππ , {(π₯1 , π¦1 ), ..., (π₯π , π¦π )}, {π1 , ..., ππ }) β β°s y n c , π¦π = π, 1 β€ π β€ π, then (β¨πβ©.π )βΎπβπ
π΅ =
β¨π₯π β©.πβΎπβπ
π΅ ;
β’ Otherwise (β¨πβ©.π )βΎπβπ
π΅ = πβΎπβπ
π΅ .
Definition 8 (Trace projection onto a system net). Let π = (β°a g e n t βͺ β°s y s t e m βͺ β°s y n c ) and
π β π Γ π where π is a set of system activities, πΆ β π β πΆ = πΆ1 βͺ πΆ2 /πΆ1 β π
π΅ and πΆ2 β βπ (π·),
π
π΅ is a set of agent names, and π· is a set of data. βΎππ β π β βΆ π β is a projection function defined
recursively: (1) β¨β©βΎππ = β¨β© (2) For π β π β and π β π:
β’ If π = (π₯, ππ , {π1 , ..., ππ }) β β°sy s t e m , then (β¨πβ©.π )βΎππ = β¨(π₯, {π1 , ..., ππ })β©.πβΎππ ;
β’ If π = (π₯, ππ , {(π₯1 , π¦1 ), ..., (π₯π , π¦π )}, {π1 , ..., ππ }) β β°s y n c , then (β¨πβ©.π )βΎππ =
β¨(π₯, {π¦1 , ..., π¦π , π1 , ..., ππ })β©.πβΎππ ;
β’ Otherwise (β¨πβ©.π )βΎππ = πβΎππ .
Def. 7 (resp. Def. 8) is used to project traces of an event log onto net tokens (resp. a system net).
A projection of a trace onto a net token yields the sequence of agent activities. A projection
onto the system net yields a sequence of pairs where each pair consists of an activity and the set
of resources and data involved in this activity execution. For instance, consider the projection
of the event log β (cf. Table 2) onto components of the NP-net π (cf. Fig. 1). Table 3 shows the
three decomposed event logs πΏππ , πΏ1 , and πΏ2 resulting from the projection of β onto (a) the
system net, (b) agent π1 , and (c) agent π2 respectively.
Thus, a conformance checking technique can be applied to each projection and the corresponding
NP-net component, ignoring their synchronization labels. In particular, for the system net,
we replace net tokens by their agent names, which are atomic colored tokens. We consider
synchronization steps as autonomous steps, and for a marking π in a NP-net π π, marking
projections onto π π components are defined as follows: (1) the projection of π onto a system
net ππ, denoted as πβΎππ , is a marking of the colored Petri net ππ obtained by replacing all
net tokens in π by their agent names, and (2) the projection of π onto a net token (π, π),
denoted as πβΎ(π,π) , is just π. A system net component ππ, with a marking πβΎππ and without
synchronization labels, is a CP-net labeled by activity names. A sequence of binding elements
β¨(π‘1 , π1 ), ..., (π‘π , ππ )β©, starting from the initial marking π0 βΎππ and ending in a final marking ππ βΎππ ,
projected onto the set of system net activities is called a run.
Definition 9 (Perfectly fitting event log). Let β be an event log of a multi-agent system and
π π β a nested Petri net. β perfectly fits π π if and only if for all π = β¨π1 , ..., ππ β© β β there is a run
π β² = β¨π 1 , ..., π π β© β β¬(π π) such that for π = 1, π, ππ is syntactically correct w.r.t π π .
Let π π be a nested Petri net, β β an event log, (π1 , π1 ), ..., (ππ , ππ ) β net tokens of π π, πΏ1 , ..., πΏπ
β- corresponding projections of β, and πΏππ β- a projection of β onto actions of the system net.
πΏππ perfectly fits ππ if and only if for all π = β¨π1 , ..., ππ β© β πΏππ , there is a run π β² in the system
net component where
πΏ(π‘1 ),π1 πΏ(π‘2 ),π2 πΏ(π‘π ),ππ
π β² = (π0 ββββββ π1 ββββββ π2 ...ππβ1 βββββββ ππ )
and for π = 1, π, ππ = (ππ , {π1π , ..., πππ }), πΏ(π‘π ) = ππ , and ππ is the binding assigns {π1π , ..., πππ } to the
variables in π (π‘π ). For π = 1, π, πΏπ perfectly fits (ππ , ππ ) if and only if for all π = β¨π1 , ..., ππ β© β πΏπ ,
there is a run π β² in the element net c l a s s (ππ ) where
πΏ(π‘1 ) πΏ(π‘2 ) πΏ(π‘π )
π β² = (π0 βββββ π1 βββββ π2 ...ππβ1 βββββ ππ )
and for π = 1, π, ππ = ππ and πΏ(π‘π ) = ππ .
An event log perfectly fits a model if all traces in the log can be replayed on the model from
beginning to end. For instance, let us consider the event log β (cf. Table 2) and the NP-net π
depicted in fig. 1. Clearly, β perfectly fits π π. Also, each projected event log πΏππ , πΏ1 , or πΏ2 (cf.
Table 3) perfectly fits the corresponding component in π π.
Theorem 1. Given a nested Petri net π π = (ππ , (πΈ1 , ..., πΈπ ), π, πΏ) and an event log
β β βπ (β°a g e n t , β°s y s t e m , β°s y n c )β , let (π1 , π1 ), ..., (ππ , ππ ) be net tokens of π π, πΏ1 , ..., πΏπ β
corresponding projections of β, and πΏππ β a projection of β onto the system net ππ. β perfectly
fits π π if and only if:
1. β is syntactically correct w.r.t π π;
2. πΏππ perfectly fits ππ;
3. πΏπ perfectly fits (ππ , ππ ), 1 β©½ π β©½ π.
Proof. Let β be an event log of a multi-agent system, π π = (ππ , (πΈ1 , ..., πΈπ ), π, πΏ) β a nested
Petri net, and (π1 , π1 ), ..., (ππ , ππ ) β net tokens of π π.
(β) Let π = β¨π1 , ..., ππ β© β β be such that there is a run π β² = β¨π 1 , ..., π π β© β β¬(π π) and for
π = 1, π:
πΏ(π‘),π
β’ if ππ = (π, π), then π π = π βββββ πβ² where π‘ β πΈπ , 1 β€ π β€ π, c l a s s (πΈπ ) = π, and πΏ(π‘) = π. (1)
πΏ(π‘),π
β’ if ππ = (π, ππ , π1 , ..., ππ ), then π π = π βββββ π β² where πΏ(π‘) = π, and π is a binding assigning
the atomic tokens π1 , ..., ππ to the variables in π (π‘). (2)
πΏ(π‘),{(πΏ(π‘π ),ππ ),1β€πβ€π},π
β’ if ππ = (π, ππ , {(π1 , π1 ), ..., (ππ , ππ )}, {π1 , ..., ππ }), then π π = π ββββββββββββββββββ π β² where
πΏ(π‘) = π,, πΏ(π‘π ) = ππ , 1 β€ π β€ π, and π is a binding assigning the atomic tokens π1 , ..., ππ and
also the agent names π1 , ..., ππ to the variables in π (π‘). (3)
i.e., π perfectly fits π π. We need to prove that
β’ π is syntactically correct w.r.t π π;
β’ π βΎππ = β¨π1π , ..., ππ
π β© perfectly fits the system net component, i.e., there is a run π
β² ππ in the
system net component where:
πΏ(π‘1 ),π1 πΏ(π‘2 ),π2 πΏ(π‘πβ² ),ππβ²
πππ = (π0 ββββββ π1 ββββββ π2 ...ππβ² β1 ββββββββ ππ )
, and for π = 1, πβ² , πππ = (ππ , {π1π , ..., πππ }), πΏ(π‘π ) = ππ , and ππ is the binding that assigns {π1π , ..., πππ }
to the variables in π (π‘π );
β’ for π = 1, π, π βΎππ = β¨π1π , ..., ππ
π β© perfectly fits (π , π ), i.e., there is a run π in the element net
β³ π π ππ
c l a s s (ππ ) where:
πΏ(π‘1 ) πΏ(π‘2 ) πΏ(π‘πβ³ )
πππ = (π0 βββββ π1 βββββ π2 ...ππβ1 ββββββ ππ )
and for π = 1, πβ³ , πΏ(π‘π ) = πππ .
By the fact that π perfectly fits π π, it follows trivially that π is syntactically correct w.r.t π π
(cf. Def. 9).
Taking into account that π β² = β¨π 1 , ..., π π β© is a run in π π (which can hold synchronization
labels) where for π = 1, π we have (1), (2) and (3), and that
β¨β©, ππ ππ = (π, π)
β§
βͺ β¨(π, {π1 , ..., ππ })β©, ππ ππ = (π, ππ , π1 , ..., ππ ) (4)
β¨ππ β© βΎππ =
β¨ β¨(π, {π 1 , ..., π ,
π 1π , ..., π π })β©, ππ π π = (π, ππ , {(π ,
1 1π ), ...,
βͺ
β© (ππ , ππ )}, {π1 , ..., ππ })
(cf. Def. 8) we deduce that for π βΎππ = β¨π1π , ..., ππ
π β©, there is a run π in the system net component
β² ππ
where:
πΏ(π‘1 ),π1 πΏ(π‘2 ),π2 πΏ(π‘πβ² ),ππβ²
πππ = (π0 ββββββ π1 ββββββ π2 ...ππβ² β1 ββββββββ ππ )
and for π = 1, πβ² , πππ = (ππ , {π1π , ..., πππ }), πΏ(π‘π ) = ππ , and ππ is the binding that assigns {π1π , ..., πππ } to
the variables in π (π‘π ). Therefore, π βΎππ perfectly fits the system net component.
Now by the fact that π β² is a run in π π (which can hold synchronization labels) where for
π = 1, π we have (1), (2) and (3), and that for π = 1, π
β¨πβ©, ππ ππ = (π, ππ )
β§
βͺ β¨ππ β©, 1 β€ π β€ π, ππ ππ = (π, ππ , {(π1 , π1 ), ..., (ππ , ππ )}, (5)
β¨ππ β© βΎππ =
β¨ {π1 , ..., ππ })
βͺ
β© β¨β©, ππ‘βπππ€ππ π
(cf. Def. 7) it follows that for π βΎππ = β¨π1 , ..., ππβ³ β©, 1 β€ π β€ π, there is a run πππ in the element net
c l a s s (ππ ) where:
πΏ(π‘1 ) πΏ(π‘2 ) πΏ(π‘πβ³ )
πππ = (π0 βββββ π1 βββββ π2 ...ππβ1 ββββββ ππ )
and for π = 1, πβ³ , πΏ(π‘π ) = ππ . Therefore, π βΎππ perfectly fits (ππ , ππ ).
(β) Let π = β¨π1 , ..., ππ β© β β be such that π is syntactically correct w.r.t π π, π βΎππ perfectly fits
the system net component, and for π = 1, π, π βΎππ perfectly fits (ππ , ππ ). We need to prove that π
perfectly fits π π.
Taking into account (4) and (5), and that π is syntactically correct w.r.t π π, we deduce that by
associating to each element of the projected sequences the corresponding resource, elements
can be merged together into the trace π. Therefore, being π βΎππ perfectly fits the system net
component and for π = 1, π π βΎππ perfectly fits (ππ , ππ ), then π perfectly fits π π and this concludes
the proof.
5. Conclusions and Future Work
In this paper, we proposed a compositional approach for conformance checking of nested
Petri nets and event logs of multi-agent systems. Nested Petri nets are a well-known Petri net
extension where tokens can be Petri nets themselves, allowing to model multi-agent systems.
An event log can be projected onto NP-net components (system net and all agents), so confor-
mance checking can be performed between each projection and the corresponding component.
This approach can provide specific conformance diagnostics for each system component. We
demonstrated the validity of our approach proving that, an event log perfectly fits a nested Petri
net if and only if it is syntactically correct w.r.t the model and each projection perfectly fits the
corresponding model component. For future research, we consider the experimental evaluation
of our approach against other approaches when checking conformance of multi-agent systems.
Acknowledgments
This work is supported by the Basic Research Program at the National Research University
Higher School of Economics.
References
[1] W. van der Aalst, Process Mining: Data Science in Action, 2nd ed., Springer, 2016.
[2] J. Carmona, B. van Dongen, A. Solti, M. Weidlich, Conformance Checking: Relating
Processes and Models, Springer, 2018.
[3] W. van der Aalst, Business alignment: using process mining as a tool for delta analysis
and conformance testing, Requirements Engineering 10 (2005) 198β211.
[4] W. van der Aalst, K. M. van Hee, J. M. van der Werf, M. Verdonk, Auditing 2.0: Using
process mining to support tomorrowβs auditor, Computer 43 (2010) 90β93.
[5] I. Itkin, Mind the gap between testing and production: applying process mining to test the
resilience of exchange platforms (2019), https://tinyurl.com/y55sndcv, ????
[6] W. van der Aalst, Decomposing petri nets for process mining : a generic approach,
Distributed and Parallel Databases 31 (2013) 471β507.
[7] J. Munoz-Gama, J. Carmona, W. Van Der Aalst, Single-entry single-exit decomposed
conformance checking, Information Systems 46 (2014) 102β122.
[8] W. Lee, H. Verbeek, J. Munoz-Gama, W. van der Aalst, M. SepΓΊlveda, Recomposing
conformance: Closing the circle on decomposed alignment-based conformance checking
in process mining, Information Sciences 466 (2018) 55β91.
[9] I. A. Lomazova, Nested Petri Nets - a Formalism for Specification and Verification of
Multi-Agent Distributed Systems., Fundamenta Informaticae 43 (2000) 195β214.
[10] K. Hee, van, O. Oanea, A. Serebrenik, N. Sidorova, M. Voorhoeve, I. Lomazova, Checking
properties of adaptive workflow nets, Fundamenta Informaticae 79 (2007) 347β362.
[11] I. A. Lomazova, Nested Petri Nets for Adaptive Process Modeling, volume 4800, Springer,
2008, pp. 460β474.
[12] T. Murata, Petri nets: Properties, analysis and applications, Proceedings of the IEEE 77
(1989) 541β580.
[13] W. van der Aalst, The Application of Petri Nets to Workflow Management, Journal of
Circuits, Systems and Computers 08 (1998) 21β66.
[14] I. A. Lomazova, V. O. Ermakova, Verification of Nested Petri Nets Using an Unfolding Ap-
proach, in: L. Cabac, L. M. Kristensen, H. RΓΆlke (Eds.), Petri Nets and Software Engineering,
volume 1591 of CEUR Workshop Proceedings, 2016.