Checking property preservation of refining transformations for model-driven development

In Model-Driven Software Development, a software product is created through iteratively refined modelling. It is crucial that this process preserves certain desirable properties of the initial model. However, checking this is increasingly difficult as the models are increasingly more refined. We propose an incremental model checking technique to determine the preservation of safety and liveness properties in models of concurrent systems with respect to changes applied on individual processes, formalised as transformations of Labelled Transition Systems. The preservation check involves checking bisimilarity between transformed and new behaviour, and never involves reexploring unchanged behaviour. We prove its correctness and demonstrate its applicability.

[1]  Annegret Habel,et al.  Double-pushout graph transformation revisited , 2001, Mathematical Structures in Computer Science.

[2]  Scott A. Smolka,et al.  Incremental Model Checking in the Modal Mu-Calculus , 1994, CAV.

[3]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[4]  Bas Luttik,et al.  Branching Bisimilarity with Explicit Divergence , 2009, Fundam. Informaticae.

[5]  Stephen A. Edwards,et al.  Incremental Algorithms for Inter-procedural Analysis of Safety Properties , 2005, CAV.

[6]  Robert K. Brayton,et al.  Incremental Methods for Formal Verification and Logic Synthesis , 1996 .

[7]  Hana Chockler,et al.  Incremental formal verification of hardware , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[8]  Diptikalyan Saha An Incremental Bisimulation Algorithm , 2007, FSTTCS.

[9]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[10]  Reiko Heckel,et al.  Graph Transformation in a Nutshell , 2006, FoVMT.

[11]  Frédéric Lang,et al.  Exp.Open 2.0: A Flexible Tool Integrating Partial Order, Compositional, and On-The-Fly Verification Methods , 2005, IFM.

[12]  Hartmut Ehrig,et al.  Efficient Detection of Conflicts in Graph-based Model Transformation , 2006, Electron. Notes Theor. Comput. Sci..

[13]  David Eppstein,et al.  Dynamic graph algorithms , 2010 .

[14]  Emmanuelle Encrenaz-Tiphène,et al.  CTL-property Transformations along an Incremental Design Process , 2004, International Journal on Software Tools for Technology Transfer.

[15]  Holger Giese,et al.  Incremental Design and Formal Verification with UML/RT in the FUJABA Real-Time Tool Suite , 2004 .

[16]  Peter Böhm,et al.  A framework for incremental modelling and verification of on-chip protocols , 2010, Formal Methods in Computer Aided Design.

[17]  Scw Bas Ploeger,et al.  Analysis of ACS using mCRL2 , 2009 .

[18]  Anton Wijs,et al.  Property-Dependent Reductions for the Modal Mu-Calculus , 2011, SPIN.

[19]  Stephan Merz,et al.  Model Checking , 2000 .

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

[21]  Thomas W. Reps,et al.  On the Computational Complexity of Dynamic Graph Problems , 1996, Theor. Comput. Sci..

[22]  Kathi Fisler,et al.  Foundations of incremental aspect model-checking , 2007, TSEM.

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

[24]  Rocco De Nicola,et al.  Action versus State based Logics for Transition Systems , 1990, Semantics of Systems of Concurrent Processes.

[25]  Thomas Wilke,et al.  Program Complexity of Dynamic LTL Model Checking , 2003, CSL.

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

[27]  Dexter Kozen,et al.  Results on the Propositional µ-Calculus , 1982, ICALP.

[28]  Pornsiri Muenchaisri,et al.  Model checking for aspect-oriented software evolution , 2005, ICSE 2005.

[29]  Hartmut Ehrig,et al.  Deriving Bisimulation Congruences in the Presence of Negative Application Conditions , 2008, FoSSaCS.

[30]  Arend Rensink,et al.  Showing Full Semantics Preservation in Model Transformation - A Comparison of Techniques , 2010, IFM.

[31]  Wilhelm Schäfer,et al.  Towards Verified Model Transformations , 2006 .

[32]  Kevin Lano The B language and method - a guide to practical formal development , 1996, FACIT: Formal approaches to computing and information technology.

[33]  Frédéric Lang,et al.  Smart Reduction , 2011, FASE.

[34]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[35]  Gabor Karsai,et al.  On the Correctness of Model Transformations in the Development of Embedded Systems , 2006, Monterey Workshop.