Automatic Conformance Testing of Optimized Triple Graph Grammar Implementations

In model-driven development, model transformations can be specified using an operational (imperative) or relational (declarative) approach. When using a relational approach, approved formal concepts are necessary to derive a conform operationalization. In general, though, it is not sure if implementations realize these formal concepts in an entirely correct way. Moreover, usually, available formal concepts neither cover every technicality, nor cover each additional optimization an implementation relies on. Consequently, conformance needs to be validated also on the implementation level. Conformance means that for each source model S and target model T related according to the relational specification, a corresponding implementation transforms S into T (and T into S in case that the specification is bidirectional). We present an automatic conformance testing approach for TGG implementations, where the Triple Graph Grammar (TGG) approach is an important representative of relational model transformation approaches. We show that the grammar character of TGGs is very convenient for the automatic generation of conformance test cases. In particular, test input models can be generated together with their expected result obtaining a complete oracle. We show how to measure test suite quality and evaluate our approach on our own TGG implementation.

[1]  Mingsong Chen,et al.  Coverage-driven automatic test generation for uml activity diagrams , 2008, GLSVLSI '08.

[2]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[3]  B. Baudry,et al.  Validation in model-driven engineering: testing model transformations , 2004, Proceedings. 2004 First International Workshop on Model, Design and Validation, 2004..

[4]  Hartmut Ehrig,et al.  Efficient analysis and execution of correct and complete model transformations based on triple graph grammars , 2010, MDI '10.

[5]  Jochen Malte Küster,et al.  Validation of model transformations: first experiences using a white box approach , 2006, MoDELS'06.

[6]  Holger Giese,et al.  Toward Bridging the Gap between Formal Semantics and Implementation of Triple Graph Grammars , 2010 .

[7]  Holger Giese,et al.  Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques , 2009 .

[8]  Juan de Lara,et al.  Using AToM3 as a Meta-Case Tool , 2002, ICEIS.

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

[10]  Benoit Baudry,et al.  Automatic Model Generation Strategies for Model Transformation Testing , 2009, ICMT@TOOLS.

[11]  Holger Giese,et al.  Tool Integration at the Meta-Model Level within the FUJABA Tool Suite , 2003 .

[12]  Mikhail Posypkin,et al.  Survey of Compiler Testing Methods , 2005, Programming and Computer Software.

[13]  Yves Le Traon,et al.  Model transformation testing: oracle issue , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[14]  Tobias Rötschke,et al.  Metamodel-based tool integration with moflon , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[15]  Hartmut Ehrig,et al.  Refinements of Graph Transformation Systems via Rule Expressions , 2000 .

[16]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

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

[18]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

[19]  Holger Giese,et al.  Model Synchronization at Work: Keeping SysML and AUTOSAR Models Consistent , 2010, Graph Transformations and Model-Driven Engineering.

[20]  Mario Ornaghi,et al.  A Constructive Approach to Testing Model Transformations , 2010, ICMT@TOOLS.

[21]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[22]  Gregor Engels,et al.  Graph Transformations and Model-Driven Engineering - Essays Dedicated to Manfred Nagl on the Occasion of his 65th Birthday , 2010, Graph Transformations and Model-Driven Engineering.

[23]  Andy Schürr,et al.  15 years of triple graph grammar : research challenges, new contribultions, open problems , 2008 .

[24]  Gabriele Taentzer,et al.  Introduction to AGG and EMF Tiger by modeling a Conference Scheduling System , 2010, International Journal on Software Tools for Technology Transfer.

[25]  Holger Giese,et al.  Tool integration at the meta-model level: the Fujaba approach , 2004, International Journal on Software Tools for Technology Transfer.

[26]  Ingo Stürmer,et al.  Generating Test Cases for Code Generators by Unfolding Graph Transformation Systems , 2004, ICGT.

[27]  Gregor Engels,et al.  Towards model-driven unit testing , 2006, MoDELS'06.

[28]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[29]  Jeffrey G. Gray,et al.  A Testing Framework for Model Transformations , 2005, Model-Driven Software Development.

[30]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[31]  Reiko Heckel,et al.  Automatic Conformance Testing of Web Services , 2005, FASE.

[32]  Debra J. Richardson,et al.  Approaches to specification-based testing , 1989 .

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

[34]  Ekkart Kindler,et al.  Comparing relational model transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars , 2009, Software & Systems Modeling.

[35]  Gordon Fraser,et al.  Testing with model checkers: a survey , 2009 .