Automatically Searching for Metamodel Well-Formedness Rules in Examples and Counter-Examples

Current metamodeling formalisms support the definition of a metamodel with two views: classes and relations, that form the core of the metamodel, and well-formedness rules, that constraints the set of valid models. While a safe application of automatic operations on models requires a precise definition of the domain using the two views, most metamodels currently present in repositories have only the first one part. In this paper, we propose to start from valid and invalid model examples in order to automatically retrieve well-formedness rules in OCL using Genetic Programming. The approach is evaluated on metamodels for state machines and features diagrams. The experiments aim at demonstrating the feasibility of the approach and at illustrating some important design decisions that must be considered when using this technique.

[1]  Stephen McCamant,et al.  The Daikon system for dynamic detection of likely invariants , 2007, Sci. Comput. Program..

[2]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[3]  Jean-Marie Favre CacOphoNy: Metamodel-Driven Architecture Recovery , 2004 .

[4]  Andreas Zeller,et al.  Generating test cases for specification mining , 2010, ISSTA '10.

[5]  Faizan Javed,et al.  MARS: A metamodel recovery system using grammar inference , 2008, Inf. Softw. Technol..

[6]  Andreas Zeller Specifications for Free , 2011, NASA Formal Methods.

[7]  Benoit Combemale,et al.  Ten years of Meta-Object Facility: an Analysis of Metamodeling Practices , 2012 .

[8]  Houari A. Sahraoui,et al.  Generating model transformation rules from examples using an evolutionary algorithm , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[9]  Vidroha Debroy,et al.  Genetic Programming , 1998, Lecture Notes in Computer Science.

[10]  Gabor Karsai,et al.  The Generic Modeling Environment , 2001 .

[11]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

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

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

[14]  Houari A. Sahraoui,et al.  Searching the Boundaries of a Modeling Space to Test Metamodels , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[15]  Clémentine Nebut,et al.  Formal and Relational Concept Analysis approaches in Software Engineering: an overview and an application to learn model transformation patterns in examples , 2011 .

[16]  Jean-Marie Favre,et al.  CaCOphoNy: metamodel-driven software architecture reconstruction , 2004, 11th Working Conference on Reverse Engineering.

[17]  John A. Clark,et al.  Searching for invariants using genetic programming and mutation testing , 2011, GECCO '11.

[18]  Juan de Lara,et al.  Bottom-up meta-modelling: an interactive approach , 2012, MODELS'12.

[19]  Kim G. Larsen,et al.  Memory Efficient Data Structures for Explicit Verification of Timed Systems , 2014, NASA Formal Methods.