Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007.

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

Global Value Numbering using Random Interpretation Sumit Gulwani George C. Necula CS Department University of California, Berkeley.
Model Checking Lecture 3. Specification Automata Syntax, given a set A of atomic observations: Sfinite set of states S 0 Sset of initial states S S transition.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Clocked Mazurkiewicz Traces and Partial Order Reductions for Timed Automata D. Lugiez, P. Niebert, S. Zennou Laboratoire d Informatique Fondamentale de.
Basic Laws of Electric Circuits Kirchhoff’s Voltage Law
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
Instructor: Shengyu Zhang 1. Content Two problems  Minimum Spanning Tree  Huffman encoding One approach: greedy algorithms 2.
Blackbox Reductions from Mechanisms to Algorithms.
Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann,
Applying Petri Net Unfoldings for Verification of Mobile Systems Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06.
1.6 Behavioral Equivalence. 2 Two very important concepts in the study and analysis of programs –Equivalence between programs –Congruence between statements.
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
Timed Automata.
Greedy Algorithms Greed is good. (Some of the time)
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Diagnosability Verification with Parallel LTL-X Model Checking Based on Petri Net Unfoldings Agnes Madalinski 1, and Victor Khomenko 2 1 Faculty of Engineering.
Determinization of Büchi Automata
Compatibility between shared variable valuations in timed automaton network model- checking Zhao Jianhua, Zhou Xiuyi, Li Xuandong, Zheng Guoliang Presented.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Efficient Query Evaluation on Probabilistic Databases
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
Tutorial 12 Unconstrained optimization Conjugate gradients.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Global Approximate Inference Eran Segal Weizmann Institute.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
Behaviour-Preserving Transition Insertions in Unfolding Prefixes
Data Flow Analysis Compiler Design Nov. 8, 2005.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
Computing with Finite Automata (part 2) 290N: The Unknown Component Problem Lecture 10.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
1 A Petri Net Siphon Based Solution to Protocol-level Service Composition Mismatches Pengcheng Xiong 1, Mengchu Zhou 2 and Calton Pu 1 1 College of Computing,
Jorge Muñoz-Gama Universitat Politècnica de Catalunya (Barcelona, Spain) Algorithms for Process Conformance and Process Refinement.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions.
CS143 Review: Normalization Theory Q: Is it a good table design? We can start with an ER diagram or with a large relation that contain a sample of the.
 FOAL 2010 Modeling Aspects by Category Theory Serge P. Kovalyov Novosibirsk, Russia.
Probabilistic Graphical Models
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Jana Flochová and René K. Boel Faculty of Informatics and Information Technology Slovak university of Technology, Bratislava, Slovakia EESA Department,
Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations.
Regular Model Checking Made Simple and Efficient P. Abdulla, B. Jonsson, M. Nilsson and J. d’Orso Uppsala University.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
1 Symmetry Symmetry Chapter 14 from “Model Checking” by Edmund M. Clarke Jr., Orna Grumberg, and Doron A. Peled presented by Anastasia Braginsky March.
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.
Given a string manipulating program, string analysis determines all possible values that a string expression can take during any program execution Using.
Introduction to Multiple-multicast Routing Chu-Fu Wang.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
New Characterizations in Turnstile Streams with Applications
Instructor: Shengyu Zhang
High-Level Abstraction of Concurrent Finite Automata
Integer Programming (정수계획법)
CSEP590 – Model Checking and Automated Verification
3.5 Minimum Cuts in Undirected Graphs
Event-Based Architecture Definition Language
Discrete Controller Synthesis
Integer Programming (정수계획법)
Lecture 10, Computer Networks (198:552)
Victor Khomenko and Andrey Mokhov
Presentation transcript:

Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007

Assembling Petri nets products, pullbacks, unfoldings and trellises Modular computations on a constraint graph : an abstract viewpoint Application 1: modular diagnosis or modular computation of a minimal product covering Application 2: modular prefixes or how to compute a FCP directly in factorized form Conclusion Outline

Nets as Products of Automata  Caution : in this talk, for simplicity we limit ourselves to safe Petri nets, although most results extend to ½ weighted nets we represent safe nets in “complemented” form, i.e. their number of tokens remains constant  Building bloc: a site or variable V = labeled automaton labeling of transitions V = (S,T,s 0,, ¸, ¤ ) ¸ : T  ¤

Nets as Products of Automata (2)  Composition of variables by product : disjoint union of places transitions with shared labels are “glued” transitions with private labels don’t change S = V 1 £ V 2 £ V 3  This product yields a safe (labeled) nets, and extends to safe nets

Interest of Product Forms  The 1 st interests are a natural construction method starting from modules the compactness of the product form on this example, the expanded product contains m*n transitions, instead of m+n in the factorized form

Composition by Pullback  Generalizes the product allows interactions of nets by an interface (sub-net) outside the interface, interactions are still by shared labels S = V 1 £ V 2 £ V 3 = (V 1 £ V 2 ) Æ (V 2 £ V 3 )  Main property

Graph of a Product Net  Interaction graph of a net shared labels define the local interactions… … but it’s better to re-express interactions under the form of shared variables (or sub-nets). S = V 1 £ … £ V n V 1 £ V 2 £ V 3 = (V 1 £ V 2 ) Æ (V 2 £ V 3 ) = S 1 Æ S 2  Translation in terms of pullbacks define components S i in order to “cover” the shared labels

Unfoldings in Factorized Form  The key = Universal Property of the unfolding of S Let denote the unfolding of S, and its associated folding (labeling) 8 O, 8 Á :OS, 9 ! Ã :O U (S), Á = f S ± Ã f S : U (S)S U (S)  Consequences: functor has a left adjoint, and thus preserves products, pullbacks, … U U (S) = U (S 1 ) £ O … £ O U (S n )S = S 1 £ … £ S n ) U (S) = U (S 1 ) Æ O … Æ O U (S m )S = S 1 Æ … Æ S m )

Unfoldings in Factorized Form (2)  Example: U (S) = U (V 1 ) £ O U (V 2 ) £ O U (V 3 )S = V 1 £ V 2 £ V 3 )

Important properties  The category theory approach naturally provides an expression for operators (and ) recursive procedures to compute them (as for unfoldings) notions of projections associated to products/pullbacks: £O£O ÆOÆO ¦ S i : U (S)  U (S i )

Important properties  The category theory approach naturally provides an expression for operators (and ) recursive procedures to compute them (as for unfoldings) notions of projections associated to products/pullbacks: £O£O ÆOÆO ¦ S i : U (S)  U (S i )

Important properties  The category theory approach naturally provides an expression for operators (and ) recursive procedures to compute them (as for unfoldings) notions of projections associated to products/pullbacks: £O£O ÆOÆO ¦ S i : U (S)  U (S i )

Important properties  The category theory approach naturally provides an expression for operators (and ) recursive procedures to compute them (as for unfoldings) notions of projections associated to products/pullbacks: £O£O ÆOÆO ¦ S i : U (S)  U (S i )

Important properties (2)  Thm let O i be an occ. net of component S i, then is an occ. net of define then and this is the minimal product covering of O O=O 1 £ O … £ O O n S=S 1 £ … £ S n O’ i = ¦ S i (O) v O i O=O’ 1 £ O … £ O O’ n  The reduced occurrence nets represent the behaviors of component S i that remain once S i is inserted in the global system S or the local view in each component S i of the behaviors of the global system S are interesting objects ! O’ i v O i  Factorized forms of unfoldings are often more compact… …but they can however contain useless parts.

Trellises in Factorized Form  The trellis of net S is obtained by merging conditions of with identical height a close cousin of merged processes (Khomenko et al., 2005) T (S) U (S) time is counted independently in each V i for S = V 1 £ … £ V n

Trellises in Factorized Form  The trellis of net S is obtained by merging conditions of with identical height a close cousin of merged processes (Khomenko et al., 2005) enjoys exactly the same factorization properties as unfoldings T (S) = T (S 1 ) £ T … £ T T (S n )S = S 1 £ … £ S n ) T (S) = T (S 1 ) Æ T … Æ T T (S m )S = S 1 Æ … Æ S m ) T (S) U (S)

Assembling Petri nets products, pullbacks, unfoldings and trellises Modular computations on a constraint graph : an abstract viewpoint Application 1: modular diagnosis or modular computation of a minimal product covering Application 2: modular prefixes or how to compute a FCP directly in factorized form Conclusion Outline

S2S2 S3S3 S4S4 “Abstract” Constraint Reduction  Ingredients : variables “systems” or “components” S i defined by (local) constraints on V max = {V 1,V 2,…} V i µ {V 1,…,V n } S1S1 V1V1 V5V5 V3V3 V2V2 V7V7 V6V6 V4V4 V8V8 S = S 1 Æ S 2 a composition operator (conjunction)

“Abstract” Constraint Reduction (2)  Reductions: for, reduces constraints of S to variables V reductions are projections V µ V max ¦ V (S) ¦ V 1 ± ¦ V 2 = ¦ V 1 Å V 2  Central axiom: S 1 operates on V 1, S 2 operates on V 2 let then i.e. all interactions go through shared variables V 3 ¶ V 1 Å V 2 ¦ V 3 (S 1 Æ S 2 ) = ¦ V 3 (S 1 ) Æ ¦ V 3 (S 2 )

Modular reduction algorithms  Problem : Given where S i operates on V i compute the reduced components i.e. how does S i change once inserted into the global S ? S = S 1 Æ … Æ S n S’ i = ¦ V i (S)  This can be solved by Message Passing Algorithms (MPA) always converges only involves local computations exact if the graph of S is a (hyper-) tree

Modular reduction algorithms  Problem : Given where S i operates on V i compute the reduced components i.e. how does S i change once inserted into the global S ? S = S 1 Æ … Æ S n S’ i = ¦ V i (S)  This can be solved by Message Passing Algorithms (MPA) always converges only involves local computations exact if the graph of S is a (hyper-) tree

Modular reduction algorithms  Problem : Given where S i operates on V i compute the reduced components i.e. how does S i change once inserted into the global S ? S = S 1 Æ … Æ S n S’ i = ¦ V i (S)  This can be solved by Message Passing Algorithms (MPA) always converges only involves local computations exact if the graph of S is a (hyper-) tree

Modular reduction algorithms  Problem : Given where S i operates on V i compute the reduced components i.e. how does S i change once inserted into the global S ? S = S 1 Æ … Æ S n S’ i = ¦ V i (S)  This can be solved by Message Passing Algorithms (MPA) always converges only involves local computations exact if the graph of S is a (hyper-) tree

Modular reduction algorithms  Problem : Given where S i operates on V i compute the reduced components i.e. how does S i change once inserted into the global S ? S = S 1 Æ … Æ S n S’ i = ¦ V i (S)  This can be solved by Message Passing Algorithms (MPA) always converges only involves local computations exact if the graph of S is a (hyper-) tree

Modular reduction algorithms  Problem : Given where S i operates on V i compute the reduced components i.e. how does S i change once inserted into the global S ? S = S 1 Æ … Æ S n S’ i = ¦ V i (S)  This can be solved by Message Passing Algorithms (MPA) always converges only involves local computations exact if the graph of S is a (hyper-) tree

What about systems with loops ?  Message passing algorithms converge to a unique fix point (independent of message scheduling) that gives an upper approximation:  How good are their results ? Local extendibility to any tree around each component. ¦ V i (S) v S’ i v S i

What about systems with loops ?  Message passing algorithms converge to a unique fix point (independent of message scheduling) that gives an upper approximation:  How good are their results ? Local extendibility to any tree around each component. ¦ V i (S) v S’ i v S i

Assembling Petri nets products, pullbacks, unfoldings and trellises Modular computations on a constraint graph : an abstract viewpoint Application 1: modular diagnosis or modular computation of a minimal product covering Application 2: modular prefixes or how to compute a FCP directly in factorized form Conclusion Outline

centralized supervizor Distributed system monitoring… ab c b a b caa distributed supervision

 Consider the net and move to trajectory sets (unfolding or trellis)  In the category of occurrence nets (for ex.), we have a composition operator, the pullback trajectories of S are in factorized form we have projection operators on occ. nets, where V i are the variables of S i Thm: projections and pullback satisfy the central axiom (here we cheat a little however…) We are already equipped for that ! ÆOÆO S = S 1 Æ … Æ S m U (S) = U (S 1 ) Æ O … Æ O U (S m ) ¦Vi¦Vi

A computation example

Assembling Petri nets products, pullbacks, unfoldings and trellises Modular computations on a constraint graph : an abstract viewpoint Application 1: modular diagnosis or modular computation of a minimal product covering Application 2: modular prefixes or how to compute a FCP directly in factorized form Conclusion Outline

Objective  Given compute a finite complete prefix of in factorized form  Obvious solution: compute a FCP of then compute its minimal pullback covering where S = S 1 Æ … Æ S m U (S) U s (S) U (S) U s (S) v U ’(S 1 ) Æ … Æ U ’(S m ) U ’(S i ) = ¦ V i ( U s (S)) but this imposes to work on the global unfolding… … we rather want to obtain directly the factorized form

Local canonical prefixes don’t work  Canonical prefix defined by a cutting context Θ = ( ~, ⊲, {κ e } eE ) ~ equivalence relation on Conf  set of reachable markings ⊲ adequate order on Conf  partial order on Conf refining inclusion {κ e } eE a subset of Conf,  configurations used for cut-off identification cut-off event

Extended canonical prefix  Toy example : two components, elementary interface (=automaton) S = A £ C £ B = (A £ C) Æ (C £ B) = S A Æ S B interface

Extended canonical prefix (2)  extended prefix of w.r.t. its interface C  restriction of the cutting context Θ C = (~, ⊲, {κ e } eE ) to particular configurations κ e e cut-off event, corresponding event e’ : κ e ~κ e’ and κ e’ ⊲ κ e where usually κ e =[e] if e is a private event, then  C ( κ e ∆ κ e’ )=Ø if e is an interface event, then e’ is also an interface event SASA where ∆ is the symmetric set difference

Extended cut-off event e : extended cut-off e’ : interface event

Summary net  Summary net = behaviors allowed by an extended prefix on the interface: obtained by projecting the extended prefix on the interface, and refolding matching markings merge

Distributed computations augmented prefixes

Distributed computations extract summary nets

Distributed computations exchange summary nets

Distributed computations build pullbacks

Distributed computations construct prefixes

Distributed computations Killed in the pullback Local factors are a little too conservative (not the minimal pullback covering of the FCP)

Assembling Petri nets products, pullbacks, unfoldings and trellises Modular computations on a constraint graph : an abstract viewpoint Application 1: modular diagnosis or modular computation of a minimal product covering Application 2: modular prefixes or how to compute a FCP directly in factorized form Conclusion Outline

A few lessons… Factorized forms of unfoldings are generally more compact. One can work directly on them, in an efficient modular manner, without ever having to compute anything global. Optimal when component graphs are trees. Sub-optimal, but provide “good” upper approximations otherwise. …and some questions Finite complete prefixes in factorized form: we need to understand better how to compute them, and provide complexity results. Can this be useful for model checking? Can this be useful for distributed optimal planning? (see last talk today)

Factorized forms are more compact

Augmented branching process  Standard projections lose information: important causal links or conflicts may disappear. We must keep track of them in augmented BP, … which makes the central axiom valid in all cases.