3. Formal Features of Petri Nets

Similar documents
CS556 Course Project Performance Analysis of M-NET using GSPN

Formal Approaches to Business Processes through Petri Nets

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

A Test Case Generator for the Validation of High-Level Petri Nets

Architecture of Information Systems

How to contribute to the joint course on software engineering by case studies

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy

A Static Analysis Technique for Graph Transformation Systems

Domain Models and Product Lines

Component-Based Software Engineering (CBSE) Announcements

Safety verification of software using structured Petri nets

EFFECTIVE CONSTRUCTIVE MODELS OF IMPLICIT SELECTION IN BUSINESS PROCESSES. Nataliya Golyan, Vera Golyan, Olga Kalynychenko

Chapter 4: Architecture for Performance Monitoring of Complex Information Technology (IT) Infrastructures using Petri Net

PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko

Soundness of Workflow Nets with Reset Arcs

Genet A tool for the synthesis and mining of Petri nets. Josep Carmona jcarmonalsi.upc.edu Software Department Universitat Politcnica de Catalunya

Structural Detection of Deadlocks in Business Process Models

WoPeD - An Educational Tool for Workflow Nets

Test Modeling of Dynamic Variable Systems using Feature Petri Nets

BRIDGING THE GAP BETWEEN BUSINESS MODELS AND WORKFLOW SPECIFICATIONS

Algorithmic Software Verification

Turing Machines: An Introduction

Business Process Modeling

Diagnosis of Large Software Systems Based on Colored Petri Nets

The Model Checker SPIN

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

An Operating Guideline Approach to the SOA

Arbeitsberichte Working Papers

Modeling and Performance Evaluation of a Contract-based Electronic Signature Process

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

CPN Tools 4: A Process Modeling Tool Combining Declarative and Imperative Paradigms

Business Intelligence and Process Modelling

LTL Model Checking with Logic Based Petri Nets

Tree Data Decision Diagrams

17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS

T Reactive Systems: Introduction and Finite State Automata

Master Thesis September 2010 ALGORITHMS FOR PROCESS CONFORMANCE AND PROCESS REFINEMENT

25.1 Translational Frameworks (MDA with transformations)

Process Modelling from Insurance Event Log

Diagnosing workflow processes using Woflan

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Analysis of an Artificial Hormone System (Extended abstract)

Software Verification: Infinite-State Model Checking and Static Program

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

2005 3rd IEEE International Conference on Industrial Informatics (INDIN) Perth, Australia August 2005

6.852: Distributed Algorithms Fall, Class 2

Rapid Prototyping of Intrusion Detection Systems

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Modelling and Analysis of the INVITE Transaction of the Session Initiation Protocol Using Coloured Petri Nets

How To Understand A Self-Adapting Recovery Net (Sarn)

Petri Net based Verification and

Testing LTL Formula Translation into Büchi Automata

Cycles in a Graph Whose Lengths Differ by One or Two

Concepts of Concurrent Computation

Virtual Enterprise Transactions: A Cost Model

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

Techniques algébriques en calcul quantique

GRAPH THEORY LECTURE 4: TREES

International Journal of Advanced Research in Computer Science and Software Engineering

Process Mining Using BPMN: Relating Event Logs and Process Models

Online publication date: 15 January 2011 PLEASE SCROLL DOWN FOR ARTICLE

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

The SH-Verification Tool

Model Checking based Software Verification

3515ICT Theory of Computation Turing Machines

CAs and Turing Machines. The Basis for Universal Computation

Formal modelling and analysis of XML firewall for service-oriented systems. Haiping Xu*, Mihir Ayachit and Abhinay Reddyreddy.

Regular Languages and Finite Automata


15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature

BOOLEAN CONSENSUS FOR SOCIETIES OF ROBOTS

A Network Flow Approach in Cloud Computing

Exploring Cyber-Physical Systems

Question 2: How do you solve a linear programming problem with a graph?

Web Data Extraction: 1 o Semestre 2007/2008

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Coverability for Parallel Programs

Bounded-width QBF is PSPACE-complete

What is Linear Programming?

14.1 Rent-or-buy problem

On Omega-Languages Defined by Mean-Payoff Conditions

Regular Languages and Finite State Machines

Software Engineering and Scientific Computing

Graph Classification and Easy Reliability Polynomials

[Refer Slide Time: 05:10]

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Mathematical Induction. Lecture 10-11

Ideal Class Group and Units

Lecture Softwareengineering-Vertiefung

On Recognizable Timed Languages FOSSACS 2004

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

The Analysis Method about Change Domain of Business Process Model Based on the Behavior Profile of Petri Net

Modeling and Performance Evaluation of Computer Systems Security Operation 1

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel Informatik 12 TU Dortmund Germany

Degeneracy in Linear Programming

Formal Specification and Verification

Discuss the size of the instance for the minimum spanning tree problem.

DECLARATION OF PERFORMANCE NO. HU-DOP_TN _001

Quality Assurance by Means of Feature Models

Transcription:

3. Formal Features of Petri Nets Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Softwaretechnologie http://st.inf.tu-dresden.de 14-0.1, 10/29/14 Lecturer: Dr. Sebastian Götz 1) Reachability Graph 2) Boundedness 3) Liveness Softwaretechnologie II, Prof. Uwe Aßmann 1

Content Behavioral properties of petri nets Reachability Liveness Boundedness Liveness checking Prof. U. Aßmann, Softwaretechnologie II 2

Obligatory Readings T. Murata. Petri Nets: properties, analysis, applications. IEEE volume 77, No 4, 1989. Ghezzi Chapter 5 J. B. Jörgensen. Colored Petri Nets in UML-based Software Development Designing Middleware for Pervasive Healthcare. www.pervasive.dk/publications/files/cpn02.pdf Prof. U. Aßmann, Softwaretechnologie II 3

Literature K. Jensen: Colored Petri Nets. Lecture Slides http://www.daimi.aau.de/~kjensen Many other links and informations, too www.daimi.aau.dk/cpnets the home page of CPN. Contains lots of example specifications. Very recommended W. Tichy. Lectures on Software Engineering. Karlsruhe University Prof. U. Aßmann, Softwaretechnologie II 4

Literature K. Jensen, Colored Petri Nets. Vol. I-III. Springer, 1992-96. Landmark book series on CPN. W. Reisig. Elements of Distributed Algorithms Modelling and Analysis with Petri Nets. Springer. 1998. W. Reisig, G. Rozenberg: Lectures on Petri Nets I+II, Lecture Notes in Computer Science, 1491+1492, Springer. J. Peterson. Petri Nets. ACM Computing Surveys, Vol 9, No 3, Sep977 H. Balzert. Lehrbuch der Softwaretechnik. Verlag Spektrum der Wissenschaft. Heidelberg, Germany. Prof. U. Aßmann, Softwaretechnologie II 5

Goals Understand the isomorphism between finite automata (statecharts) and bounded Petri nets Understand why Petri nets are useful Prof. U. Aßmann, Softwaretechnologie II 6

03b.1 Behavioral Properties of PN Softwaretechnologie II, Prof. Uwe Aßmann 7

Reachability of Markings If transaction t is enabled in the marking M, we write M[t) A marking M n is said to be reachable from a marking M 0 if there exists a firing sequence s that transforms M 0 to M n. We write this M 0 [s) M n A firing sequence is denoted by a sequence of transitions s = M 0 [t1) M 1 [t2) M 2... [tn) M n or simply s = t1 t2 t3... tn. The set of all possible markings reachable from M 0 is denoted R(M 0 ). R(M 0 ) is spanning up a state automaton, the state space, reachability graph, or occurrence graph Every marking of the PN is a state in the reachability graph The set of all possible firing sequences in a net (N,M 0 ) is denoted L(M 0 ). This is the language of the automaton R(M 0 ). Prof. U. Aßmann, Softwaretechnologie II 8

Reachability Tree of the 2 Robots (S0 S1 S2 S3 S4 S5) S1 Robo free M0 = (0 1 0 1 0 0) T0 Taking up T1 Piece moving T0 Piece equipped S2 Piece available S0 Piece ready S5 Piece equipped S4 Laying down T2 Piece moving T5 M1 = (1 1 0 1 0 0) T1 T3 M2 = (0 0 1 1 0 0) M3 = (0 1 0 0 1 0) T2 T4 M4 = (0 1 0 1 0 1) M5=M4 Taking up T3 Laying down T4 T5 T5 Robot 2 free S3 M0 Upper part of net (S1, S2) M0 Lower part of net (S3, S4) Prof. U. Aßmann, Softwaretechnologie II 9

Folding the Tree to the Reachability Graph (Common Subtree Elimination) S1 Robo free T5 M0 = (0 1 0 1 0 0) T0 Taking up T1 Piece moving T0 Piece equipped S2 Piece available S0 Piece ready S5 Piece equipped S4 Laying down T2 Piece moving T5 T1 M2 = (0 0 1 1 0 0) M1 = (1 1 0 1 0 0) T2 T3 M3 = (0 1 0 0 1 0) T4 Taking up T3 Laying down T4 M4 = (0 1 0 1 0 1) Robot 2 free S3 Upper part of net (S1, S2) Lower part of net (S3, S4) Prof. U. Aßmann, Softwaretechnologie II 10

Example: The Reachability Tree and Graph Only one token per place at a time. M 0 = (1 0 0) p 1 M 1 = (0 0 1) M 3 = (1 1 0) p 2 t0 Object sink M 4 = (0 1 1) M 5 = (1 1 0) old old t 2 p 3 M 0 = (1 0 0) t 2 M 1 = (0 0 1) old t 2 M 1 = (0 0 1) M 3 = (1 1 0) M 4 = (0 1 1) Prof. U. Aßmann, Softwaretechnologie II 11

Boundedness and Safety A PN (N,M 0 ) is k-bounded or simply bounded if every place is size-restricted by k M(p) k for every place p and every marking M in R(M 0 ). A PN is safe if it is 1-bounded. Bounded nets can have only finitely many states, since the number of tokens and token combinations is limited The reachability graph of bounded nets is finite, it corresponds to a finite automaton (which is much larger) The PN is much more compact, it abbreviates the automaton Prof. U. Aßmann, Softwaretechnologie II 12

Example: Unbounded net p 1 M 0 = (1 0 0) p 2 t0 Object sink M 1 = (0 0 1) M 3 = (1 1 0) M 4 = (0 1 1) M 5 = (1 2 0) t 2 p 3 t 2 M 6 = (1 3 0) M 0 = (1 0 0) M 5 = (1 2 0) M 1 = (0 0 1) old M 1 = (0 0 1) M 3 = (1 1 0) M 4 = (0 1 1) t 2 M 7 = (1 4 0) Prof. U. Aßmann, Softwaretechnologie II 13

Applications of Boundedness The markings of a state can express the number of available resources Operating Systems: number of memory blocks, number of open devices, number of open files, number of processes Workflows: number of actors, number of workpieces that flow Boundedness can be used to prove that a system consumes k resources at most Important for systems with resource constraints Prof. U. Aßmann, Softwaretechnologie II 14

Liveness of Nets Liveness is closely related to the complete absence of deadlocks in operating systems. A PN (N,M 0 ) is live if, no matter what marking has been reached from M 0, all transitions are live i.e., it is possible to fire any transition of the net by progressing through some further firing sequence. Prof. U. Aßmann, Softwaretechnologie II 15

Liveness of Transitions Liveness expresses whether a transition stays active or not A transition t is called: Dead (L0-live) if t can never be fired in any firing sequence in R(M 0 ). (not fireable) L1-live (potentially fireable) if t can be at least fired once in some firing sequence in R(M 0 ). (firing at least once from the start configuration) L2-live (k-fireable) if t can be fired at least k times in some firing sequence in R(M 0 ), given a positive integer k. (firing k times from the start configuration) L3-live (inf-fireable) if t appears infinitely often in some firing sequence in R(M 0 ). (firing infinitely often from the start configuration) live (L4-live) if t is L1-live for every marking M in R(M 0 ). (This is more: t is always fireable again in a reachable marking) Prof. U. Aßmann, Softwaretechnologie II 16

Liveness of Markings and Nets A marking is dead if no transition is enabled. A marking is live if no reachable marking is dead (equivalent: all transitions are live) A net is live if M 0 is live (every t is always fire-able again from every reachable marking of M 0 ) Prof. U. Aßmann, Softwaretechnologie II 17

Example: Liveness Assumption: net is boolean L1-live (fireable only once, brigde) p 1 Hence, is L3-live (on a cycle), but not L4-live, since it cannot be activated anymore once is crossed p 2 t 0 is L0-live (dead, since is bridge and either p 1 or p 3 is t 0 filled) t 2 t 2 L2-live (fireable when is crossed) p 3 Prof. U. Aßmann, Softwaretechnologie II 18

Example: Liveness A safe, live PN. M0 can be reproduced again, e.g., with t1 t2 t4 t3 t6 reproduces a filled p1 and p2 p 2 p 1 p 4 p 3 t 4 fork p 6 p 5 p1, t1, t2 form a fork t 6 Prof. U. Aßmann, Softwaretechnologie II 19

Example: Liveness p 2 p 2 p 1 p 4 p 3 p 1 p 4 p 3 t 4 t 4 p 6 p 6 P 5 P 5 t 6 t 6 p2 is a synchronization dependency; process p5 can run earlier, p2 has to wait. Note: the content of p2 must be reproduced again Prof. U. Aßmann, Softwaretechnologie II 20

Example: Liveness p 2 p 2 p 1 t p 4 p 3 p 1 1 p 4 p 3 t 4 t 4 p 2 p 6 p 2 p 6 P 5 P 5 t 6 t 6 Net is unbounded, due to the reproduction facilities of t6, i.e., running t6 before t3: t1 t2 t4 t6 t1 t2 t4 t6... Prof. U. Aßmann, Softwaretechnologie II 21

Well, everything: Safe, Live p 1 t 2 p 2 Prof. U. Aßmann, Softwaretechnologie II 22

Not Bounded, Not Live Not live, because t1 is never enabled Unbounded: (0100) t3 (1010) t2 (1001) t4 (2100) t3 (2010) t2 (2001) t4 (3100)... p 2 p 3 p 1 t 2 p 4 t 4 Prof. U. Aßmann, Softwaretechnologie II 23

What have we learned? Behavioral properties of petri nets Reachability Liveness Boundedness Formal approaches (matrix algebra) out of this lectures scope Prof. U. Aßmann, Softwaretechnologie II 24

The End Prof. U. Aßmann, Softwaretechnologie II 25