Abstract
Introduction
Model Driven Engineering (MDE) techniques support extensive use of models in order to manage the increasing complexity of software systems. Appropriate abstractions of software system elements can ease reasoning and understanding and thus limit the risk of errors in large systems. Automatic model transformations play a critical role in MDE since they automate complex, tedious, error-prone, and recurrent software development tasks. Airbus uses automatic code synthesis from SCADE models to generate the code for embedded controllers in the Airbus A380. Commercial tools for model transformations exist. Objecteering and Together from Borland are tools that can automatically add design patterns in a UML class model. Esterel Technologies have a tool for automatic code synthesis for safety critical systems.
Other examples of transformations are refinement of a design model by adding details pertaining to a particular target platform, refactoring a model by changing its structure to enhance design quality, or reverse engineering code to obtain an abstract model. These software development tasks are critical and thus the model transformations that automate them must be validated.
A fault in a transformation can introduce a fault in the transformed model, which if undetected and not removed, can propagate to other models in successive development steps. As a fault propagates across transformations, it becomes more difficult to detect and isolate. Since model transformations are meant to be reused, faults present in them may result in many faulty models.
Model transformations constitute a class of programs with unique characteristics that make testing them challenging. The complexity of input and output data, lack of model management tools, and the heterogeneity of transformation languages pose special problems to testers of transformations. In this paper we identify current model transformation characteristics that contribute to the difficulty of systematically testing transformations. We present promising solutions and propose possible ways to overcome these barriers.
- Bezivin, J., Rumpe, B., Schurr, A., and Tratt, L. Model Transformations in Practice Workshop. Supplemental Proceedings of the MoDELS'05 Conference. 2005, 120--127. Google ScholarDigital Library
- Brottier, E., Fleurey, F., Steel, J., Baudry, B., and Le, Y. Traon. Metamodel-based test generation for model transformations: an algorithm and a tool. In Int. Symposium on Software Reliability Engineering; 2006. Raleigh, NC, USA. Google ScholarDigital Library
- Ehrig, K., Küster, J.M., Taentzer, G., and Winkelmann, J. Generating instance models from meta models. In Formal Methods for Open Object-Based Distributed Systems; 2006. Bologna, Italy. Google ScholarDigital Library
- Fleurey, F., Baudry, B., Muller, P.-A., and Le Traon, Y. Towards dependable model transformations: Qualifying input test data. Software and Systems Modeling, 2007.Google Scholar
- France, R. and Rumpe, B. Model-driven development of complex software: A research roadmap. In Future of Software Engineering 2007, L. Briand and A. Wolf, Editors. 2007, IEEE - CS Press. Google ScholarDigital Library
- Korf, R.E., Space-efficient search algorithms. ACM Computing Surveys 27, 3, (1995), 337--339. Google ScholarDigital Library
- Küster, J.M. and Abd-El-Razik, B. Validation of model transformations - first experiences using a white box approach. In Model Design and Validation Workshop associated to MoDELS'06. Genova, Italy.Google Scholar
- Mottu, J.-M., Baudry, B., and Le Traon, Y. Reusable MDA components: A testing-for-trust approach. in MoDELS'06, 2006. Genova, Italy. Google ScholarDigital Library
- Reiter, T., Altmanninger, K., Bergmayr, A., Schwinger, W., and Kotsis, G. Models in conflict - detection of semantic conflicts in model-based development. In proceedings of 3rd International Workshop on Model-Driven Enterprise Information Systems. Madeira, Portugal.Google Scholar
- Schmidt, D.C., Model-driven engineering. IEEE Computer 39, 2, (2006), 25--31. Google ScholarDigital Library
- Solberg, A., Reddy, R., Simmonds, D., France, R., and Ghosh, S. Developing service oriented systems using an aspect-oriented model driven framework. International Journal of Cooperative Information Systems, 2006.Google Scholar
- Xing, Z. and Stroulia, E. UMLDiff: An algorithm for object-oriented design differencing. In Automated Software Engineering, 2005. USA. Google ScholarDigital Library
Index Terms
- Barriers to systematic model transformation testing
Recommendations
Model Transformation Testing and Debugging: A Survey
Model transformations are the key technique in Model-Driven Engineering (MDE) to manipulate and construct models. As a consequence, the correctness of software systems built with MDE approaches relies mainly on the correctness of model transformations, ...
Model transformation testing: the state of the art
AMT '12: Proceedings of the First Workshop on the Analysis of Model TransformationsModel Driven Development (MDD) is a software engineering approach in which models constitute the basic units of software development. A key part of MDD is the notion of automated model transformation, in which models are stepwise refined into more ...
Model transformation testing: a bi-level search-based software engineering approach
The process of writing model transformations is a complex and error-prone one. Thus, efficient techniques and tools for validating model transformations are needed. One of them is model transformation testing. The generation of test cases for model ...
Comments