I-Neighbourhood Abstraction in Graph Transformation Arend Rensink University of Twente Based on work with: Jörg Bauer, Iovka Boneva, Dino Distefano, Marcus.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Meta Predicate Abstraction for Hierarchical Symbolic Heaps Josh Berdine Microsoft Research, Cambridge joint with Mike Emmi University of California, Los.
Lecture 24 MAS 714 Hartmut Klauck
Predicate Abstraction and Canonical Abstraction for Singly - linked Lists Roman Manevich Mooly Sagiv Tel Aviv University Eran Yahav G. Ramalingam IBM T.J.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
Verification of Graph Transformation Systems Arman Sheikholeslami
Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
1 Partial Order Reduction. 2 Basic idea P1P1 P2P2 P3P3 a1a1 a2a2 a3a3 a1a1 a1a1 a2a2 a2a2 a2a2 a2a2 a3a3 a3a3 a3a3 a3a3 a1a1 a1a1 3 independent processes.
Grammars, constituency and order A grammar describes the legal strings of a language in terms of constituency and order. For example, a grammar for a fragment.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
Possibilistic and probabilistic abstraction-based model checking Michael Huth Computing Imperial College London, United Kingdom.
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.
Characterization of Linkage-Based Algorithms Margareta Ackerman Joint work with Shai Ben-David and David Loker University of Waterloo To appear in COLT.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Basic abstract interpretation theory. 2 The general idea §a semantics l any definition style, from a denotational definition to a detailed interpreter.
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Model checking dynamic states in GROOVE Arend Rensink Formal Methods and Tools University of Twente.
1 Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications.
28/6/05 ICFI05 1 A generic approach for the automatic verification of featured, parameterised systems Alice Miller and Muffy Calder University of Glasgow.
30 March 2005, IPA lentedagen, BredaGraph-Based State Spaces1 Graph Transformation for Model Transformation Arend Rensink University of Twente.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Invisible Invariants: Underapproximating to Overapproximate Ken McMillan Cadence Research Labs TexPoint fonts used in EMF: A A A A A.
Chapter 7 Reasoning about Knowledge by Neha Saxena Id: 13 CS 267.
Abstract Verification is traditionally done by determining the truth of a temporal formula (the specification) with respect to a timed transition system.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
Flavio Lerda 1 LTL Model Checking Flavio Lerda. 2 LTL Model Checking LTL –Subset of CTL* of the form: A f where f is a path formula LTL model checking.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
15-820A 1 LTL to Büchi Automata Flavio Lerda A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Introduction to Graph Grammars Fulvio D’Antonio LEKS, IASI-CNR Rome,
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces.
Rewriting Logic Model of Compositional Abstraction of Aspect-Oriented Software FOAL '10Mar. 15, 2010 Yasuyuki Tahara, Akihiko Ohsuga The University of.
4 March 2005, NVTI day, UtrechtGraph-Based State Spaces1 Arend Rensink University of Twente.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Model construction and verification for dynamic programming languages Radu Iosif
1 Grammar Extraction and Refinement from an HPSG Corpus Kiril Simov BulTreeBank Project ( Linguistic Modeling Laboratory, Bulgarian.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
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.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications Chapter.
Behavioral Extensions of Institutions Andrei Popescu Grigore Roşu University of Illinois at Urbana-Champaign.
Set Theory Concepts Set – A collection of “elements” (objects, members) denoted by upper case letters A, B, etc. elements are lower case brackets are used.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Asymmetry and 3-Valued Symmetry Reduction Course Project of CSC 2108H, 2003 Ou Wei Yong Yuan Department of Computer Science, University of Toronto, 2004.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Formal methods: Lecture
Graph-Based Operational Semantics
Software Verification 2 Automated Verification
A Design Structure for Higher Order Quotients
XML indexing – A(k) indices
Isomorphism Checking in GROOVE
Symbolic Characterization of Heap Abstractions
Introduction to Graph Transformation
Introduction to verification
Model Checking Graph Grammars
Presentation transcript:

i-Neighbourhood Abstraction in Graph Transformation Arend Rensink University of Twente Based on work with: Jörg Bauer, Iovka Boneva, Dino Distefano, Marcus Kurban AHA, Berlin, July 2007

Abstraction in Graph Transformation2 Outline Setting – Graphs, rules, productions Abstraction – Quotients, neighbourhoods, shapes Logic – Modalities, preservation Framework – Extraction, transformation, normalization Conclusion – Future work

AHA, Berlin, July 2007Abstraction in Graph Transformation3 Setting System specification: Graph grammar – Graph transformation rules + start graph – May be generated from specification or programming language, or given directly Requirements: LTL properties – Propositions are predicates over graphs Verification: model checking – States = graphs, transitions = productions Problem: the usual – Very large or infinite state spaces – Genericity of analysis

AHA, Berlin, July 2007Abstraction in Graph Transformation4 Graph formalism Graphs in this presentation: – Directed, edge-labelled – Simple (no parallel identically labelled edges) – Flat (not hierarchical) Formally: G = (N,E) with – L universe of labels – N finite set of nodes – E  N  L  N ? finite set of labelled edges ((v,a, ? ) is effectively a node label) Morphisms (partial/total) – Structure-preserving node mappings

AHA, Berlin, July 2007Abstraction in Graph Transformation5 LHS Rule formalism LHS is matched to host graph Matched elements outside morphism domain are deleted Elements outside morphism codomain are added NACs are forbidden 1:Customer 2:Cart RHS 1:Customer 2:Cart cart partial morphism NAC 1:Customer 3:Cart NAC 3:Customer 2:Cart

AHA, Berlin, July 2007Abstraction in Graph Transformation6 Single-graph view on rules Red dashed: NAC \ LHS Black: LHS Å RHS Green: RHS \ LHS

AHA, Berlin, July 2007Abstraction in Graph Transformation7 forbidden Graph Productions Production rule host graph matching Graph transition src(t)tgt(t) morph(t) result graph pushout NAC NACs (SPO = Single Pushout Approach) LHSRHS rule morphism (partial)

AHA, Berlin, July 2007Abstraction in Graph Transformation8 Outline Setting – Graphs, rules, productions Abstraction – Quotients, neighbourhoods, shapes Logic – Modalities, preservation Framework – Extraction, transformation, normalization Conclusion – Future work

AHA, Berlin, July 2007Abstraction in Graph Transformation9 Abstraction: Requirements Productions should be preserved G -p-> H implies  (G) –p->   (H) No spurious productions X  –p->  Y implies G –p-> H – for some G 2  -1 (X) and some H 2  -1 (Y) – for all G 2  -1 (X), for some H 2  -1 (Y) (i.e., rule applicability is reflected) Properties should be reflected –  (G) ²   implies G ²  – Inductively carries over to LTL operators Method suitable for liveness properties (But few liveness properties hold on abstract model)

AHA, Berlin, July 2007Abstraction in Graph Transformation10 Abstraction: Idea Quotient the graph w.r.t. similarity: G/ » = (N/ », E/ », mult) with N/ » = { [v] » | v 2 N } E/ » = { ([v] », a, [w] » ) | (v,a,w) 2 E } mult: V  |V| M for V 2 N/ » (bounded multiplicities: M = {0,1,…,  }) Similarity should preserve structure: – v » w implies in(v) = in(w) with in(v) = { a | 9 v’: (v’,a,v) 2 E }, or in(v) = { (a,|V| M ) | V = {v’|(v’,a,v) 2 E}  ; } – Analogous for out and node labels

AHA, Berlin, July 2007Abstraction in Graph Transformation11 Examples Similarity without edge multiplicities – all Objects similar Similarity with edge multiplicities – sharing information preserved ListCell Object next val

AHA, Berlin, July 2007Abstraction in Graph Transformation12 Abstraction: Neighbourhoods Family ( » i ) i of refining similarity relations Basis » 0 : node label equality v » i+1 w iff v » i w and for all U 2 N/ » i : – in M (v,U) = in M (w,U) – out M (v,U) = out M (w,U) where in M (v,U) = { (a,|V| M ) | V = {v’ 2 U|(v’,a,v) 2 E}  ; } (and analogous for out M (v,U)) Intuition: (enriched) bisimilarity – More general: partition refinement

AHA, Berlin, July 2007Abstraction in Graph Transformation13 Example ListCell Object next val ListCell Object next val ListCell Object next val »0»0 »1»1 »2»2

AHA, Berlin, July 2007Abstraction in Graph Transformation14 Shapes Graph quotient has no edge multiplicities – Not suitable for canonical abstraction Shape: (G, ',mult n,mult in,mult out ) with – G: (quotiented) graph – ' µ N G £ N G : grouping relation – mult n : N G ! M: node multiplicity function – mult in : N G £ L £ (N G / ' ) ! M: incoming edge multiplicity function – mult out : analogous to mult in Edge multiplicities measured w.r.t. '

AHA, Berlin, July 2007Abstraction in Graph Transformation15 Shape of a graph S shapes G if there is a morphism s with – s a morphism from G to G S – for all v 2 N S : mult n (v) = |s -1 (v)| M – for all v = s(w), a 2 L and U 2 N S / ' S : mult in (v,a,U) = | {w’ 2 s -1 (U)|(w’,a,w) 2 E S } | M Shape constructed from G using two equivalences: S = G/ ´, ' (with ´ µ ' ) – Quotienting done w.r.t. ´ – Grouping relation derived from ' i-neighbourhood shape: S G i = G/ » i, » i-1

AHA, Berlin, July 2007Abstraction in Graph Transformation16 Canonical names i-neighbourhood shapes have a canonical representation – Unique up to isomorphism – Good for join & symmetry reduction i-Level canonical names (L finite): – Node names:CN 0 = 2 L (node labels) CN i+1 = CN i £ (CN i £ L ! M) 2 – Edge names: CE i = CN i £ L £ CN i – C i (G) = (name G i (N G ), name G i (E G ), mult) Theor: S G i  S H i if and only if C i (G) = C i (H) Canonical name construction for G, also defined inductively

AHA, Berlin, July 2007Abstraction in Graph Transformation17 Outline Setting – Graphs, rules, productions Abstraction – Quotients, neighbourhoods, shapes Logic – Modalities, preservation Framework – Extraction, transformation, normalization Conclusion – Future work

AHA, Berlin, July 2007Abstraction in Graph Transformation18 Logic Modal fragment ML of FOL  ::= True | p | :  |  Ç  | i a i  ¢  | h a h  ¢  – p stands for a node label – i a i  ¢  : there are (at least)  outgoing a-edges of which the target satisfies  ( 2 M) – Other operators standard Satisfaction for graphs straightforward – Predicate G, v ²  (where v 2 N G ) – G,v ² i a i  ¢  iff · | {v’|(v,a,v’) 2 E, G,v’ ²  } | M ML[i]: modalities nested up to i deep

AHA, Berlin, July 2007Abstraction in Graph Transformation19 Example properties For the shopping example: – An item is owned by a shop or a customer: Item ) h owns h ¢ (Shop Ç Customer) – All items on a shop rack are shop-owned: Shop ) ]rack] ¢ ]contains] ¢ h owns h ¢ Shop – A customer has at most one cart: Customer ) : i cart i  ¢ true For the list example: – There is no list with exactly 1 element: List ) : i next i ¢ : i next i ¢ True – Objects are not shared: Object ) : h val h  ¢ true Not necessaryly the same shop!

AHA, Berlin, July 2007Abstraction in Graph Transformation20 Result: Property preservation Extend satisfaction to shapes – S,v ² i a i ¢  iff ·  U 2 X mult out (v,a,U) where X = { U 2 N S / ' | 8 v 2 U: S,v ²  } Theorem: for all  2 ML[i], all G and all v 2 N G : G,v ²  iff S G i, s(v) ²  In words: All properties in i-nested modal logic are preserved and reflected by i-neighbourhood abstraction

AHA, Berlin, July 2007Abstraction in Graph Transformation21 Outline Setting – Graphs, rules, productions Abstraction – Quotients, neighbourhoods, shapes Logic – Modalities, preservation Framework – Extraction, transformation, normalization Conclusion – Future work

AHA, Berlin, July 2007Abstraction in Graph Transformation22 Framework Basic idea: build a LTS based on shapes – Define “shape transformation” Concepts: – p: LHS ! S is a pre-matching if p = s ± m for some shaping s: G ! S and matching m: LHS ! G – p is concrete if for all v 2 N LHS, mult n (p(v)) = 1 and [p(v)] ' = { p(v) } If p is concrete, construct S –p->  S’ – for all p = s ± m as above, G –p-> G’ such that S’ shapes G’

AHA, Berlin, July 2007Abstraction in Graph Transformation23 Extraction (Materialization) Given a pre-matching p: LHS ! S, the materialization of S is a family {T k } k – For all k, 9 a k : T k ! S (abstraction morphism) – For all k, 9 concrete c k : LHS ! T k – For all s: G ! S, 9 t: G ! T k with s = a k ± t (for some k) Construction of {T k } k for i-neighbourhood shapes – For all v 2 N LHS, copy p(v) and its i-radius neighbourhood – Guess the edges and multiplicities

AHA, Berlin, July 2007Abstraction in Graph Transformation24 GCGC GCGC GPGP GPGP Proposed construction LHSRHS GG’ SS’ s s’s’ TkTk  T’ materialization normalization   pre-matching concrete pre-matching transformation sksk pc m

AHA, Berlin, July 2007Abstraction in Graph Transformation25 Customer 1 Cart 1 cart Customer  Cart  Customer  Cart  transformationmaterialization Example CustomerCartCustomerCart cart Customer 1 Cart 1 cart Customer  Cart  LHSRHS S T0T0 s0s0 p cart Customer 1 Cart 1 Customer  Cart  Customer  Cart  T’ 0 cart Customer  Cart  Customer  Cart  S’ guessed multiplicities; 3 other possibilities normalization

AHA, Berlin, July 2007Abstraction in Graph Transformation26 Outline Setting – Graphs, rules, productions Abstraction – Quotients, neighbourhoods, shapes Logic – Modalities, preservation Framework – Extraction, transformation, normalization Conclusion

AHA, Berlin, July 2007Abstraction in Graph Transformation27 Evaluation: Neighbourhood shapes Pros – Powerful basic framework (arbitrary graphs) – Finite (canonical) abstraction – Unique representation up to isomorphism – Preservation and reflection of modal logic – Automatic transformation Cons – Modal logic limited (no cyclic structures) – Materialization expensive – Abstraction not property-driven

AHA, Berlin, July 2007Abstraction in Graph Transformation28 Future work Refined notion of neighbourhood – Regular language – Words up to bounded length ( ¼ radius) – Derived from properties & rules Integration with 3-valued logic Implementation in GROOVE

AHA, Berlin, July 2007Abstraction in Graph Transformation29 Legacy research Refine notion of neighbourhood – Bauer & Wilhelm (partner abstraction) – Distefano & Katoen (list abstraction) – Distefano (abstract graph transformation) Inspired by work by – Sagiv, Reps, Wilhelm et al. (shape analysis)