Theorem proving graph grammars with attributes and negative application conditions

Abstract Graph grammars may be used to formally describe computational systems, modeling the states as graphs and the possible state changes as rules (whose left- and right-hand sides are graphs). The behavior of the system is defined by the application of these rules to the state-graphs. From a practical point of view, the extension of rules to enable description of extra conditions that must be satisfied upon rule application is highly desirable. An example is the specification of negative application conditions, or NACs, that describe situations that prevent the application of a rule. This extension of the basic formalism enhances the expressiveness of rules, generally allowing simpler specifications. Another extension that is fundamental for practical applications is the possibility to use data types, like natural numbers, lists, etc., as attributes of graphical elements (vertices and edges). Attributed graph grammars are well-investigated and used. However, there is a lack of verification techniques for this kind of grammar mainly due to the fact that data types are typically infinite domains, and thus techniques like model checking can not be used directly (without abstraction constructions). The present work provides a theoretical foundation for theorem proving graph grammars with negative application conditions and attributes. This is achieved by generating an event-B model from a graph grammar. Event-B models are composed by sets and axioms to define types, and by states and events to describe behavior. After constructing the event-B model that is semantically equivalent to a graph grammar, properties about reachable states may be proven using the various theorem provers available for event-B in the Rodin platform. This strategy allows the verification of systems with infinite-state spaces without using any kind of approximation.

[1]  Ulrike Golas A General Attribution Concept for Models in ℳ-Adhesive Transformation Systems , 2012, ICGT.

[2]  Jean-Raymond Abrial,et al.  Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B , 2007, Fundam. Informaticae.

[3]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[4]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[5]  Kaisa Sere,et al.  Stepwise Refinement of Action Systems , 1991, Struct. Program..

[6]  Arend Rensink,et al.  Knowledge-Based Graph Exploration Analysis , 2011, AGTIVE.

[7]  Jim Woodcock,et al.  Unifying Theories in ProofPower-Z , 2006, UTP.

[8]  Andrea Corradini,et al.  AGREE - Algebraic Graph Rewriting with Controlled Embedding , 2014, ICGT.

[9]  Gabriele Taentzer,et al.  The AGG approach: language and environment , 1999 .

[10]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[11]  Fernando Luís Dotti,et al.  Verification of Distributed Object-Based Systems , 2003, FMOODS.

[12]  Annegret Habel,et al.  Weakest Preconditions for High-Level Programs , 2006, ICGT.

[13]  Hartmut Ehrig,et al.  Analysis of permutation equivalence in $\mathcal{M}$-adhesive transformation systems with negative application conditions , 2014, Mathematical Structures in Computer Science.

[14]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[15]  Luciano Baresi,et al.  On the Use of Alloy to Analyze Graph Transformation Systems , 2006, ICGT.

[16]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[17]  Annegret Habel,et al.  ENFORCe: A System for Ensuring Formal Correctness of High-level Programs , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[18]  Jan Friso Groote,et al.  The mCRL2 toolset , 2008 .

[19]  Detlef Plump,et al.  Verifying Total Correctness of Graph Programs , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[20]  Christian Percebois,et al.  Towards a Rule-Level Verification Framework for Property-Preserving Graph Transformations , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[21]  Dániel Varró,et al.  VIATRA - visual automated transformations for formal verification and validation of UML models , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[22]  G. Boolos On second-order logic , 1975 .

[23]  Annegret Habel,et al.  Relabelling in Graph Transformation , 2002, ICGT.

[24]  Luciana Foss,et al.  Proof Tactics for Theorem Proving Graph Grammars through Rodin , 2015, RITA.

[25]  M. Nivat Fiftieth volume of theoretical computer science , 1988 .

[26]  Arend Rensink,et al.  Modelling and analysis using GROOVE , 2010, International Journal on Software Tools for Technology Transfer.

[27]  Simone André da Costa Cavalheiro,et al.  Relational approach of graph grammars , 2010 .

[28]  Leila Ribeiro,et al.  Specification Patterns for Properties over Reachable States of Graph Grammars , 2012, SBMF.

[29]  Annegret Habel,et al.  Attribution of Graphs by Composition of M, N-adhesive Categories , 2015, GCM@ICGT.

[30]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[31]  Karl-Heinz Pennemann,et al.  Resolution-Like Theorem Proving for High-Level Conditions , 2008, ICGT.

[32]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[33]  Barbara König,et al.  Towards the Verification of Attributed Graph Transformation Systems , 2008, ICGT.

[34]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[35]  Jouko A. Väänänen Second Order Logic, Set Theory and Foundations of Mathematics , 2012, Epistemology versus Ontology.

[36]  César Muñoz,et al.  An Overview of SAL , 2000 .

[37]  Martin Strecker,et al.  Interactive and automated proofs for graph transformations , 2018, Mathematical Structures in Computer Science.

[38]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[39]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[40]  Andrea Corradini,et al.  A framework for the verification of infinite-state graph transformation systems , 2008, Inf. Comput..

[41]  Leila Ribeiro,et al.  Verification of graph grammars using a logical approach , 2012, Sci. Comput. Program..

[42]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[43]  Fernando Orejas,et al.  Symbolic Attributed Graphs for Attributed Graph Transformation , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[44]  Detlef Plump,et al.  Rooted Graph Programs , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[45]  Reiko Heckel,et al.  Graph Grammars with Negative Application Conditions , 1996, Fundam. Informaticae.

[46]  Detlef Plump,et al.  Hoare-Style Verification of Graph Programs , 2012, Fundam. Informaticae.

[47]  Detlef Plump,et al.  The Design of GP 2 , 2012, WRS.

[48]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[49]  Harmen Kastenberg Towards Attributed Graphs in Groove: Work in Progress , 2006, Electron. Notes Theor. Comput. Sci..

[50]  Detlef Plump,et al.  A Unification Algorithm for GP 2 , 2014, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[51]  Karl-Heinz Pennemann An Algorithm for Approximating the Satisfiability Problem of High-level Conditions , 2008, Electron. Notes Theor. Comput. Sci..

[52]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graphs and Graph Transformation based on Adhesive HLR Categories , 2006, Fundam. Informaticae.

[53]  Dominique Duval,et al.  Transformation of Attributed Structures with Cloning , 2014, FASE.

[54]  Fernando Luís Dotti,et al.  Electronic Communications of the EASST Volume 30 ( 2010 ) International Colloquium on Graph and Model Transformation-On the occasion of the 65 th birthday of Hartmut Ehrig ( GraMoT 2010 ) Towards Theorem Proving Graph Grammars using Event-B , 2010 .

[55]  Martin Strecker,et al.  Modeling and Verifying Graph Transformations in Proof Assistants , 2008, TERMGRAPH@ETAPS.

[56]  Martin Strecker,et al.  Locality in Reasoning about Graph Transformations , 2011, AGTIVE.

[57]  Annegret Habel,et al.  Correctness of high-level transformation systems relative to nested conditions† , 2009, Mathematical Structures in Computer Science.

[58]  Luciana Foss,et al.  Theorem Proving Graph Grammars: Strategies for Discharging Proof Obligations , 2013, SBMF.

[59]  Michael Löwe,et al.  Algebraic Approach to Single-Pushout Graph Transformation , 1993, Theor. Comput. Sci..

[60]  Bruno Courcelle,et al.  The Expression of Graph Properties and Graph Transformations in Monadic Second-Order Logic , 1997, Handbook of Graph Grammars.

[61]  Dániel Varró,et al.  Designing the automatic transformation of visual languages , 2002, Sci. Comput. Program..

[62]  Jean-Yves Girard,et al.  Linear Logic , 1987, Theor. Comput. Sci..

[63]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[64]  Leila Ribeiro,et al.  Formal Verification of Graph Grammars using Mathematical Induction , 2009, SBMF.

[65]  Fernando Orejas,et al.  Symbolic graphs for attributed graph constraints , 2011, J. Symb. Comput..

[66]  Claudia Ermel,et al.  Visual Modeling of Controlled EMF Model Transformation using HENSHIN , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[67]  Michael Löwe,et al.  An algebraic framework for the transformation of attributed graphs , 1993 .

[68]  Detlef Plump,et al.  The GP Programming System , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[69]  Frank Hermann,et al.  Towards Translating Graph Transformation Approaches by Model Transformations , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[70]  Mohsen Rahmani,et al.  A heuristic solution for model checking graph transformation systems , 2014, Appl. Soft Comput..

[71]  Martin Strecker,et al.  Rule-Level Verification of Graph Transformations for Invariants Based on Edges' Transitive Closure , 2013, SEFM.

[72]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part II: Single Pushout Approach and Comparison with Double Pushout Approach , 1997, Handbook of Graph Grammars.

[73]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .