scispace - formally typeset
Open AccessBook ChapterDOI

History-dependent Petri nets

TLDR
It is shown that some classes of history-dependent nets can be automatically converted to classical Petri nets for analysis purposes and some classes are characterized by the form of the guards and sometimes the additional requirement that the underlying Classical Petri net is either bounded or has finite synchronization distances.
Abstract
Most information systems that are driven by process models (e.g., workflow management systems) record events in event logs, also known as transaction logs or audit trails. We consider processes that not only keep track of their history in a log, but also make decisions based on this log. To model such processes we extend the basic Petri net framework with the notion of history and add guards to transitions evaluated on the process history. We show that some classes of history-dependent nets can be automatically converted to classical Petri nets for analysis purposes. These classes are characterized by the form of the guards (e.g., LTL guards) and sometimes the additional requirement that the underlying classical Petri net is either bounded or has finite synchronization distances.

read more

Content maybe subject to copyright    Report

History-dependent Petri nets
Citation for published version (APA):
Van Hee, K., Serebrenik, A., Sidorova, N., & Van Aalst, W. D. (2007). History-dependent Petri nets. In A.
Yakovlev (Ed.),
Petri Nets and Other Models of Concurrency - ICATPN 2007 - 28th International Conference on
Applications and Theory of Petri Nets and Other Models of Concurrency, ICATPN 2007, Proceedings
(pp. 164-
183). (Lecture Notes in Computer Science; Vol. 4546). Springer. https://doi.org/10.1007/978-3-540-73094-1_12
DOI:
10.1007/978-3-540-73094-1_12
Document status and date:
Published: 01/12/2007
Document Version:
Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers)
Please check the document version of this publication:
• A submitted manuscript is the version of the article upon submission and before peer-review. There can be
important differences between the submitted version and the official published version of record. People
interested in the research are advised to contact the author for the final version of the publication, or visit the
DOI to the publisher's website.
• The final author version and the galley proof are versions of the publication after peer review.
• The final published version features the final layout of the paper including the volume, issue and page
numbers.
Link to publication
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners
and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research.
• You may not further distribute the material or use it for any profit-making activity or commercial gain
• You may freely distribute the URL identifying the publication in the public portal.
If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please
follow below link for the End User Agreement:
www.tue.nl/taverne
Take down policy
If you believe that this document breaches copyright please contact us at:
openaccess@tue.nl
providing details and we will investigate your claim.
Download date: 09. Aug. 2022

History-Dependent Petri Nets
Kees van Hee, Alexander Serebrenik, Natalia Sidorova, and Wil van der Aalst
Department of Mathematics and Computer Science
Eindhoven University of Technology
P.O. Box 513, 5600 MB Eindhoven, The Netherlands
{k.m.v.hee,a.serebrenik,n.sidorova,w.m.p.v.d.aalst}@tue.nl
Abstract. Most information systems that are driven by process models
(e.g., workflow management systems) record events in event logs, also
known as transaction logs or audit trails. We consider processes that
not only keep track of their history in a log, but also make decisions
based on this log. To model such processes we extend the basic Petri
net framework with the notion of history and add guards to transitions
evaluated on the process history. We show that some classes of history-
dependent nets can be automatically converted to classical Petri nets
for analysis purposes. These classes are characterized by the form of
the guards (e.g., LTL guards) and sometimes the additional requirement
that the underlying classical Petri net is either bounded or has finite
synchronization distances.
1 Introduction
Numerous state-of-the-art enterprise information systems contain a workflow
engine, which keeps track of all events as a part of its basic functionality. In
this paper we consider processes that not only record the events but also make
choices based on the previous events, i.e. based on their history. The ability of
a system to change its behavior depending on its observed behavior is known
as adaptivity and in this sense this paper is about a special class of adaptive
systems.
In classical Petri nets the enabling of a transition depends only on the avail-
ability of tokens in the input places of the transition. We extend the model by
recording the history of the process and introducing transition guards evaluated
on the history. To illustrate the use of history, we consider a simple example of
two traffic lights on crossing roads.
Example 1. Figure 1 (left) presents two traffic lights, each modelled by a cycle
of three places and three transitions. The places model the states of each traffic
light (red, green and yellow), and the transitions change the lights from one color
to the next color. We assume that in the initial state both lights are red.
We want the system to be safe and fair, i.e., the traffic lights are never green
at the same time, the right traffic light can become green at most R times more
than the left traffic light, and similarly, the left traffic light can become green
at most L times more than the right traffic light. Usually one takes R =1and
J. Kleijn and A. Yakovlev (Eds.): ICATPN 2007, LNCS 4546, pp. 164–183, 2007.
c
Springer-Verlag Berlin Heidelberg 2007

History-Dependent Petri Nets 165
a
b
c f
d
e
RedL RedR
GreenL
YellowL
GreenR
YellowR
a
b
c f
d
e
RedL
RedR
GreenL
YellowL
GreenR
p
q
YellowR
Fig. 1. Traffic lights: without restrictions (left) and alternating (right)
a
b
c f
d
e
RedL RedR
GreenL
YellowL
GreenR
YellowR
p
q
a
b
c f
d
e
RedL
RedR
GreenL
YellowL
GreenR
YellowR
#{d}=#{e} and #{b}<#{e}+L
#{a}=#{b} and #{e}<#{b}+R
Fig. 2. A history-dependent Petri net with parameters R and L (left) and the history
guards replaced according to Theorem 23 for R =1andL =2(right)
L =0,orR =0andL = 1, implying alternating behavior of the traffic lights.
In order to obtain the alternating behavior one traditionally adds control places
p and q as in the right-hand side of Figure 1. This figure models the situation
with R =0andL = 1. Note that it is not easy to generalize this construction
for arbitrary R and L.
Our approach consists in making the guards explicit as shown in left-hand
side of Figure 2. To ensure safety, we require that b can fire only if the right
traffic light is red, i.e., transitions d and e have fired the same number of times.
The guard of b is written then as #{d} =#{e}. Similarly, e obtains the guard
#{a} =#{b}. In order to guarantee fairness, we require that in any history, b
fires at most L times more than e, i.e. #{b}≤#{e}+ L,ande fires at most R
times more than b, i.e., #{e}≤#{b}+ R. To ensure this we add the additional
requirement #{b} < #{e}+ L to the guard of b and the additional requirement
#{
e} < #{b}+ R to the guard of e. This results in the history-dependent Petri
net shown in Figure 2 (left).
Using history we can separate the modeling of the standard process informa-
tion (switching the traffic light to the following color) from additional require-
ments ensuring the desired behavior. Hence, we believe that introducing

166 K. van Hee et al.
history-dependent guards amounts to enhanced modeling comfort. Observe also
that global access to the history allows to ease modeling of synchronous choices.
Assume that at a certain point a choice has to be made between transitions a
and b. Assume further that the only impact of this choice is somewhere later in
the process: a
has to be chosen if a has been chosen and b
has to be chosen if b
has been chosen. A classical solution of this problem involves creating two places
p
a
and p
b
with the only incoming arc coming from a (b) and the only outgoing
arc leading to a
(b
). Rather than cluttering our model with additional places,
we set the guard of a
(b
)todemandthata (b) has been chosen before.
In this paper we consider two approaches to introduce history into the Petri
net model: (1) token history, where each individual token carries its own history,
i.e., history can be seen as special kind of color, and (2) global history,wherethere
is a single centralized history and every transition guard is evaluated on it (like
in our traffic lights example). Token history can be used in distributed settings
where different components do not have information about the actions of other
components. Global history is in fact a special case of token history for transparent
systems where all components are aware of the actions of other components.
By introducing history-dependent guards, we increase the expressive power.
On the traffic lights example, we can easily see that we can check the emptiness
of a place using history: RedR is empty if and only if #{e}−#{d} = 1. Hence,
we can model inhibitor arcs and consequently our formalism is Turing complete.
Since, we are interested not only in modeling but also in verification, we iden-
tify a number of important classes of global history nets (e.g. nets with LTL
guards) that can be transformed to bisimilar classical Petri nets and provide
corresponding transformations. For instance, the history-dependent net on the
left-hand side of Figure 2 can be automatically transformed to the classical net
on the right-hand side (we took R =1andL =2).
Due to the Turing completeness, not every history-dependent net can be repre-
sented by a classical Petri net. We are still interested in simulation and validation
of history-dependent nets. Simulation and validation are however complicated
by the fact that the representation of the current state of the system requires in
general an unbounded amount of memory, due to the growth of the history. We
solve this problem for a Turing complete subclass of global history nets (in which
we use event counting, but not event precedence in the guards) by defining a
transformation to bisimilar inhibitor nets. Inhibitor nets, though being Turing
complete, have a state representation of a fixed length (a marking), which makes
the simulation and validation feasible.
The remainder of the paper is organized as follows. After some preliminary
remarks in Section 2, we introduce the notion of event history together with a
history logic in Section 3. Section 4 introduces token history nets and Section 5
introduces global history nets. In Section 6 we show how to map several subclasses
of global history nets with counting formulae as guards to classical Petri nets
or inhibitor Petri nets, and in Section 7 we describe a transformation of global
history nets with LTL guards to classical Petri nets. Finally, we review the related
work and conclude the paper.

History-Dependent Petri Nets 167
2 Preliminaries
N denotes the set of natural numbers and Z the set of integers.
Let P be a set. A bag (multiset) m over P is a mapping m : P N.We
identify a bag with all elements occurring only once with the set containing the
elements of the bag. The set of all bags over P is denoted by N
P
.Weuse+
and for the sum and the difference of two bags and =,<,>, and for the
comparison of bags, which are defined in a standard way. We overload the set
notation, writing for the empty bag and for the element inclusion. We write
e.g. m =2[p]+[q] for a bag m with m(p)=2,m(q) = 1, and m(x) = 0 for all
x ∈{p, q}.Asusual,|m| and |S| stand for the number of elements in bag m and
in set S, respectively.
For (finite) sequences of elements over a set P we use the following notation:
The empty sequence is denoted with ; a non-empty sequence can be given by
listing its elements.
A transition system is a tuple E = S, Act ,T where S is a set of states, Act is
a finite set of action names and T S ×Act ×S is a transition relation.Wesay
that E is finite if S is finite. A process is a pair (E, s
0
)whereE is a transition
system and s
0
S an initial state. We denote (s
1
,a,s
2
) T as s
1
a
−→
E
s
2
,
and we say that a leads from s
1
to s
2
in E.WeomitE and write s
a
−→ s
whenever no ambiguity can arise. For a sequence of action names σ = a
1
...a
n
we write s
1
σ
−→ s
2
when s
1
= s
0
a
1
−→ s
1
a
2
−→ ...
a
n
−→ s
n
= s
2
.Next,s
1
−→ s
2
means that there exists a sequence σ T
such that s
1
σ
−→ s
2
.Wesaythats
2
is reachable from s
1
if and only if s
1
−→ s
2
. Finally, the language of a process
(E,s
0
), denoted L(E,s
0
), is defined as {σ | σ T
, s : s
0
σ
−→ s}.
Definition 2. Let E
1
= S
1
, Act,T
1
,E
2
= S
2
, Act,T
2
be transition systems.
ArelationR ⊆S
1
×S
2
is a simulation if and only if for all s
1
,s
1
∈S
1
, s
2
∈S
2
,
s
1
a
−→
E
1
s
1
implies that s
2
a
−→
E
2
s
2
and s
1
Rs
2
for some s
2
∈S
2
.
E
1
and E
2
are bisimilar if there exists a relation R ⊆S
1
×S
2
such that both
R and R
1
are simulations.
Next we introduce a number of notions related to Petri nets.
Definition 3. A Petri net N over a fixed set of labels Σ is a tuple P, T, F, Λ,
where: (1) P and T are two disjoint non-empty finite sets of places and tran-
sitions respectively; we call the elements of the set P T nodes of N ;(2)
F :(P × T ) (T × P ) N is a flow relation mapping pairs of places and
transitions to the naturals; (3) Λ : T Σ is a labeling function that maps
transitions of T to action labels from Σ.
An inhibitor net is a tuple P, T, F, Λ, I such that P, T, F, Λ is a Petri net
and I P × T is a set of inhibitor arcs.
We present nets with the usual graphical notation. For any pair of nodes x, y
with F (x, y) 1, we say that (x, y)isanarcwithweight F (x, y).

Citations
More filters
Journal ArticleDOI

Extended event-condition-action rules and fuzzy Petri nets based exception handling for workflow management

TL;DR: A weighted fuzzy reasoning algorithm is designed to address the reasoning problem of uncertain goal propositions and known goal concepts by combining forward reasoning with backward reasoning and therefore to facilitate cause analysis and handling of workflow exceptions.

From scenarios to components

Dirk Fahland
TL;DR: A semantic model for scenarios that seamlessly integrates scenario-based specifications and state-based implementations is introduced, and a minimal set of notions to specify the behavior of distributed systems with scenarios are identified, called oclets.
Book ChapterDOI

Adaptive workflows for healthcare information systems

TL;DR: The adaptive workflow nets framework allows both healthcare providers and patients to get an insight into the past and current processes, but also foresee possible future developments, and ensures quality and timing of data communication essential for efficient information flow.

Verification of soundness and other properties of business processes

TL;DR: A new decision procedure is given for generalized soundness and a logic, called LogLogics, is introduced for the specification of guards based on a log of a current running process and an evaluation algorithm for such guards are given.
Journal Article

Working with the Past: Integrating History in Petri Nets

TL;DR: This work extends the basic Petri net framework with the notion of history and adds guards to transitions evaluated on the process history, and shows that some classes of historydependent nets can be automatically converted to classical Petri nets for analysis purposes.
References
More filters
Book

Introduction to Automata Theory, Languages, and Computation

TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
Book

Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use

Kurt Jensen
TL;DR: The third volume of a definitive work on coloured Petri nets as discussed by the authors contains a detailed presentation of 19 applications of CP-nets across a broad range of application areas, including a security system, ATM networks, audio/video systems, transaction processing, ISDN services, VLSI chips, document storage, distributed programming, electronic funds transfer, a naval vessel, chemical processing, nuclear waste management, and many more.

Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods

TL;DR: This is the third volume of a definitive work on coloured Petri nets and contains a detailed presentation of 19 applications of CP-nets across a broad range of application areas, including a security system, ATM networks, audio/video systems, transaction processing, ISDN services, VLSI chips, document storage, distributed programming, electronic funds transfer, and many more.

Event Structures

Glynn Winskel

Logics of Programs.

Dexter Kozen, +1 more
TL;DR: In this paper, the authors present an introduction to some of the basic issues in the study of program logics and discuss their syntax, semantics, proof theory, and expressiveness.
Frequently Asked Questions (2)
Q1. What are the future works in "History-dependent petri nets" ?

The authors have provided means to model history-dependent processes by extending the classical Petri nets model and considered two ways of incorporating history: token history nets and global history nets. Future work. For the future work the authors plan to adapt their token net framework for modelling component-based systems. The authors intend to extend the language of operations on histories by adding projection in order to allow information hiding and intersection to check disjointness/presence of common parts in token histories. 

The authors consider processes that not only keep track of their history in a log, but also make decisions based on this log. The authors show that some classes of historydependent nets can be automatically converted to classical Petri nets for analysis purposes.