Graphical Representation of Asynchronous Systems Jan 15, 2004

Slides:



Advertisements
Similar presentations
On 1-soundness and Soundness of Workflow Nets Lu Ping, Hu Hao and Lü Jian Department of Computer Science Nanjing University
Advertisements

CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann,
An Introduction to Petri Nets
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Petri Nets Section 2 Roohollah Abdipur.
Based on: Petri Nets and Industrial Applications: A Tutorial
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Introduction to Graph “theory”
26 September 2003U. Buy -- SEES 2003 Sidestepping verification complexity with supervisory control Ugo Buy Department of Computer Science Houshang Darabi.
Chapter 3 Petri nets Learning objectives : Introduce Petri nets
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
1 A class of Generalized Stochastic Petri Nets for the performance Evaluation of Mulitprocessor Systems By M. Almone, G. Conte Presented by Yinglei Song.
IE 469 Manufacturing Systems
Discrete Interaction Design Specification Prof. Dr. Matthias Rauterberg Faculty Industrial Design Technical University of Eindhoven
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
Lei Bu Petri Nets 11 Dining Philosphier 4 States , 5 transitions.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
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.
CS447/ECE453/SE465 Prof. Alencar University of Waterloo 1 CS447/ECE453/SE465 Software Testing Tutorial Winter 2008 Based on the tutorials by Prof. Kontogiannis,
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
1 Petri Nets H Plan: –Introduce basics of Petri Net models –Define notation and terminology used –Show examples of Petri Net models u Calaway Park model.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
Petri Nets: Properties, Analysis and Applications Gabriel Eirea EE249 Discussion 10/8/02 Based on paper by T. Murata.
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
Petri Nets An Overview IE 680 Presentation April 30, 2007 Renata Kopach- Konrad.
CS6800 Advanced Theory of Computation Fall 2012 Vinay B Gavirangaswamy
GRAPH Learning Outcomes Students should be able to:
Systems of Linear Equation and Matrices
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
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.
Modeling and Evaluation with Graph Mohammad Khalily Dermany Islamic Azad University, Khomein branch.
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Euler paths and tours.
Introduction to Graph “theory” Why do we care about graph theory in testing and quality analysis? –The “flow” (both control and data) of a design, within.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Petri nets Introduced in 1962 by Carl Adam Petri in his PhD thesis. Focus.
DISTRIBUTED SYSTEMS II A POLYNOMIAL LOCAL SOLUTION TO MUTUAL EXCLUSION Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Generalized stochastic Petri nets (GSPN)
Lecture 11 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Modelling by Petri nets
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
School of Computer Science & Software Engineering
CAP 4800/CAP 5805: Computer Simulation Concepts
1 Petri Nets Ina Koch and Monika Heiner. 2 Petri Nets(1962) Carl Adam Petri.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Hardware/Software Codesign of Embedded Systems
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Petri-Nets and Other Models
1 Design and Analysis of Algorithms Yoram Moses Lecture 13 June 17, 2010
Krishnendu ChatterjeeFormal Methods Class1 MARKOV CHAINS.
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Dr. Eng Amr T. Abdel-Hamid
Clockless Computing COMP
Graph theory Definitions Trees, cycles, directed graphs.
Automatic Verification
Concurrent Systems Modeling using Petri Nets – Part II
بسمه‌تعالي فصل چهاردهم شبکه‌هاي پتري.
CSCI1600: Embedded and Real Time Software
Introduction to Petri Nets (PNs)
COT 5611 Operating Systems Design Principles Spring 2012
An Introduction to Petri Nets
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Graphical Representation of Asynchronous Systems Jan 15, 2004 COMP290-084 Graphical Representation of Asynchronous Systems Jan 15, 2004

Graphical Representation Petri Nets Asynchronous State Graphs Burst-Mode Representation Timed Automata

Petri Nets Reference: Tadao Murata. “Petri nets: Properties, Analysis and Applications.” Proc. of the IEEE, 77(4), 1989. available on class website

Lecture Notes by: Gabriel Eirea UC Berkeley Credits Lecture Notes by: Gabriel Eirea UC Berkeley

Petri Nets: Properties, Analysis and Applications Gabriel Eirea UC Berkeley 10/8/02 Based on paper by T. Murata

Outline Introduction/History Transition enabling & firing Modeling examples Behavioral properties Analysis methods Liveness, safeness & reachability Analysis & synthesis of Marked Graphs Structural properties Modified Petri Nets

Introduction Petri Nets concurrent, asynchronous, distributed, parallel, nondeterministic and/or stochastic systems graphical tool visual communication aid mathematical tool state equations, algebraic equations, etc communication between theoreticians and practitioners

History 1962: C.A. Petri’s dissertation (U. Darmstadt, W. Germany) 1970: Project MAC Conf. on Concurrent Systems and Parallel Computation (MIT, USA) 1975: Conf. on Petri Nets and related Methods (MIT, USA) 1979: Course on General Net Theory of Processes and Systems (Hamburg, W. Germany) 1980: First European Workshop on Applications and Theory of Petri Nets (Strasbourg, France) 1985: First International Workshop on Timed Petri Nets (Torino, Italy)

Applications performance evaluation communication protocols distributed-software systems distributed-database systems concurrent and parallel programs industrial control systems discrete-events systems multiprocessor memory systems dataflow-computing systems fault-tolerant systems etc, etc, etc

Definition Directed, weighted, bipartite graph Initial marking places transitions arcs (places to transitions or transitions to places) weights associated with each arc Initial marking assigns a non-negative integer to each place

Transition (firing) rule A transition t is enabled if each input place p has at least w(p,t) tokens An enabled transition may or may not fire A firing on an enabled transition t removes w(p,t) from each input place p, and adds w(t,p’) to each output place p’

Firing example 2H2 + O2  2H2O 2 t H2 2 H2O O2

Firing example 2H2 + O2  2H2O 2 t H2 2 H2O O2

Some definitions source transition: no inputs sink transition: no outputs self-loop: a pair (p,t) s.t. p is both an input and an output of t pure PN: no self-loops ordinary PN: all arc weights are 1’s infinite capacity net: places can accommodate an unlimited number of tokens finite capacity net: each place p has a maximum capacity K(p) strict transition rule: after firing, each output place can’t have more than K(p) tokens Theorem: every pure finite-capacity net can be transformed into an equivalent infinite-capacity net

Modeling FSMs vend 15¢ candy 10 15 5 5 5 5 5 10 10 20 10 5 10 10 20 10 vend 20¢ candy

Modeling FSMs state machines: each transition has exactly vend 15¢ candy 10 5 state machines: each transition has exactly one input and one output 5 5 5 10 10 vend 20¢ candy

Modeling FSMs vend 10 5 conflict, decision or choice 5 5 5 10 10 vend

Modeling concurrency marked graph: each place has exactly one incoming arc and one outgoing arc. t1 t4 t3

Modeling concurrency concurrency t2 t1 t4 t3

Modeling dataflow computation x = (a+b)/(a-b) a copy + / x a+b a !=0 b copy - a-b NaN b =0

Modeling communication protocols ready to send ready to receive buffer full send msg. receive msg. wait for ack. proc.2 proc.1 msg. received receive ack. send ack. buffer full ack. received ack. sent

Modeling synchronization control k k writing k reading k

Behavioral properties (1) Properties that depend on the initial marking Reachability Mn is reachable from M0 if exists a sequence of firings that transform M0 into Mn reachability is decidable, but exponential Boundedness a PN is bounded if the number of tokens in each place doesn’t exceed a finite number k for any marking reachable from M0 a PN is safe if it is 1-bounded

Behavioral properties (2) Liveness a PN is live if, no matter what marking has been reached, it is possible to fire any transition with an appropriate firing sequence equivalent to deadlock-free strong property, different levels of liveness are defined (L0=dead, L1, L2, L3 and L4=live) Reversibility a PN is reversible if, for each marking M reachable from M0, M0 is reachable from M relaxed condition: a marking M’ is a home state if, for each marking M reachable from M0, M’ is reachable from M

Behavioral properties (3) Coverability a marking is coverable if exists M’ reachable from M0 s.t. M’(p)>=M(p) for all places p Persistence a PN is persistent if, for any two enabled transitions, the firing of one of them will not disable the other then, once a transition is enabled, it remains enabled until it’s fired all marked graphs are persistent a safe persistent PN can be transformed into a marked graph

Behavioral properties (4) Synchronic distance maximum difference of times two transitions are fired for any firing sequence well defined metric for condition/event nets and marked graphs Fairness bounded-fairness: the number of times one transition can fire while the other is not firing is bounded unconditional(global)-fairness: every transition appears infinitely often in a firing sequence

Analysis methods (1) Coverability tree tree representation of all possible markings root = M0 nodes = markings reachable from M0 arcs = transition firings if net is unbounded, then tree is kept finite by introducing the symbol  Properties a PN is bounded iff  doesn’t appear in any node a PN is safe iff only 0’s and 1’s appear in nodes a transition is dead iff it doesn’t appear in any arc if M is reachable form M0, then exists a node M’ that covers M

Coverability tree example

Coverability tree example “dead end” p2 t1 t0 t2 p3

Coverability tree example “dead end” M3=(10) p2 t1 t0 t2 p3

Coverability tree example “dead end” M3=(10) t1 p2 t1 t0 M4=(01) t2 p3

Coverability tree example “dead end” M3=(10) t1 t3 p2 t1 t0 M4=(01) M3=(10) “old” t2 p3

Coverability tree example “dead end” M3=(10) t1 t3 p2 t1 t0 M4=(01) M6=(10) “old” t2 t2 p3 M5=(01) “old”

Coverability tree example 100 t1 t3 t1 t3 M1=(001) “dead end” M3=(10) 001 10 t1 t3 t1 t3 M4=(01) M6=(10) “old” 01 t2 t2 M5=(01) “old” coverability graph coverability tree

Analysis methods (2) Incidence matrix State equation n transitions, m places, A is n x m aij = aij+ - aij- aij is the number of tokens changed in place j when transition i fires once State equation Mk = Mk-1 + ATuk uk=ei unit vector indicating transition i fires

Necessary reachability condition Md reachable from M0, then Md = M0 + AT (u1+u2+...+ud) AT x = M then M  range(AT) M  null(A) Bf M = 0 where the rows of Bf span null(A)

Analysis methods (3) Reduction rules that preserve liveness, safeness and boundedness Fusion of Series Places Fusion of Series Transitions Fusion of Parallel Places Fusion of Parallel Transitions Elimination of Self-loop Places Elimination of Self-loop Transitions Help to cope with the complexity problem

Subclasses of Petri Nets (1) Ordinary PNs all arc weights are 1’s same modeling power as general PN, more convenient for analysis but less efficient State machine each transition has exactly one input place and exactly one output place Marked graph each place has exactly one input transition and exactly one output transition

Subclasses of Petri Nets (2) Free-choice every outgoing arc from a place is either unique or is a unique incoming arc to a transition Extended free-choice if two places have some common output transition, then they have all their output transitions in common Asymmetric choice (or simple) if two places have some common output transition, then one of them has all the output transitions of the other (and possibly more)

Subclasses of Petri Nets (3) PN PN AC EFC FC SM MG

Liveness and Safeness Criteria (1) general PN if a PN is live and safe, then there are no source or sink places and source or sink transitions if a connected PN is live and safe, then the net is strongly connected SM a SM is live iff the net is strongly connected and M0 has at least one token a SM is safe iff M0 has at most one token

Liveness and Safeness Criteria (2) MG a MG is equivalent to a marked directed graph (arcs=places, nodes=transitions) a MG is live iff M0 places at least one token on each directed circuit in the marked directed graph a live MG is safe iff every place belongs to a directed circuit on which M0 places exactly one token there exists a live and safe marking in a directed graph iff it is strongly connected

Liveness and Safeness Criteria (3) siphon S every transition having an output place in S has an input place in S if S is token-free under some marking, it remains token-free under its successors trap Q every transition having an input place in Q has an output place in Q if Q is marked under some marking, it remains marked under its successors

Liveness and Safeness Criteria (4) FC a FC is live iff every siphon contains a marked trap a live FC is safe iff it is covered by strongly-connected SM components, each of which has exactly one token at M0 a safe and live FC is covered by strongly-connected MG components AC an AC is live if every siphon contains a marked trap

Reachability Criteria (1) acyclic PN has no directed circuits in an acyclic PN, Md is reachable from M0 iff exists a non negative integer solution to AT x = M trap(siphon)-circuit net or TC (SC) the set of places in every directed circuit is a trap(siphon) in a TC (SC), Md is reachable from M0 iff (i) exists a non negative integer solution to AT x = M, and (ii) the subnet with transitions fired at least once in x has no token-free siphons (traps) under M0 (Md)

Reachability Criteria (2) TCC (SCC) net there is a trap (siphon) in every directed circuit in a TCC, Md is reachable from M0 if (i) exists a non negative integer solution to AT x = M, and (ii) every siphon in the subnet with transitions fired at least once in x has a marked trap under M0 in a SCC, Md is reachable from M0 if (i) exists a non negative integer solution to AT x = M, and (ii) there are no token-free traps under Md in the subnet with transitions fired at least once in x

Reachability Criteria (3) forward(backward)-conflict-free net or FCF(BCF) each place has at most one outgoing (incoming) arc nondecreasing(nonincreasing)-circuit net or NDC(NIC) the token content in any directed graph is never decreased (increased) by any transition firing MG  FCF  NDC  TC  TCC MG  BCF  NIC  SC  SCC

Analysis of MGs reachability in a live MG, Md is reachable from M0 iff Bf M = 0 in a MG, Md is reachable from M0 iff Bf M = 0 and the transitions that are fired don’t lie on a token-free directed circuit in a connected MG, a firing sequence leads back to the initial marking M0 iff it fires every transition an equal number of times any two markings on a MG are mutually reachable iff the corresponding directed graph is a tree

Synthesis of LSMGs (1) equivalence relation M0~Md if Md is reachable from M0 (G) = number of equivalence classes of live-safe markings for a strongly connected graph G we are interested in (G)=1 (i.e., all markings are mutually reachable) (G)=1 iff there is a marking of G which places exactly one token on every directed circuit in G

Synthesis of LSMGs (2) (G) is invariant under operations series expansion parallel expansion unique circuit expansion V-Y expansion separable graph expansion synthesis process can prescribe liveness safeness mutual reachability minimum cycle time resource requirements

Synthesis of LSMGs (3) SE PE SE UE

Other synthesis issues (1) weighted sum of tokens we are interested in finding the maximum and minimum weighted sum of tokens for all reachable markings max {MTW | MR(M0)} = min {M0TI | IW, AI=0} min {MTW | MR(M0)} = max {M0TI | IW, AI=0}

Other synthesis issues (2) token distance matrix T tij is the minimum token content among all possible directed paths from i to j useful to determine firability (off-diagonal elements in a column >0) necessity of firing (off-diagonal 0 entries) synchronic distance (dij=tij+tji) liveness shortest firing sequence to enable a node(algorithm) maximum concurrency algorithm to find a maximum set of nodes that can be fired concurrently at some marking

Other synthesis issues (3) Synchronic distance matrix D D = T + TT D*D=D under Carre’s algebra given D, find a MG whose synchronic distance matrix is D test distance condition construct a tree select nodes i0 with maximum distance draw arcs to nodes jr with minimum distance to nodes i0 repeat until all arcs are drawn replace each arc in the tree by a pair of oppositely directed arcs

Structural properties (1) properties that don’t depend on the initial marking structural liveness there exists a live initial marking all MG are structurally live a FC is structurally live iff every siphon has a trap controllability any marking is reachable from any other marking necessary condition: rank(A)=#places for MG, it is also sufficient

Structural properties (2) structural boundedness bounded for any finite initial marking iff exists a vector y of positive integers s.t. Ay0 (partial) conservativeness a weighted sum of tokens is constant for every (some) place iff exists a vector y of positive (nonnegative) integers s.t. Ay=0

Structural properties (3) (partial) repetitiveness every (some) transition occurs infinitely often for some initial marking and firing sequence iff exists a vector x of positive (nonegative) integers s.t. ATx0 (partial) consistency every (some) transition occurs at least once in some firing sequence that drives some initial marking back to itself iff exists a vector x of positive (nonegative) integers s.t. ATx=0

Timed nets deterministic time delays introduced for transitions and/or places cycle time assuming the net is consistent,  is the time to complete a firing sequence leading back to the starting marking delays in transitions min=max{ykT(A-) TDx/ykTM0} delays in places min=max{ykTD (A+) Tx/ykTM0} timed MG min = max{total delay in Ck/M0 (Ck)}

Stochastic nets exponentially distributed r.v. models the time delays in transitions the reachability graph of a bounded SPN is isomorphic to a finite Markov chain a reversible SPN generates an ergodic MC steady-state probability distribution gives performance estimates probability of a particular condition expected value of the number of tokens mean number of firings in unit time generalized SPN adds immediate transitions to reduce state space

High-level nets (1) they include predicate/transition nets colored PN nets with individual tokens a HL net can be unfolded into a regular PN each place unfolds into a set of places, one for each color of tokens it can hold each transition unfolds into a set of transitions, one for each way it may fire

High-level nets (2) a <a,c> 2 <x,z> 2x d <d,b> 2 <a,b> <b,c> <d,a> <x,y> +<y,z> e <a,b> e <b,c> <d,a>

High-level nets (3) logic program set of Horn clauses B  A1, A2, ..., An where Ai‘s and B are atomic formulae Predicate(arguments) goal statement = sink transition assertion of facts = source transition can be represented by a high-level net each clause is a transition each distinct predicate symbol is a place weights are arguments sufficient conditions for firing the goal transition

Conclusions PNs have a rich body of knowledge PNs are applied succesfully to a broad range of problems analysis and synthesis results are available for subclasses of PNs there are several extensions of PNs much work remains to be done