Reasoning about metamodeling with formal specifications and automatic proofs

Metamodeling is foundational to many modeling frameworks, and so it is important to formalize and reason about it. Ideally, correctness proofs and test-case generation on the metamodeling framework should be automatic. However, it has yet to be shown that extensive automated reasoning on metamodeling frameworks can be achieved. In this paper we present one approach to this problem: Metamodeling frameworks are specified modularly using algebraic data types and constraint logic programming (CLP). Proofs and test-case generation are encoded as CLP satisfiability problems and automatically solved.

[1]  Artur Boronat,et al.  An algebraic semantics for MOF , 2009, Formal Aspects of Computing.

[2]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

[3]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[4]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[5]  Ivan Porres,et al.  A metamodeling language supporting subset and union properties , 2007, Software & Systems Modeling.

[6]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[7]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

[8]  Ethan K. Jackson,et al.  Components, platforms and possibilities: towards generic automation for MDA , 2010, EMSOFT '10.

[9]  Bernhard Rumpe,et al.  System Model-Based Definition of Modeling Language Semantics , 2009, FMOODS/FORTE.

[10]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[11]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[12]  Georg Gottlob,et al.  Complexity and expressive power of logic programming , 2001, CSUR.

[13]  Janos Sztipanovits,et al.  Constructive techniques for meta- and model-level reasoning , 2007, MODELS'07.

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

[15]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[16]  Andy Evans,et al.  The Metamodelling Language Calculus: Foundation Semantics for UML , 2001, FASE.

[17]  Dániel Varró,et al.  VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (The Mathematics of Metamodeling is Metamodeling Mathematics) , 2003, Software & Systems Modeling.

[18]  Michael J. Maher,et al.  The Semantics of Constraint Logic Programs , 1998, J. Log. Program..

[19]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[20]  Dániel Varró,et al.  Automated formal verification of visual modeling languages by model checking , 2004, Software & Systems Modeling.

[21]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

[22]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.