Integration of Visual Contracts and Model Transformation for Enhanced MDE Development

Model transformations are an important aspect of Model-Driven Engineering as models throughout the software development process are transformed and refined until, finally, application code is generated. However, model transformations are complex to build, maintain, and verify for correctness. We propose the combination of visual contracts, an implementation independent approach for specifying correctness requirements for verification purposes, with operator-based model transformation execution to integrate both the specification of transformation requirements and the transformations themselves within the same framework. The graphical operator-based notation is used to define both the constraints of a contract and the transformation definition. This allows reuse of operators between the two and maintains implementation independence as the operators can be directly executed or compiled to other model-transformation languages. To illustrate the concept, we report on a prototype integration of visual contracts with our our existing operator-based model transformation framework and applied it in the law-enforcement context to transform relational data sources into Elasticsearch for multisource analytics.

[1]  Jürgen Dingel,et al.  SyVOLT: Full Model Transformation Verification Using Contracts , 2015, P&D@MoDELS.

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

[3]  John Howse,et al.  Precise visual modeling: A case-study , 2004, Software & Systems Modeling.

[4]  Harald Störrle Expressing model constraints visually with VMQL , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[5]  Dániel Varró,et al.  Survey and classification of model transformation tools , 2018, Software & Systems Modeling.

[6]  Peter Braun,et al.  Transforming Object Oriented Models with BOTL , 2003, GT-VMT@ICGT.

[7]  Stuart Kent,et al.  Constraint diagrams: visualizing invariants in object-oriented models , 1997, OOPSLA '97.

[8]  Dániel Varró,et al.  The model transformation language of the VIATRA2 framework , 2007, Sci. Comput. Program..

[9]  Jos Warmer,et al.  The object constraint language , 1998 .

[10]  Annegret Habel,et al.  Graph Transformation for Specification and Programming , 1999, Sci. Comput. Program..

[11]  Levi Lucio,et al.  DSLTrans: A Turing Incomplete Transformation Language , 2010, SLE.

[12]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[13]  Gabriele Taentzer,et al.  The AGG approach: language and environment , 1999 .

[14]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[15]  Georg Grossmann,et al.  Automated Techniques for Generating Behavioural Models for Constructive Combat Simulations , 2018 .

[16]  Ákos Lédeczi,et al.  Extensible visual constraint language , 2015, DSM@SPLASH.

[17]  Andrew Fish,et al.  The semantics of augmented constraint diagrams , 2005, J. Vis. Lang. Comput..

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

[19]  Harald Störrle,et al.  VMTL: a language for end-user model transformation , 2018, Software & Systems Modeling.

[20]  Gerti Kappel,et al.  Surviving the Heterogeneity Jungle with Composite Mapping Operators , 2010, ICMT@TOOLS.

[21]  Michael Schrefl,et al.  Metamodel-based information integration at industrial scale , 2010, MODELS'10.

[22]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[23]  Holger Giese,et al.  Bridging the gap between formal semantics and implementation of triple graph grammars , 2010, 2010 Workshop on Model-Driven Engineering, Verification, and Validation.