Concurrent Systems Modeling using Petri Nets – Part II

Slides:



Advertisements
Similar presentations
1 Petri Nets I Paul Fishwick author From
Advertisements

Techniques to analyze workflows (design-time)
1 SE-561 Formal Methods in Software Petri Nets - I.
An Introduction to Petri Nets
Introduction to Petri Nets Hugo Andrés López
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Based on: Petri Nets and Industrial Applications: A Tutorial
Workflow Management Kap. 4. Analyzing Workflows Wil van der Aalst has copyrights to almost all figures in the following slideshow made by Lars Frank.
1 Modeling based on Petri-nets. Lecture 8. 2 High-level Petri nets The classical Petri net was invented by Carl Adam Petri in A lot of research.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
On the Dynamics of PB Systems with Volatile Membranes Giorgio Delzanno* and Laurent Van Begin** * Università di Genova, Italy ** Universitè Libre de Bruxelles,
Soundness problem for Resource-Constrained Workflow nets.
IE 469 Manufacturing Systems
10. Petri Nets Prof. O. Nierstrasz. Roadmap  Definition: —places, transitions, inputs, outputs —firing enabled transitions  Modelling: —concurrency.
Petri Nets Overview 1 Definition of Petri Net C = ( P, T, I, O) Places P = { p 1, p 2, p 3, …, p n } Transitions T = { t 1, t 2, t 3, …, t n } Input.
CP — Concurrent Programming 12. Petri Nets Prof. O. Nierstrasz Wintersemester 2005 / 2006.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams.
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
An Introduction to Petri Nets Marjan Sirjani Formal Methods Laboratory University of Tehran.
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Modelling by Petri nets
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Marlon Dumas University of Tartu
School of Computer Science & Software Engineering
CAP 4800/CAP 5805: Computer Simulation Concepts
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
1 Petri Nets Ina Koch and Monika Heiner. 2 Petri Nets(1962) Carl Adam Petri.
1 Lecture 23 – April 11, 2002 Semester end questions More about Bond agents Models and languages supporting concurrency Petri Nets.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
Technology of information systems Lecture 5 Process management.
Process Mining – Concepts and Algorithms Review of literature on process mining techniques for event log data.
composition of workflows
Concurrent Systems Modeling using Petri Nets
CSS 496 Business Process Re-engineering for BS(CS)
Dr. Eng Amr T. Abdel-Hamid
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Clockless Computing COMP
COT 5611 Operating Systems Design Principles Spring 2014
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Wil van der Aalst Eindhoven University of Technology
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
بسمه‌تعالي فصل چهاردهم شبکه‌هاي پتري.
Instructor: Shengyu Zhang
CSCI1600: Embedded and Real Time Software
Introduction to Petri Nets (PNs)
Modeling based on Petri-nets.
Marlon Dumas marlon.dumas ät ut . ee
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Wil van der Aalst Eindhoven University of Technology
COT 5611 Operating Systems Design Principles Spring 2012
CSS 496 Business Process Re-engineering for BS(CS)
An Introduction to Petri Nets
CAP 4800/CAP 5805: Computer Simulation Concepts
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri nets.
Petri Net :Abstract formal model of information flow Major use:
COMPILERS Liveness Analysis
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Concurrent Systems Modeling using Petri Nets – Part II Marlon Dumas (Based on lecture material by Wil van der Aalst Eindhoven University of Technology, The Netherlands http://www.workflowcourse.com)

Classical Petri nets - Recap Place: passive element Transition: active element Arc: causal relation Token: elements subject to change The state (space) of a Petri net is a distribution of tokens across its places. Transition firing move the net from one state to another.

Today’s agenda Patterns of Petri net modeling Expressiveness limitations of Petri nets Introduction to Petri net analysis

Typical Petri net structures Causality Parallelism (AND-split - AND-join) Choice (XOR-split – XOR-join) Iteration (XOR-join - XOR-split) Capacity constraints Feedback loop Mutual exclusion Alternating

Causality

Parallelism

Parallelism: AND-split

Parallelism: AND-join

Choice: XOR-split

Choice: XOR-join

Woped short-cuts for XOR-split/join

Iteration: 1 or more times XOR-join before XOR-split

Capacity constraints: feedback loop

Capacity constraint: example The room has a capacity of 2, 1 person is in the room

Capacity constraint: exercise Inspired by an exercise of Prof. R. Wattenhofer, ETH Zürich Pipelined factory Two machines, one robot, one buffer Robot moves parts from raw line to M1 to buffer, to M2 and finally to finished line Buffer can hold maximum 7 parts

Capacity constraints: mutual exclusion

Capacity constraints: alternating

Example: Mutual exclusion with alternation How to make them alternate?

Not everything is possible Petri nets are not Turing complete Otherwise we wouldn’t be able to fully analyze them (see later) Limitations Zero testing Priority

Modeling problem (1): Zero testing Transition t should fire if place p is empty. ? t p

Initially there are N tokens Solution Only works if place is N-bounded t Initially there are N tokens N input and output arcs p’ p

Modeling problem (2): Priority Transition t1 has priority over t2 t1 ? t2 Hint: similar to Zero testing!

Theoretical Results Extensions have been proposed to tackle these problems, e.g., inhibitor arcs. These extensions extend the modeling power up to Turing completeness. Without such an extension not Turing complete. Still certain questions are difficult/expensive to answer or even undecidable (e.g., equivalence of two nets).

Exercise: Witness statements As part of the process of handling insurance claims, we need to handle witness statements. There may any number of witnesses per claim. The number is determined when the claim is lodged. After an initialization step (one per claim), each of the witnesses is registered and contacted (N witnesses per claim in parallel). Only after all witnesses have contacted a report is made (one report per claim). Can you model this using a Petri net?

Quick Intro to Petri net analysis: Reachability Graph Graph containing one node for each reachable state; an edge indicates that the system can move from the source state to the target state through one transition firing The reachability graph can be calculated as follows: Let X be the set containing just the initial state and let Y be the empty set. Take an element x of X and add this to Y. Calculate all states reachable for x by firing some enabled transition. Each successor state that is not in Y is added to X. If X is empty stop, otherwise goto 2.

Example: How does this game end? Hint: initially the game is in state “3 red + 2 blacks” and there are three transitions from this initial state: rr, rb and bb. Transition “rr” leads to state “1 red + 3 blacks”.

Example: reachability graph (3,2) (3,1) (3,0) (1,3) (1,2) (1,1) (1,0) Nodes in the reachability graph can be represented by a vector “(3,2)” or as “3 red + 2 black”.

Different types of states Initial state: Initial distribution of tokens. Reachable state: Reachable from initial state. Final state (also referred to as “dead states”): No transition is enabled. Home state (also referred to as home marking): It is always possible to return (i.e., it is reachable from any reachable state). How to recognize these states in the reachability graph?

Properties of Petri nets A Petri net is bounded iff for every place s, there is a number b ≥ 0 such that for every reachable marking M, the number of tokens in place s is ≤ b

Not bounded  Infinite Reachability Graph

Coverability graph Similar to reachability graph but unbounded places can hold an “infinite” number of tokens Supported by Woped

Properties of Petri nets A Petri net is bounded iff for every place s, there is a number b ≥ 0 such that for every reachable marking M, the number of tokens in place s is ≤ b A Petri net is live iff for every reachable marking M and every transition t, there is a marking M′ reachable from M, which enables t (all reachable markings are home markings)

Not live We can make this Petri net live by modifying just one arc. Which one?

Properties of Petri nets A Petri net is bounded iff for every place s, there is a number b ≥ 0 such that for every reachable marking M, the number of tokens in place s is ≤ b A Petri net is live iff for every reachable marking M and every transition t, there is a marking M′ reachable from M, which enables t (all reachable markings are home markings) A Petri net is deadlock-free iff there a reachable marking M that enables no transitions? (i.e. no final states)

Not deadlock-free The deadlock can be eliminated by deleting one arc. Which one?

Is this net bounded? live? deadlock-free?

Homework 5: Petri nets https://courses.cs.ut.ee/2016/sm/Main/Assessment Can be done in teams of up to 4 students