A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.

Slides:



Advertisements
Similar presentations
Techniques to analyze workflows (design-time)
Advertisements

Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Principles of Engineering System Design Dr T Asokan
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Compilation 2011 Static Analysis Johnni Winther Michael I. Schwartzbach Aarhus University.
Petri Nets Section 2 Roohollah Abdipur.
Based on: Petri Nets and Industrial Applications: A Tutorial
Some Properties of SSA Mooly Sagiv. Outline Why is it called Static Single Assignment form What does it buy us? How much does it cost us? Open questions.
UPPAAL Introduction Chien-Liang Chen.
26 September 2003U. Buy -- SEES 2003 Sidestepping verification complexity with supervisory control Ugo Buy Department of Computer Science Houshang Darabi.
A Novel Method For Fast Model Checking Project Report.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 13.
Chapter 3 Petri nets Learning objectives : Introduce Petri nets
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
IE 469 Manufacturing Systems
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
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.
Parallel algorithms for expression evaluation Simultaneous substitution method (SimSub)
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
CP — Concurrent Programming 12. Petri Nets Prof. O. Nierstrasz Wintersemester 2005 / 2006.
Data Flow Analysis Compiler Design Nov. 3, 2005.
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 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
CS294-6 Reconfigurable Computing Day 23 November 10, 1998 Stream Processing.
School of EECS, Peking University “Advanced Compiler Techniques” (Fall 2011) Loops Guo, Yao.
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
Merged processes – a new condensed representation of Petri net behaviour V.Khomenko 1, A.Kondratyev 2, M.Koutny 1 and W.Vogler 3 1 University of Newcastle.
Environment Modeling in Quasi- Static Scheduling EE249 Project Donald Chai Mentors: Alex Kondratyev, Yoshi Watanabe.
Petri Nets An Overview IE 680 Presentation April 30, 2007 Renata Kopach- Konrad.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Linear and Branching Time Safety, Liveness, and Fairness
Jorge Muñoz-Gama Universitat Politècnica de Catalunya (Barcelona, Spain) Algorithms for Process Conformance and Process Refinement.
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Defining Programs, Specifications, fault-tolerance, etc.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Bisimulations as a Technique for State Space Reductions.
The Complexity of Distributed Algorithms. Common measures Space complexity How much space is needed per process to run an algorithm? (measured in terms.
What can BX make from Sense? Arend Rensink, University of Twente Banff, December 2013.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
CAP 4800/CAP 5805: Computer Simulation Concepts
Chapter 11 Resource Allocation by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
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.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
/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.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
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.
Model and complexity Many measures Space complexity Time complexity
CPE555A: Real-Time Embedded Systems
Clockless Computing COMP
Concurrent Models of Computation
Concurrent Systems Modeling using Petri Nets – Part II
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
Concurrent Models of Computation
Introduction to Petri Nets (PNs)
Artificial Intelligence Chapter 8 Uninformed Search
CAP 4800/CAP 5805: Computer Simulation Concepts
Presentation transcript:

A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004

Outline Motivation Scheduling Petri Nets (PN) Scheduling Boolean Dataflow (BDF) Proposing a Transformation Extension of Consistence to PN Future Research Direction

Motivation Both BDF and Petri nets are concurrent models. Both have the scheduling problem Existence of Bounded Memory Schedules for BDF is undecidable [Buck 93]. No algorithms can guarantee to find a schedule if one exists. Petri nets are not Turing complete [Peterson 81]. Efficient scheduling algorithms exist [Cortedella 00]. Can we apply scheduling techniques for PN to scheduling BDF?

Motivation It is known SDF is equivalent to marked graph, a subclass of Petri nets How about BDF? If we want to build up equivalence, then what kind of equivalence? Trace equivalence Language containment Simulation relation What property to preserve during transformation? Turing-completeness of BDF make transformation applicable to a subclass of BDF

If-Then-Else using BDF while (1) { read (IN, x, 1); if (x>0) y = f(x); else y = g(x); write (OUT, y, 1); } SWITCH F T f SELECT F T OUT IN g >0?

If-Then-Else using PN while (1) { read (IN, x, 1); if (x>0) y = f(x); else y = g(x); write (OUT, y, 1); } B IN C OUT X>0?

Boolean Dataflow (BDF) Consumption/production rate is a two-valued (including zero) function of the value of a Boolean token received by the control port of the actor. Control ports always transfer exactly one token per execution. T F ED A B SWITCH F T F SELECT BDF: superset of synchronous dataflow (SDF) [Lee87]

Schedules of Boolean Dataflow A schedule is a finite list of guarded firings, where: there exists a feasible cyclic firing sequence returning to initial state regardless of values of Boolean controls Bounded length schedule Length of cyclic firing sequences are bounded by a constant, E.g. repeat (5) times. Bounded memory schedule Length of cyclic firing sequences are bounded by a constant, E.g. repeat (x) times. T F E D A B F (A,B,b:D,!b:E,F)

Scheduling Boolean Dataflow Solving balance equation Consistency check Simulation to test firability Clustering Dynamic scheduling

Petri Nets A directed graph with two kinds of nodes: place, transition System state (marking): number of tokens in each place Transition enabled if enough tokens in all incoming places Firing a transition consume/produce tokens Free choice set: {b, c} p1p1 p3p3 a b c e p2p2 d f p4p4 T-invariants: {a, b, d, f}, {a, c, e, f}

Scheduling Petri Nets A schedule is a rooted tree Finite Nodes → reachable markings, (root → initial marking) Edges → transitions Transitions in a FCS are fired at each node Each node has a path to root (if add returning arc) p1p1 p3p3 a b c e p2p2 d f p4p4 a null c p1p1 p3p3 p2p2 b p 4 e d f

Comparing BDF and PN schedules fire A; fire B; if (B) { fire D; } else { fire E; } fire F; p1p1 p3p3 a b c e p2p2 d f p4p4 a null c p1p1 p3p3 p2p2 b p 4 e d f T F E D A B F (A,B,b:D,!b:E,F)

Challenges to transformation Petri nets do not distinguish tokens. Petri nets do not preserve order of tokens. Proposed solutions: Use different places to hold tokens with different values Use synchronization (blocking write) to enforce ordering

A Transformation A set of “True”/ ”False” places express controls. A set of “Acknowledge” places to synchronize the production and consumption of Boolean tokens. T F C B A pTpT pFpF p F’ A T F CB p T’ T F B A C pTpT pFpF p F’ C T F A p T’ B

A Transformation Strong synchronization enforces blocking write at Boolean control ports A p F’ A TF p T’ p F’ p T’

FT D FT B C A SELECT F T D SWITCH FT B C A E F E FT pT1 pF1 pTa1 paF1 FT pT2 pF2 pTa2 paF2 Handling initial tokens

Algorithm Transform (BDF) { transform_SDF_actors; transform_BooleanGenerators; transform_SWITCH; transform_SELECT; handeling_initial_tokes; }

Propositions Proposition 1 If the transformed Petri net has a bounded length schedule, the corresponding BDF has a bounded length schedule. Sketch of proof: show that Petri net contains a subset of behaviors of BDF. Proposition 2 If the BDF has a bounded length schedule, the transformed Petri net has a bounded length schedule. Sketch of proof: Determine exact times each actor to be fired Transform BDF to acyclic precedence graph (APG) Decompose Petri net to marked graph component (MGC) Build up equivalence between APG and MGC

Extension of Consistence to PN The restrictions on the values of symbolic variables of a BDF are transformed into the dependence relation of corresponding transitions of the transformed Petri net. SELECT F T D SWITCH FT B C A E F For any T-invariants, if it contains transition T of SWITCH, it also contains transition T of SELECT p1 p2 p1 = p2

FT D FT B C A SELECT F T D SWITCH FT B C A E F E FT pT1 pF1 pTa1 paF1 FT pT2 pF2 pTa2 paF2

Future Research Direction Does the two propositions also holds for bounded memory schedule? Can generalize the notion of schedule by assuming some kind of fairness? Assuming program will always exit iterations Transform a Petri net to a BDF? Other equivalence alternatives? More exploration on schedulability and consistence notion for the transformation