Automated testing support for reactive domain-specific modelling languages

Domain-specific modelling languages (DSML) enable domain users to model systems in their problem domain, using concepts and notations they are familiar with. The process of domain-specific modelling (DSM) consists of two stages: a language engineering stage where a DSML is created, and a system modelling stage where the DSML is used. Because techniques such as metamodelling and model transformation allow for a efficient creation of DSMLs, and using DSMLs significantly increases productivity, DSM is very suitable for early prototyping. Many systems that are modelled using DSMLs are reactive, meaning that during their execution, they respond to external input. Because of the complexity of input and response behaviour of reactive systems, it is desirable to test models as early as possible. However, while dedicated testing support for specific DSMLs has been provided, no systematic support exists for testing DSML models according to DSM principles. In this paper, we introduce a technique to automatically generate a domain-specific testing framework from an annotated DSML definition. In our approach, the DSML definition consists of a metamodel, a concrete syntax definition and operational semantics described as a schedule of graph rewrite rules, thus covering a large class of DSMLs. Currently, DSMLs with deterministic behaviour are supported, but we provide an outlook to other (nondeterministic, real-time or continuous-time) DSMLs. We illustrate the approach with a DSML for describing an elevator controller. We evaluate the approach and conclude that compared to the state-of-the-art, our testing support is significantly less costly, and similar or better (according to DSM principles) testing support is achieved. Additionally, the generative nature of the approach makes testing support for DSMLs less error-prone while catering the need for early testing.

[1]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[2]  Christophe Jacquet,et al.  Modeling Time for the Execution of Heterogeneous Models , 2012 .

[3]  Bart Meyers,et al.  A DSL for Explicit Semantic Adaptation , 2013, MPM@MoDELS.

[4]  Eelco Visser,et al.  WebDSL: A Case Study in Domain-Specific Language Engineering , 2007, GTTSE.

[5]  Kousha Etessami,et al.  Events and constraints: a graphical editor for capturing logic requirements of programs , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[6]  Teemu Kanstren A Review of Domain-Specific Modelling and Software Testing , 2013 .

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

[8]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[9]  Tom Mens,et al.  ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language , 2014, MPM@MoDELS.

[10]  Teemu Kanstrén,et al.  Using Built-In Domain-Specific Modeling Support to Guide Model-Based Test Generation , 2012, MBT.

[11]  Robert Eschbach,et al.  A Systematic Approach to Construct Compositional Behaviour Models for Network-structured Safety-critical Systems , 2010, Electron. Notes Theor. Comput. Sci..

[12]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[13]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[14]  Juan de Lara,et al.  A Visual Specification Language for Model-to-Model Transformations , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[15]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[16]  Bart Meyers,et al.  ProMoBox: A Framework for Generating Domain-Specific Property Languages , 2014, SLE.

[17]  Matteo Risoldi,et al.  A methodology for the development of complex domain specific languages , 2010 .

[18]  Loli Burgueño,et al.  Testing M2M/M2T/T2M Transformations , 2015, SRC@MoDELS.

[19]  Tariq M. King,et al.  Legend: an agile DSL toolset for web acceptance testing , 2014, ISSTA 2014.

[20]  Laurent Safa The Practice of Deploying DSM Report from a Japanese Appliance Maker Trenches , 2006 .

[21]  Jürgen Dingel,et al.  Model transformation testing: the state of the art , 2012, AMT '12.

[22]  Benoît Combemale,et al.  A Design Pattern to Build Executable DSMLs and Associated V&V Tools , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[23]  Peter Csaba Ölveczky Real-Time Maude and Its Applications , 2014, WRLA.

[24]  Xavier Crégut,et al.  Formal Verification Integration Approach for DSML , 2013, MoDELS.

[25]  Leif Geiger Story Driven Testing-SDT , 2005 .

[26]  Reiko Heckel,et al.  Test Case Generation Using Visual Contracts , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[27]  Gabriele Taentzer,et al.  Generating instance models from meta models , 2006, Software & Systems Modeling.

[28]  Pieter J. Mosterman,et al.  Computer Automated Multi-Paradigm Modeling : An Introduction , 2000 .

[29]  R. A. ten Buuren Domain-Specific Language Testing Framework , 2015 .

[30]  Pieter J. Mosterman,et al.  Rule-based model transformation for, and in simulink , 2014, SpringSim.

[31]  Bart Meyers,et al.  Towards domain-specific property languages: the ProMoBox approach , 2013, DSM '13.

[32]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[33]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[34]  Tariq M. King,et al.  Towards Domain-Specific Testing Languages for Software-as-a-Service , 2013, MDHPCL@MoDELS.

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

[36]  Teemu Kanstrén,et al.  Utilizing Domain-Specific Modelling for Software Testing , 2011 .

[37]  Hans Vangheluwe,et al.  Adding Rule-Based Model Transformation to Modelling Languages in MetaEdit+ , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[38]  Hans Vangheluwe,et al.  AToMPM: A Web-based Modeling Environment , 2013, MoDELS.

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

[40]  Hao Wu,et al.  Metamodel Instance Generation: A systematic literature review , 2012, ArXiv.