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

03/16/2020
by   Khalil Mecheraoui, et al.
Higher School of Economics
0

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.

READ FULL TEXT VIEW PDF

Authors

page 1

page 2

page 3

page 4

06/11/2018

Compositional Discovery of Workflow Nets from Event Logs Using Morphisms

This paper presents a modular approach to discover process models for mu...
03/07/2020

Module checking of pushdown multi-agent systems

In this paper, we investigate the module-checking problem of pushdown mu...
02/22/2022

Event-Triggered Tracking Control of Networked Multi-Agent Systems

This paper studies the tracking control problem of networked multi-agent...
02/24/2022

Practical Abstraction for Model Checking of Multi-Agent Systems

Model checking of multi-agent systems (MAS) is known to be hard, both th...
01/13/2021

Proposal for Adding Useful Features to Petri-Net Model Checkers

Solutions proposed for the longstanding problem of automatic decompositi...
09/26/2011

Representing Conversations for Scalable Overhearing

Open distributed multi-agent systems are gaining interest in the academi...
08/08/2015

On environments as systemic exoskeletons: Crosscutting optimizers and antifragility enablers

Classic approaches to General Systems Theory often adopt an individual p...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

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 [14]. Conformance checking, which is one of the three pillars of process mining, is actually the fitness force [1]. 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 [12], auditing [10], and financial software testing [3]. 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. [13, 8, 4]). In [13], 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 [8], the authors proposed to decompose models using the idea of single-entry and single-exit (SESE). A SESE component is a subnet that has a simple interface w.r.t the rest of the net. Another approach is presented in [4] 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) [6] — 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 [2, 7].

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.

Figure 1: A nested Petri net where the system net models an automated assistant engine, serving customers concurrently (in this case, agents and ).

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 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 } for . denotes the set of all multisets over . 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 [9] 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 , 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 [11]. A WF-net has an initial and a final state, represented by markings 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 as a of a WF-net if there exists a firing sequence that leads from the initial marking of to its final marking s.t . 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 , , then is an expression in .

Definition 3 (Colored Petri net)

A colored Petri net is a tuple where:

  • is a Petri net;

  • 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 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 . For a CPN, we distinguish an initial marking 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 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 ) 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 type where is a place adjacent to arc containing net tokens, or an arbitrary sum of distinct variables and constants typed over if type 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 synchronization labels and — a finite set of activities. A nested Petri net (NP-net) is a tuple , where:

  • is a colored Petri net (called a system net) with two sets of places and (), such that for all , and for all , ;

  • is a WF-net, called an element net, s.t. ;

  • is a (partial) synchronization labeling function, where

  • is an activity labeling function, s.t .

In what follows, we consider conservative NP-nets [5]. In a conservative NP-net , 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 , 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 and a marking . The set of all possible net tokens is denoted by .

A marking in a NP-net is a function mapping each place to a subset of 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 and a set of final markings .

Let be a transition in the system net of a NP-net, and let be and the sets of pre- and post-elements of transition . 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 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 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:

Synchronization step: let be a transition with a synchronization label , and enabled in a marking w.r.t a binding , and let be net tokens involved in the firing of . Then, can fire provided that in each () there is an enabled transition labeled with the same value . Thus, a synchronization step goes in two stages: first, the firing of transitions 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:

Definition 5 (Run, Behavior of a nested Petri net)

Let be a conservative nested Petri net and — a sequence of steps in . The occurrence of from the initial marking 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 . As shown in table 1, we consider three event types: (1) execution of an activity by some resource , (2) execution of an activity by the system where resources (agents) are involved, or (3) the simultaneous execution of activity by , and activities by resources . 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.

Event type Attributes
event refers to… Activity Resource Data
(1) an element-autonomous step none.
(2) a system-autonomous step
(3) a synchronization step
Table 1: Event attributes in event logs of multi-agent systems.
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 and . A trace is a sequence where , , and . is an event log, i.e., a multiset of traces.

Trace Freq.

4

1
1
1

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

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 occurred two times. It is a sequence of seven events. First, both activities and were executed by agents and . Next, the system executed two synchronization steps with agents and , where activities and , and later and , were executed simultaneously. The trace ended by a system-autonomous step where executed for agent .

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

  • An event 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 to the variables in , i.e., in .

  • An event is syntactically correct w.r.t. a step in if there is a transition with synchronization label where , 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 and also the agent names 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 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, — concatenation of two sequences, and — the of sequence on an element .

Definition 7 (Trace projection onto an agent)

Let be a set of events, — a set of agent activities, and — a set of agent names. is a projection function defined recursively: For and :

  • [nosep]

  • If then ;

  • If then ;

  • Otherwise .

Definition 8 (Trace projection onto a system net)

Let and where is a set of system activities, and , is a set of agent names, and is a set of data. is a projection function defined recursively: (1) (2) For and :

  • [nosep]

  • If then ;

  • If then ;

  • 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 show the three decomposed event logs , , and resulting from the projection of onto (a) the system net, (b) agent , and (c) agent respectively.

Trace Freq.
4
1
1
1
2
(a) caption
Trace Freq.
5
1
1
2
(b) caption
Trace Freq.
5
3
1
(c) caption
Table 3: Projections , , and from the event log (cf. Table 2) onto (a) the system net , and agents (b) and (c) from (cf. Fig. 1).

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 , starting from the initial marking 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 there is a run such that for , is syntactically correct w.r.t .

Let be a nested Petri net, — an event log, — net tokens of , –- corresponding projections of , and –- a projection of onto actions of the system net. perfectly fits if and only if for all , there is a run in the system net component where

and for , , , and is the binding assigns to the variables in . For , perfectly fits if and only if for all , there is a run in the element net where

and for , 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 , , or (cf. Table 3) perfectly fits the corresponding component in .

Theorem 4.1

Given a nested Petri net and an event log , let be net tokens of , – 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 , .

Proof

Let be an event log of a multi-agent system, — a nested Petri net, and — net tokens of .

() Let be such that there is a run and for :

  • if then where and . (1)

  • if then where and is a binding assigning the atomic tokens to the variables in . (2)

  • if then where , , and is a binding assigning the atomic tokens and also the agent names to the variables in . (3)

i.e., perfectly fits . We need to prove that

  • is syntactically correct w.r.t ;

  • perfectly fits the system net component, i.e., there is a run in the system net component where:

    , and for , , , and is the binding that assigns to the variables in ;

  • for , perfectly fits , i.e., there is a run in the element net where:

    and for .

By the fact that perfectly fits , it follows trivially that is syntactically correct w.r.t (cf. Def. 9).

Taking into account that is a run in (which can hold synchronization labels) where for we have (1), (2) and (3), and that

(cf. Def. 8) we deduce that for , there is a run in the system net component where: