• Aucun résultat trouvé

Compositional Conformance Checking of Nested Petri Nets and Event Logs of Multi-Agent Systems

N/A
N/A
Protected

Academic year: 2022

Partager "Compositional Conformance Checking of Nested Petri Nets and Event Logs of Multi-Agent Systems"

Copied!
12
0
0

Texte intégral

(1)

Compositional Conformance Checking of Nested Petri Nets and Event Logs of Multi-Agent Systems

KhalilMecheraouia,b, Julio C.Carrasquelaand Irina A.Lomazovaa

aNational Research University Higher School of Economics, Myasnitskaya ul. 20, Moscow, 101000, Russia

bUniversity 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-calledvalid decompositionto 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 ofsingle-entryandsingle-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)

(2)

Figure 1: A nested Petri net where thesystem net𝑆𝑁models anautomated assistant engine, serving customers concurrently (in this case,agents𝑟1and𝑟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 isartificial, 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.1depicts an example of a NP-net describing anautomated assistant enginethat can serve multiple customers concurrently. A NP-net consists of asystem net, i.e., modeling the system’s environment, and a set ofnet 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 severalprojectionsaccording 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

(3)

systems. To demonstrate the validity of our approach, we consider the notion offitness. If a model hasperfect 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 thatperfectly fitsa 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 systemperfectly fitsa 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 apower 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 asequenceof 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. Theinitial markingis denoted as𝑚0, and the change into a new marking is defined by thefiring rule. Let𝑁 = (𝑃, 𝑇 , 𝐹 )be a Petri net,𝑋 = 𝑃 ∪ 𝑇, the sets𝑥 = {𝑦 ∈ 𝑋 |(𝑦, 𝑥) ∈ 𝐹 }and 𝑥= {𝑦 ∈ 𝑋 |(𝑥, 𝑦) ∈ 𝐹 }denote thepreset and thepostsetof𝑥 ∈ 𝑋. Transition𝑡 ∈ 𝑇isenabled in amarking𝑚iff𝑡 ⊆ 𝑚. Then, thefiringof𝑡leads to anew 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 considerworkflow nets[13]. A WF-net has an initial and a final state, represented by markings𝑚0 = {𝑖}and𝑚𝑓 = {𝑜}. Let 𝑁 = (𝑃, 𝑇 , 𝐹 )be a WF-net, we consider anactivity labelingfunction𝛿 ∶ 𝑇 → 𝐴, which assigns anactivitylabel 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

(4)

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 thebehavior 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 (colortypes). 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𝐶𝑃𝑁 = (𝑃, 𝑇 , 𝐹 ,type, 𝑊 )where:

(𝑃, 𝑇 , 𝐹 )is a Petri net;

type∶ 𝑃 → 𝒰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𝐶𝑃𝑁 = (𝑃, 𝑇 , 𝐹 ,type, 𝑊 )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𝑀(𝑝) ∈ ℙ𝑚(type(𝑝)). For a CPN, we distinguish an initial marking𝑀0and 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 abinding 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 thesystem 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 ofnet tokensor a multiset ofatomic 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𝒩iftype(𝑝) ∈ 𝒫 (𝒩 )where𝑝 is a place adjacent to arc𝑟containing net tokens, or an arbitrary sum of distinct variables and constants typed over𝒟iftype(𝑝) ∈ 𝒟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:

(5)

𝑆𝑁 = (𝑃𝑆𝑁, 𝑇𝑆𝑁, 𝐹𝑆𝑁,type, 𝑊 )is a colored Petri net (called a system net) with two sets of places𝑃𝑁 𝑒𝑡and𝑃𝐴𝑡𝑜𝑚(𝑃𝑁 𝑒𝑡∪ 𝑃𝐴𝑡𝑜𝑚= 𝑃𝑆𝑁), such that for all𝑝 ∈ 𝑃𝑁 𝑒𝑡,type(𝑝) ⊆ {𝐸1, ..., 𝐸𝑘} and for all𝑝 ∈ 𝑃𝐴𝑡𝑜𝑚,type(𝑝) ∈ 𝒟;

𝑓 𝑜𝑟 𝑖 = 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 considerconservative NP-nets [14]. In a conservative NP-net𝑁 𝑃 = (𝑆𝑁 , (𝐸1, ..., 𝐸𝑘), 𝜆, 𝛿), net tokens cannot becloned ordisappear. In a run, there is astable set of net tokens which we distinguish using individualagent names. Let𝑅be a set of agent names, we propose a functionclass ∶ 𝑅 → {𝐸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 netclass(𝑟)and a marking𝑚. The set of all possible net tokens is denoted by𝑆agent.

A marking𝑀in a NP-net𝑁 𝑃is a function mapping each place𝑝 ∈ 𝑃𝑆𝑁to a subset of𝑆agentor 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(𝑟, 𝑚)residesin 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𝑀0and 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𝑡. Abindingof𝑡is a function𝑏assigning to each variable𝑣, occurring in each expression in𝑊 (𝑡), a value𝑏(𝑣) ∈ ⋃𝐷∈𝒟𝐷 ∪ 𝑆agent. A transition𝑡 in𝑆𝑁isenabledin 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𝑆agent serving as variable values in input arc expressions from𝑊 (𝑡), we say that they areinvolvedin 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𝑚, anelement-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𝑆𝑁. Asystem-autonomous step(also called atransfer stepwhen 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:

𝑀−−−−→ 𝑀𝛿(𝑡),𝑏

(6)

Table 1

Event attributes in event logs of multi-agent systems.

Event type Attributes

event refers to... Activity Resource Data

(1) anelement-autonomousstep 𝑎1 𝑟1 none.

(2) asystem-autonomousstep 𝑎 (𝑆𝑁 , {𝑟1, ..., 𝑟𝑛}) {𝑑1, ..., 𝑑𝑚} (3) asynchronizationstep (𝑎, 𝑎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), ..., (𝑟𝑛, 𝑚𝑛) ∈ 𝑆agent 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, asynchronization stepgoes 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𝑀0of𝑁 𝑃, 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

Anevent logof a multi-agent system is a multiset of traces, where atraceis a sequence of events.

Events consist of anactivity name,resourceswhich executed the activity or wereinvolved 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 table1, we consider three event types: (1) execution of an activity𝑎1by 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 valuesused 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 𝜎 ∈ (ℰagent ∪ ℰsystem ∪ ℰsync) whereagent = 𝐵 × 𝑅𝐵,system = (𝑆 × {𝑆𝑁 } × 𝒞 ), andℰsync = (𝑆 × {𝑆𝑁 } × 𝒫 (𝐵 × 𝑅𝐵) × ℙ𝑚(𝐷)).ℒ ∈ ℙ𝑚(ℰagent, ℰsystem, ℰsync)is an event log, i.e., a multiset of traces.

Table 2shows 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

(7)

Table 2

An event log of a multi-agent systemin tabular form, whose expected behavior is modeled in fig.1.

Trace Freq.

𝜎1= ⟨ (𝑑, 𝑟1), (𝑑, 𝑟2), (ℎ, 𝑟1), (ℎ, 𝑟2), (𝑎, 𝑆𝑁 , {(𝑓 , 𝑟1)}), (𝑎, 𝑆𝑁 , {(𝑓 , 𝑟2)}), (𝑏, 𝑆𝑁 , {𝑟2}), (𝑏, 𝑆𝑁 , {𝑟1}) ⟩

4 𝜎2= ⟨ (𝑑, 𝑟2), (ℎ, 𝑟2), (𝑑, 𝑟1), (ℎ, 𝑟1)(𝑎, 𝑆𝑁 , {(𝑓 , 𝑟2)}), (𝑎, 𝑆𝑁 , {(𝑓 , 𝑟1)}),

(𝑏, 𝑆𝑁 , {𝑟1}), (𝑏, 𝑆𝑁 , {𝑟2}) ⟩

1 𝜎3= ⟨ (𝑑, 𝑟2), (𝑒, 𝑟2), (𝑑, 𝑟1), (ℎ, 𝑟1), ((𝑐, 𝑆𝑁 , {(𝑔, 𝑟1)}), (𝑐, 𝑆𝑁 , {(𝑔, 𝑟2)}) ⟩ 1 𝜎4= ⟨ (𝑑, 𝑟1), (𝑑, 𝑟2), (ℎ, 𝑟2), (𝑒, 𝑟1), (𝑐, 𝑆𝑁 , {(𝑔, 𝑟2)}), (𝑐, 𝑆𝑁 , {(𝑔, 𝑟1)}) ⟩ 1 𝜎5= ⟨ (𝑑, 𝑟1), (𝑑, 𝑟2), (𝑒, 𝑟1), (𝑒, 𝑟2), (𝑎, 𝑆𝑁 , {(𝑓 , 𝑟1)}), (𝑐, 𝑆𝑁 , {(𝑔, 𝑟2)}),

(𝑏, 𝑆𝑁 , {𝑟1}) ⟩

2

occurred two times. It is a sequence of seven events. First, both activities𝑑and𝑒were executed by agents𝑟1and𝑟2. Next, the system𝑆𝑁executed two synchronization steps with agents𝑟1and 𝑟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. ℒissyntactically correct w.r.t.𝑁 𝑃if each event inℒissyntactically correctw.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 class(𝐸𝑖) = 𝑟.

• 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 names𝑟1, ..., 𝑟𝑞to the variables in𝑊 (𝑡), i.e.,𝑀−−−−−−−−−−−−−−−−−→ 𝑀𝛿(𝑡),{(𝛿(𝑡𝑖),𝑟𝑖),1≤𝑖≤𝑛},𝑏 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

(8)

Table 3

Projections𝐿𝑆𝑁,𝐿1, and𝐿2from the event log(cf. Table2) onto (a) the system net𝑆𝑁, and agents (b) 𝑟1and (c)𝑟2from𝑁(cf. Fig.1).

Trace Freq.

⟨(𝑎, {𝑟1}), (𝑎, {𝑟2}), (𝑏, {𝑟2}), (𝑏, {𝑟1})⟩ 4

⟨(𝑎, {𝑟2}), (𝑎, {𝑟1}), (𝑏, {𝑟1}), (𝑏, {𝑟2})⟩ 1

⟨(𝑐, {𝑟1}), (𝑐, {𝑟2})⟩ 1

⟨(𝑐, {𝑟2}), (𝑐, {𝑟1})⟩ 1

⟨(𝑎, {𝑟1}), (𝑐, {𝑟2}), (𝑏, {𝑟1})⟩ 2 (a)𝐿𝑆𝑁

Trace Freq.

⟨𝑑, ℎ, 𝑓 ⟩ 5

⟨𝑑, ℎ, 𝑔⟩ 1

⟨𝑑, 𝑒, 𝑔⟩ 1

⟨𝑑, 𝑒, 𝑓 ⟩ 2 (b)𝐿1

Trace Freq.

⟨𝑑, ℎ, 𝑓 ⟩ 5

⟨𝑑, 𝑒, 𝑔⟩ 3

⟨𝑑, ℎ, 𝑔⟩ 1

(c)𝐿2

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𝑋 = (ℰagent ∪ ℰsystem ∪ ℰsync)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𝑒 = (𝑥, 𝑦) ∈ ℰagent, 𝑦 = 𝑟, then(⟨𝑒⟩.𝜎)↾𝑟∈𝑅𝐵= ⟨𝑥⟩.𝜎↾𝑟∈𝑅𝐵;

• If𝑒 = (𝑥, 𝑆𝑁 , {(𝑥1, 𝑦1), ..., (𝑥𝑛, 𝑦𝑛)}, {𝑑1, ..., 𝑑𝑝}) ∈ ℰsync, 𝑦𝑖 = 𝑟, 1 ≤ 𝑖 ≤ 𝑛, then(⟨𝑒⟩.𝜎)↾𝑟∈𝑅𝐵=

⟨𝑥𝑖⟩.𝜎↾𝑟∈𝑅𝐵;

• Otherwise(⟨𝑒⟩.𝜎)↾𝑟∈𝑅𝐵= 𝜎↾𝑟∈𝑅𝐵 .

Definition 8 (Trace projection onto a system net). Let𝑋 = (ℰagent ∪ ℰsystem ∪ ℰsync)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, ..., 𝑑𝑝}) ∈ ℰsystem, then(⟨𝑒⟩.𝜎)↾𝑆𝑁= ⟨(𝑥, {𝑑1, ..., 𝑑𝑝})⟩.𝜎↾𝑆𝑁;

• If 𝑒 = (𝑥, 𝑆𝑁 , {(𝑥1, 𝑦1), ..., (𝑥𝑛, 𝑦𝑛)}, {𝑑1, ..., 𝑑𝑝}) ∈ ℰsync, 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. Table2) onto components of the NP-net𝑁(cf. Fig.1). Table3shows the three decomposed event logs𝐿𝑆𝑁,𝐿1, and𝐿2resulting from the projection ofℒonto (a) the system net, (b) agent𝑟1, and (c) agent𝑟2respectively.

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

(9)

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 arun.

Definition 9 (Perfectly fitting event log). Letbe 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

𝜎= (𝑀0 −−−−−→ 𝑀𝛿(𝑡1),𝑏1 1−−−−−→ 𝑀𝛿(𝑡2),𝑏2 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 netclass(𝑟𝑖)where

𝜎= (𝑚0−−−−→ 𝑚𝛿(𝑡1) 1 −−−−→ 𝑚𝛿(𝑡2) 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. Table2) and the NP-net𝑁 depicted in fig.1. Clearly,ℒperfectly fits𝑁 𝑃. Also, each projected event log𝐿𝑆𝑁,𝐿1, or𝐿2(cf.

Table3) perfectly fits the corresponding component in𝑁 𝑃.

Theorem 1. Given a nested Petri net 𝑁 𝑃 = (𝑆𝑁 , (𝐸1, ..., 𝐸𝑘), 𝜆, 𝛿) and an event log ℒ ∈ ℙ𝑚(ℰagent, ℰsystem, ℰsync), let (𝑟1, 𝑚1), ..., (𝑟𝑛, 𝑚𝑛) be net tokens of 𝑁 𝑃, 𝐿1, ..., 𝐿𝑛 corresponding projections ofℒ, and𝐿𝑆𝑁– a projection ofonto 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, 𝑚:

(10)

• if𝑒𝑖= (𝑎, 𝑟), then𝑠𝑖= 𝑚−−−−→ 𝑚𝛿(𝑡),𝑟 where𝑡 ∈ 𝐸𝑖, 1 ≤ 𝑖 ≤ 𝑘,class(𝐸𝑖) = 𝑟,and𝛿(𝑡) = 𝑎. (1)

• if𝑒𝑖= (𝑎, 𝑆𝑁 , 𝑑1, ..., 𝑑𝑝), then𝑠𝑖= 𝑀−−−−→ 𝑀𝛿(𝑡),𝑏 where𝛿(𝑡) = 𝑎,and𝑏is a binding assigning the atomic tokens𝑑1, ..., 𝑑𝑝to the variables in𝑊 (𝑡).(2)

• if𝑒𝑖 = (𝑎, 𝑆𝑁 , {(𝑎1, 𝑟1), ..., (𝑎𝑞, 𝑟𝑞)}, {𝑑1, ..., 𝑑𝑝}), then𝑠𝑖 = 𝑀 −−−−−−−−−−−−−−−−−→ 𝑀𝛿(𝑡),{(𝛿(𝑡𝑖),𝑟𝑖),1≤𝑖≤𝑞},𝑏 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:

𝜎𝑆𝑁= (𝑀0 −−−−−→ 𝑀𝛿(𝑡1),𝑏1 1−−−−−→ 𝑀𝛿(𝑡2),𝑏2 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 class(𝑟𝑖)where:

𝜎𝑟𝑖 = (𝑚0−−−−→ 𝑚𝛿(𝑡1) 1−−−−→ 𝑚𝛿(𝑡2) 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:

𝜎𝑆𝑁 = (𝑀0−−−−−→ 𝑀𝛿(𝑡1),𝑏1 1 −−−−−→ 𝑀𝛿(𝑡2),𝑏2 2...𝑀𝑚−1−−−−−−−→ 𝑀𝛿(𝑡𝑚′),𝑏𝑚′ 𝑓)

and for𝑖 = 1, 𝑚,𝑒𝑠𝑖 = (𝑎𝑖, {𝑑1𝑖, ..., 𝑑𝑝𝑖}),𝛿(𝑡𝑖) = 𝑎𝑖, and𝑏𝑖is the binding that assigns{𝑑1𝑖, ..., 𝑑𝑝𝑖}to the variables in𝑊 (𝑡𝑖). Therefore,𝜎 ↾𝑆𝑁perfectly fits the system net component.

(11)

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 class(𝑟𝑖)where:

𝜎𝑟𝑖 = (𝑚0−−−−→ 𝑚𝛿(𝑡1) 1−−−−→ 𝑚𝛿(𝑡2) 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.

(12)

[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 ofCEUR Workshop Proceedings, 2016.

Références

Documents relatifs

In timed nets [65], [70], [83], firing times are associated with transitions, and transition firings are real–time events, i.e., tokens are removed from input places at the beginning

In timed nets, firing times are associated with transitions, and transition firings are ‘real–time’ events, i.e., tokens are removed from input places at the beginning of the fir-

A model of a simple communication protocol with a timeout mechanism, shown in Fig.6, is used as an illustration of timed nets with deterministic firing times [16].. The token in p

Instead, we need to come up with more clever heuristics in our research: In trading systems is it important to consider data- aware conformance checking (to consider data

System event logs are projected on each agent to discover component models in terms of workflow nets by using existing process discovery algorithms.. By means of morphisms, we

Then the question is whether direct unfolding proposed in [5] is really better than constructing unfoldings via translation of nested Petri nets into safe P/N nets in terms of

TAPAAL [11], for instance, is an explicit-state model checker that combines Partial-Order Reduction techniques and structural reductions and can check property on Petri nets

A (coloured) Petri net involves objects defined by a colour domain that pro- vides data values, variables, operators, a syntax for expressions, possibly typing rules, etc..