Agile validation of model transformations using compound F-Alloy specifications

Abstract Model transformations play a key role in model driven software engineering approaches. Validation of model transformations is crucial for the quality assurance of software systems to be constructed. The relational logic based specification language Alloy and its accompanying tool the Alloy Analyzer have been used in the past to validate properties of model transformations. However Alloy based analysis of transformations suffers from several limitations. On one hand, it is time consuming and does not scale well. On the other hand, the reliance on Alloy, being a formal method, prevents the effective involvement of domain experts in the validation process which is crucial for pinpointing domain pertinent errors. Those limitations are even more severe when it comes to transformations whose input and/or output are themselves transformations (called compound transformations) because they are inherently more complex. To tackle the performance and scalability limitations, in previous work, we proposed an Alloy-based Domain Specific Language (DSL), called F-Alloy, that is tailored for model transformation specifications. Instead of pure analysis based validation, F-Alloy speeds up the validation of model transformations by applying a hybrid strategy that combines analysis with interpretation. In this paper, we formalize the notion of “hybrid analysis” and further extended it to also support efficient validation of compound transformations. To enable the effective involvement of domain experts in the validation process, we propose in this paper a new approach to model transformation validation, called Visualization-Based Validation (briefly VBV). Following VBV, representative instances of a to-be-validated model transformation are automatically generated by hybrid analysis and shown to domain experts for feedback in a visual notation that they are familiar with. We prescribe a process to guide the application of VBV to model transformations and illustrate it with a benchmark model transformation.

[1]  Ramtin Khosravi,et al.  Alloy as a Language for Domain Modeling , 2009 .

[2]  Holger Voos,et al.  Declarative Specification of Robot Perception Architectures , 2014, SIMPAR.

[3]  Pierre Kelsen,et al.  Designing languages using lightning , 2015, SLE.

[4]  Loïc Gammaitoni,et al.  RPSL meets lightning: A model-based approach to design space exploration of robot perception systems , 2016, 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR).

[5]  Jean Bézivin,et al.  Model Transformations in Practice Workshop , 2005, MoDELS.

[6]  Sarfraz Khurshid,et al.  Constraint Prioritization for Efficient Analysis of Declarative Models , 2008, FM.

[7]  Pierre Kelsen,et al.  Verifying Modelling Languages using Lightning: a Case Study , 2014, MoDeVVa@MoDELS.

[8]  Sarfraz Khurshid,et al.  Software assurance by bounded exhaustive testing , 2004, IEEE Transactions on Software Engineering.

[9]  Pierre Kelsen,et al.  Agile Validation of Higher Order Transformations Using F-Alloy , 2016, 2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE).

[10]  Derek Rayside,et al.  Improved Visualization of Relational Logic Models , 2013 .

[11]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[12]  Sarfraz Khurshid,et al.  Exploring the design of an intentional naming scheme with an automatic constraint analyzer , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[13]  J. Küster,et al.  Analysis of Model Transformations via Alloy , 2007 .

[14]  Sarfraz Khurshid,et al.  Annotations for Alloy: Automated Incremental Analysis Using Domain Specific Solvers , 2012, ICFEM.

[15]  Mana Taghdiri,et al.  Analyzing Alloy Constraints using an SMT Solver: A Case Study , 2010 .

[16]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[17]  Luciano Baresi,et al.  On the Use of Alloy to Analyze Graph Transformation Systems , 2006, ICGT.

[18]  K. Lano,et al.  A framework for verification of model transformations , 2013 .

[19]  Kyriakos Anastasakis,et al.  A Model Driven Approach for the Atomated Analysis of UML Class Diagrams , 2009 .

[20]  Robert B. France,et al.  A Systematic Approach to Generate Inputs to Test UML Design Models , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[21]  Lo ¨ ic F-Alloy: An Alloy Based Model Transformation Language , 2015 .

[22]  Alexander Serebrenik,et al.  Traceability Visualization in Model Transformations with TraceVis , 2012, ICMT@TOOLS.

[23]  Pierre Kelsen,et al.  Domain-Specific Visualization of Alloy Instances , 2014, ABZ.

[24]  Sarfraz Khurshid,et al.  Optimizations for Compiling Declarative Models into Boolean Formulas , 2005, SAT.