A Methodology for Verifying Refinements of Partial Models

Models are typically used for expressing information that is known at a particular stage in the software development process. Yet, it is also important to express what information a modeler is still uncertain about and to ensure that model refinements actually reduce this uncertainty. Furthermore, when a refining transformation is applied to a model containing uncertainty, it is natural to consider the effect that the transformation has on the level of uncertainty, e.g., whether it always reduces it. In our previous work, we have presented a general approach for precisely expressing uncertainty within models. In this paper, we use these foundations and define formal conditions for uncertainty reducing refinement between individual models and within model transformations. We describe tooling for automating the verification of these conditions within transformations and describe its application to example transformations.

[1]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[2]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[3]  Christof Ebert,et al.  requirements uncertainty: influencing factors and concrete improvements , 2005, ICSE '05.

[4]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[5]  Reiko Heckel,et al.  Compositional Verification of Reactive Systems Specified by Graph Transformation , 1998, FASE.

[6]  G. Nordstrom,et al.  Specifying graphical modeling systems using constraint-based meta models , 2000, CACSD. Conference Proceedings. IEEE International Symposium on Computer-Aided Control System Design (Cat. No.00TH8537).

[7]  J. Küster,et al.  Analysis of Model Transformations via Alloy , 2007 .

[8]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[9]  Jean-Marc Jézéquel,et al.  Meta-model Pruning , 2009, MoDELS.

[10]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

[11]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[12]  Manu Sridharan,et al.  A micromodularity mechanism , 2001, ESEC/FSE-9.

[13]  Gabor Karsai,et al.  Towards Verifying Model Transformations , 2008, GT-VMT@ETAPS.

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

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

[16]  Jean-Marie Favre,et al.  Towards a Megamodel to Model Software Evolution Through Transformations , 2005, SETra@ICGT.

[17]  R. Webster Homer,et al.  SYBYL Line Notation (SLN): A Versatile Language for Chemical Structure Representation , 1997, J. Chem. Inf. Comput. Sci..

[18]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[19]  James R. Cordy,et al.  The TXL source transformation language , 2006, Sci. Comput. Program..

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

[21]  Rick Salay,et al.  Language Independent Refinement Using Partial Modeling , 2012, FASE.

[22]  Pierre-Yves Schobbens,et al.  Managing evolution in software product lines: a model-checking perspective , 2012, VaMoS.

[23]  Heinrich Hußmann,et al.  Modular architecture for a toolset supporting OCL , 2000, Sci. Comput. Program..

[24]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

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

[26]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[27]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[28]  Mehrdad Sabetzadeh,et al.  Reasoning about Consistency in Model Merging , 2010, LWI@ASE.

[29]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[30]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[31]  Rick Salay,et al.  Using Macromodels to Manage Collections of Related Models , 2009, CAiSE.

[32]  Jim Steel,et al.  On Model Subtyping , 2012, ECMFA.

[33]  Bernhard Rumpe,et al.  CD2Alloy: class diagrams analysis using alloy revisited , 2011, MODELS'11.

[34]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[35]  Sebastián Uchitel,et al.  Weak Alphabet Merging of Partial Behavior Models , 2012, TSEM.

[36]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[37]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[38]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[39]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[40]  Giancarlo Guizzardi,et al.  On Ontology, ontologies, Conceptualizations, Modeling Languages, and (Meta)Models , 2007, DB&IS.

[41]  Rick Salay,et al.  Towards a Methodology for Verifying Partial Model Refinements , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[42]  Mehrdad Sabetzadeh,et al.  A manifesto for model merging , 2006, GaMMa '06.

[43]  Rick Salay,et al.  Transformation of Models Containing Uncertainty , 2013, MoDELS.

[44]  T. S. E. Maibaum,et al.  Conservative Extensions, Interpretations Between Theories and All That! , 1997, TAPSOFT.

[45]  Kim G. Larsen The Expressive Power of Implicit Specifications , 1993, Theor. Comput. Sci..

[46]  Rick Salay,et al.  Managing requirements uncertainty with partial models , 2012, RE.

[47]  Rick Salay,et al.  Change Propagation due to Uncertainty Change , 2013, FASE.

[48]  Jürgen Dingel,et al.  Model transformation intents and their properties , 2016, Software & Systems Modeling.

[49]  Gilles Vanwormhoudt,et al.  From subsets of model elements to submodels , 2013, Software & Systems Modeling.

[50]  Jordi Cabot,et al.  Using Models of Partial Knowledge to Test Model Transformations , 2012, ICMT@TOOLS.

[51]  V. D.,et al.  Prof , 1973 .

[52]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[53]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[54]  Bernhard Schätz,et al.  Verification of Model Transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[55]  Pierre-Yves Schobbens,et al.  Beyond Boolean product-line model checking: Dealing with feature attributes and multi-features , 2013, 2013 35th International Conference on Software Engineering (ICSE).

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

[57]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[58]  Rick Salay,et al.  Partial models: Towards modeling and reasoning with uncertainty , 2012, 2012 34th International Conference on Software Engineering (ICSE).