Graph Consistency as a Graduated Property: Consistency-Sustaining and -Improving Graph Transformations

Where graphs are used for modelling and specifying systems, consistency is an important concern. To be a valid model of a system, the graph structure must satisfy a number of constraints. To date, consistency has primarily been viewed as a binary property: a graph either is or is not consistent with respect to a set of graph constraints. This has enabled the definition of notions such as constraint-preserving and constraint-guaranteeing graph transformations. Many practical applications - for example model repair or evolutionary search - implicitly assume a more graduated notion of consistency, but without an explicit formalisation only limited analysis of these applications is possible. In this paper, we introduce an explicit notion of consistency as a graduated property, depending on the number of constraint violations in a graph. We present two new characterisations of transformations (and transformation rules) enabling reasoning about the gradual introduction of consistency: while consistency-sustaining transformations do not decrease the consistency level, consistency-improving transformations strictly reduce the number of constraint violations. We show how these new definitions refine the existing concepts of constraint-preserving and constraint-guaranteeing transformations. To support a static analysis based on our characterisations, we present criteria for deciding which form of consistency ensuring transformations is induced by the application of a transformation rule. We illustrate our contributions in the context of an example from search-based model engineering.

[1]  Steffen Zschaler,et al.  Automatic Generation of Atomic Consistency Preserving Search Operators for Search-Based Model Engineering , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS).

[2]  Mikkel T. Jensen,et al.  Helper-objectives: Using multi-objective evolutionary algorithms for single-objective optimisation , 2004, J. Math. Model. Algorithms.

[3]  Holger Giese,et al.  Iterative Development of Consistency-Preserving Rule-Based Refactorings , 2011, ICMT@TOOLS.

[4]  Oszkár Semeráth,et al.  Graph Constraint Evaluation over Partial Models by Constraint Rewriting , 2017, ICMT.

[5]  Reiko Heckel,et al.  Commutators for Stochastic Rewriting Systems: Theory and Implementation in Z3 , 2020, GCM@STAF.

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

[7]  Gabriele Taentzer,et al.  Constructing Optimized Validity-Preserving Application Conditions for Graph Transformation Rules , 2019, ICGT.

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

[9]  J. Troya,et al.  Marrying Search-based Optimization and Model Transformation Technology , 2015 .

[10]  Gabriele Taentzer,et al.  Multi-granular Conflict and Dependency Analysis in Software Engineering Based on Graph Transformation , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[11]  Perdita Stevens,et al.  Bidirectionally Tolerating Inconsistency: Partial Transformations , 2014, FASE.

[12]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[13]  Udo Kelter,et al.  Automatically Deriving the Specification of Model Editing Operations from Meta-Models , 2016, ICMT.

[14]  Annegret Habel,et al.  Graph Repair by Graph Programs , 2018, STAF Workshops.

[15]  Lionel C. Briand,et al.  Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms , 2010, IEEE Transactions on Software Engineering.

[16]  Daniel Strüber,et al.  Generating Efficient Mutation Operators for Search-Based Model-Driven Engineering , 2017, ICMT.

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

[18]  Hartmut Ehrig,et al.  ℳ-Adhesive Transformation Systems with Nested Application Conditions. Part 2: Embedding, Critical Pairs and Local Confluence , 2012, Fundam. Informaticae.

[19]  Gabriele Taentzer,et al.  Granularity of conflicts and dependencies in graph transformation systems: A two-dimensional approach , 2019, J. Log. Algebraic Methods Program..

[20]  Timo Kehrer,et al.  Henshin: A Usability-Focused Framework for EMF Model Transformation Development , 2017, ICGT.

[21]  Holger Giese,et al.  k-Inductive Invariant Checking for Graph Transformation Systems , 2017, ICGT.

[22]  Jens Kosiol,et al.  Rule-Based Repair of EMF Models : Formalization and Correctness Proof , 2017 .

[23]  Thorsten Arendt,et al.  Rule-Based Repair of EMF Models: An Automated Interactive Approach , 2017, ICMT.

[24]  Steffen Zschaler,et al.  MDEoptimiser: a search based model engineering tool , 2018, MoDELS.

[25]  Hartmut Ehrig,et al.  M-Adhesive Transformation Systems with Nested Application Conditions. Part 2 , 2012 .

[26]  Detlef Plump,et al.  Confluence of Graph Transformation Revisited , 2005, Processes, Terms and Cycles.

[27]  Gabriele Taentzer,et al.  Constructing Constraint-Preserving Interaction Schemes in Adhesive Categories , 2018, WADT.

[28]  Annegret Habel,et al.  Rule-based Graph Repair , 2019, GCM@STAF.

[29]  Manuel Wimmer,et al.  The Class Responsibility Assignment Case , 2016, TTC@STAF.

[30]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..