Synthesis of bounded Petri Nets from Prime Event Structures with Cutting Context Gabriel Juhás1 and Robert Lorenz2 1 SLOVAK UNIVERSITY OF TECHNOLOGY in Bratislava Faculty of Electrical Engineering and Information Technology Ilkovičova 3, 812 19 Bratislava, Slovak Republic gabriel.juhas@stuba.sk 2 UNIVERSITY OF AUGSBURG Department of Applied Computer Science robert.lorenz@informatik.uni-augsburg.de Abstract. In this paper we present token flow based synthesis of bounded Petri nets from labelled prime event structures (LPES) associated with a cutting con- text. For this purpose we use unfolding semantics based on token flows. Given an infinite LPES represented by some finite prefix equipped with a cutting context and cut-off events it is shown how to synthesize a bounded Petri net, such that the unfolding of the synthesized net preserves common prefixes and concurrency of runs of the LPES. The partial language of this unfolding is the minimal partial language of an unfolding of a Petri net, which includes the partial language of the LPES. This result extends the class of non-sequential behaviour, for which Petri nets can be synthesized, because finite representations of infinite LPES by a finite prefix equipped with a cutting context and cut-off events are more expressive than finite representations of infinite partial languages by terms. 1 Introduction Non-sequential Petri net semantics can be classified into unfolding semantics, process semantics, step semantics and algebraic semantics [11]. While the last three semantics do not provide semantics of a net as a whole, but specify only single, deterministic com- putations, unfolding models are a popular approach to describe the complete behavior of nets accounting for the fine interplay between concurrency and nondeterminism. To study the behavior of Petri nets primarily two models for unfolding semantics were retained: labelled occurrence nets and event structures. The standard unfolding semantics for the general class of place/transition Petri nets or p/t-nets is based on the developments in [12, 3] (see [7] for an overview) in terms of so called branch- ing processes, which are acyclic occurrence nets having events representing transition occurrences and conditions representing tokens in places. Branching processes allow events to be in conflict through branching conditions. Therefore, branching processes can represent alternative processes simultaneously (processes are finite branching pro- cesses without conflict). Branching processes for p/t-nets individualize tokens having the same ”history”, i.e. several (concurrent) tokens produced by some transition occur- rence in the same place are distinguished through different conditions. One can define 58 a single maximal branching process, called the unfolding of the system, capturing the complete non-sequential branching behavior of the p/t-net. A problem with unfoldings is that they are infinite whenever the original p/t-nets have infinitely many runs. It turns out that Petri net unfoldings can often be truncated in such a way that the resulting prefixes, though finite, contain full information w.r.t. some behavioral property. Such prefixes are complete for this property. In the case of bounded nets, according to a construction by McMillan [10] a complete finite prefix preserving full information on reachable markings can always be constructed. In the case of bounded nets, the construction of unfoldings and complete finite prefixes is well analyzed and several algorithmic improvements are proposed in literature [4, 8, 6]. The essential feature of the existing unfolding algorithms is the use of cut-off events, beyond which the unfolding starts to repeat itself and so can be truncated without loss of information. In [8] a generalized, parametric setup, called cutting context is proposed, in which completeness can be discussed in a uniform and algorithm-independent way. By restricting the relations of causality and conflict of a branching process to events, one obtains a labelled prime event structure (LPES) [18] underlying the branching pro- cess, which represents the causality between events of the branching process. Events not being in conflict define consistency sets, that is, an LPES is a partially ordered set of events (transition occurrences) together with a set of (so called) consistency sets [18]. ”History-closed” (left-closed) consistency sets correspond to processes and their under- lying runs in the unfolding. Thus, event structures are in their nature a branching time model of computation, which enable to specify common history of runs. In [1] we presented a new unfolding approach, so called token flow unfoldings based on LPES, which avoid the representation of isomorphic processes or even processes with isomorphic runs in many situations. The new unfolding semantics combines LPES with so called token flows, which were developed in [5] for a compact representation of processes. Token flows abstract from the individuality of conditions of a branching pro- cess and encode the flow relation of the branching process by natural numbers, which are assigned to the edges of the partially ordered run underlying a branching process for each place. Such a natural number assigned to an edge (e, e ) represents the number of tokens produced by the transition occurrence e and consumed by the transition occur- rence e in the respective place. An LPES with assigned token flow information is called a token flow unfolding if each process is represented through a left-closed consistency set with assigned token flows corresponding to the process. Besides their importance as the fundamental model of concurrency, event structures become also interesting to applications: Recently, Dumas in [2] advocates event struc- tures, and in particular labelled prime event structures, as the unifying representation of process models and event logs in the context of process mining. In the Outlook of the paper [2], it is stated that ”the use of event structures for process model synthesis would require new techniques to be developed or existing ones to be heavily adapted”. The Outlook of the paper [2] also states that ”A key challenge is handling repeated be- havior.” and later continues that ”synthesizing a process model from the event structure derived from a log requires being able to detect and isolate repeated behavior.” In this paper we propose such new techniques handling repeated behavior adapting our recent 59 development in the area of synthesis of Petri nets from partial languages [9], which is basically based on token flows. In section 2 we introduce basic mathematical notions and recall the definitions of LPES and of Petri nets with token flow unfoldings, as they were described in [1]. Fur- ther, we introduce complete finite prefixes of token flow unfoldings defined in [1]. Given a labelled prime event structure, to handle repeated behaviour, we propose to use cutting contexts and to equip the labelled prime event structure with cut-off events. Then, given an infinite labelled prime event structure represented by some finite pre- fix equipped with a cutting context and cut-off events it is shown in section 3 how to synthesize a bounded Petri net, while preserving the shared history and concurrency of runs. This result extends the class of non-sequential behaviour, for which Petri nets can be synthesized, because finite representation of infinite labelled prime event structures by finite prefix equipped with cutting context and cut-off events is more expressive than finite representation of infinite partial languages by terms as given in [9]. 2 Token Flow Unfolding Semantics of P/T-nets In this section we recall the definitions of place/transition Petri nets, the unfolding se- mantics based on token flows as they were described in [1], we recall the theory of region based synthesis [9], and the theory of complete prefixes of unfoldings proposed in [8]. We begin with some basic mathematical notations. 2.1 Basic Notions We use N to denote the nonnegative integers. A multi-set over a set A is a function m : A → N. For an element a ∈ A the number m(a) determines the number of occurrences of a in m. Given a binary relation R ⊆ A × A over A, the symbol R+ denotes the transitive closure of R. A directed graph is a tuple G = (V, →), where V is its set of nodes and →⊆ V × V is its set of arcs. As usual, given a binary relation →, we write v → w to denote (v, w) ∈→. In this case v is called pre-node of w amd w is called post-node of v. For v ∈ V we denote by • v = {w ∈ V | w → v} the preset of v, and by v • = {w ∈ V | v → w} the postset of v. A partial order is a directed graph (V, <), where <⊆ V × V is an irreflexive and transitive binary relation. In the context of this paper, a partial order is interpreted as an ”earlier than”-relation between events. A node v is called maximal if v • = ∅, and minimal if • v = ∅. A subset W ⊆ V is called left-closed if ∀v, w ∈ V : (v ∈ W ∧ w < v) =⇒ w ∈ W. For a left-closed subset W ⊆ V , the partial order (W, < |W ×W ) is called prefix of (V, <), defined by W . The left-closure of a subset W is given by the set W ∪ {v ∈ V | ∃w ∈ W : v < w}. Given two partial orders po1 = (V, <1 ) and po2 = (V, <2 ), we say that po2 is a sequentialization of po1 if <1 ⊆ <2 . By