Abstract
Model-Driven Engineering promotes the use of models to conduct the different phases of the software development. In this way, models are transformed between different languages and notations until code is generated for the final application. Hence, the construction of correct Model-to-Model (M2M) transformations becomes a crucial aspect in this approach.
Even though many languages and tools have been proposed to build and execute M2M transformations, there is scarce support to specify correctness requirements for such transformations in an implementation-independent way, i.e., irrespective of the actual transformation language used.
In this paper we fill this gap by proposing a declarative language for the specification of visual contracts, enabling the verification of transformations defined with any transformation language. The verification is performed by compiling the contracts into QVT to detect disconformities of transformation results with respect to the contracts. As a proof of concept, we also report on a graphical modeling environment for the specification of contracts, and on its use for the verification of transformations in several case studies.
Similar content being viewed by others
References
Aranega, V., Mottu, J.-M., Etien, A., Dekeyser, J.-L.: Using trace to situate errors in model transformations. In: Software and Data Technologies. Communications in Computer and Information Science, vol. 50, pp. 137–149. Springer, Berlin (2011)
Balogh, A., Bergmann, G., Csertán, G., Gönczy, L., Horváth, A., Majzik, I., Pataricza, A., Polgár, B., Ráth, I., Varró, D., Varró, G.: Workflow-driven tool integration using model transformations. In: Graph Transformations and Model-Driven Engineering. LNCS, vol. 5765, pp. 224–248. Springer, Berlin (2010)
Baudry, B., Dinh-Trong, T., Mottu, J., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Le Traon, Y.: Model transformation testing challenges. In: ECMDA Workshop on Integration of Model Driven Development and Model Driven Testing, vol. 92 (2006)
Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon, Y., Mottu, J.-M.: Barriers to systematic model transformation testing. Commun. ACM 53, 139–143 (2010)
Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer 32, 38–45 (1999)
Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 31 (2005)
Bézivin, J., Rumpe, B., Schürr, A., Tratt, L.: Model transformations in practice. In: Workshop of MoDELS’05 (2005)
Briand, L.C., Labiche, Y., Sun, H.: Investigating the use of analysis contracts to improve the testability of object-oriented code. Softw. Pract. Exp. 33(7), 637–672 (2003)
Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: ISSRE’06, pp. 85–94. IEEE Comput. Soc., Los Alamitos (2006)
Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)
Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: Workshop on OCL and Model Driven Engineering UML’04, vol. 12, pp. 69–83 (2004)
Cariou, E., Belloir, N., Barbier, F., Djemam, N.: OCL contracts for the verification of model transformations. In: ECEASST, vol. 24 (2009)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
EMF: Eclipse Modeling Framework. www.eclipse.org/emf. Last accessed: January 2012
Fishman, G.S.: Discrete-Event Simulation: Modeling, Programming, and Analysis. Springer, Berlin (2001)
Fleurey, F., Steel, J., Baudry, B.: Validation in model-driven engineering: testing model transformations. In: MoDeVa’04, pp. 29–40. IEEE Comput. Soc., Los Alamitos (2004)
Fleurey, F., Baudry, B., Muller, P.-A., Traon, Y.: Qualifying input test data for model transformations. Softw. Syst. Model. 8, 185–203 (2009)
France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: FOSE’07, pp. 37–54. IEEE Comput. Soc., Los Alamitos (2007)
Giner, P., Pelechano, V.: Test-driven development of model transformations. In: MODELS’09. LNCS, vol. 5795, pp. 748–752. Springer, Berlin (2009)
Gogolla, M., Vallecillo, A.: Tractable model transformation testing. In: ECMFA’11. LNCS, vol. 6698, pp. 221–235. Springer, Berlin (2011)
Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley Professional, Reading (2009). See also http://www.eclipse.org/modeling/gmp/
Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: A visual specification language for model-to-model transformations. In: VL/HCC, pp. 119–126. IEEE Comput. Soc., Los Alamitos (2010)
Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F., dos Santos, O.M.: Engineering model transformations with transML. Softw. Syst. Mod. (2011, in press). doi:10.1007/s10270-011-0211-2
Jackson, D.: Software Abstractions. Logic, Language, and Analysis. MIT Press, Cambridge (2006)
Jensen, K.: Coloured Petri Nets Basic Concepts, Analysis Methods and Practical Use. Monographs in Theoretical Computer Science. Springer, Berlin (1997)
Jensen, K., Kristensen, L.M., Wells, L.: Coloured Petri nets and CPN tools for modelling and validation of concurrent systems. Int. J. Softw. Tools Technol. Transf. 9(3–4), 213–254 (2007)
Jouault, F., Kurtev, I.: Transforming models with ATL. In: Model Transformations in Practice Workshop (2005)
Kessentini, M., Sahraoui, H.A., Boukadoum, M.: Example-based model-transformation testing. Autom. Softw. Eng. 18(2), 199–224 (2011)
Kolovos, D., Paige, R., Polack, F.: The Epsilon transformation language. In: ICMT’08. LNCS, vol. 5063, pp. 46–60. Springer, Berlin (2008a)
Kolovos, D., Paige, R., Rose, L., Polack, F.: Unit testing model management operations. In: ICSTW’08, pp. 97–104. IEEE Comput. Soc., Los Alamitos (2008b)
Kolovos, D.S., Paige, R.F., Polack, F.A.: Model comparison: a foundation for model composition and model transformation testing. In: GaMMa’06, pp. 13–20. ACM Press, New York (2006)
Kühne, T.: Matters of (meta-)modeling. Softw. Syst. Model. 5(4), 369–385 (2006)
Küster, J.M.: Definition and validation of model transformations. Softw. Syst. Model. 5(3), 233–259 (2006)
Küster, J.M., Abd-El-Razik, M.: Validation of model transformations—first experiences using a white box approach. In: Models in Software Engineering. LNCS, vol. 4364, pp. 193–204. Springer, Berlin (2006)
Leavens, G.T., Cheon, Y., Clifton, C., Ruby, C., Cok, D.R.: How the design of JML accommodates both runtime assertion checking and formal verification. Sci. Comput. Program. 55(1–3), 185–208 (2005)
Lin, Y., Zhang, J., Gray, J.: Model comparison: A key challenge for transformation testing and version control in model driven software development. In: OOPSLA Workshop on Best Practices for Model-Driven Software Development (2004)
Lin, Y., Zhang, J., Gray, J.: A testing framework for model transformations. In: Model-Driven Software Development, pp. 219–236 (2005)
Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)
Meyer, B.: Applying “design by contract”. Computer 25, 40–51 (1992)
Mottu, J.-M., Baudry, B., Le Traon, Y.: Reusable MDA components: A testing-for-trust approach. In: MoDELS’06. LNCS, vol. 4199, pp. 589–603. Springer, Berlin (2006)
Mottu, J.-M., Baudry, B., Traon, Y.L.: Model transformation testing: oracle issue. In: ICSTW’08, pp. 105–112. IEEE Comput. Soc., Los Alamitos (2008)
Object Management Group: OCL Specification Version 2.0. http://www.omg.org/docs/ptc/05-06-06.pdf, 2005
Object Management Group: QVT Specification Version 1.1. http://www.omg.org/spec/QVT/1.1/, 2011
Ramos, R., Barais, O., Jézéquel, J.-M.: Matching model-snippets. In: MoDELS’07. LNCS, vol. 4735, pp. 121–135. Springer, Berlin (2007)
Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)
Sen, S., Baudry, B., Mottu, J.-M.: Automatic model generation strategies for model transformation testing. In: ICMT’09. LNCS, vol. 5563, pp. 148–164. Springer, Berlin (2009)
Spivey, J.M.: An introduction to Z and formal specifications. Softw. Eng. J. 4(1), 40–50 (1989)
TATA Research Development and Design: ModelMorf. http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm. Last accessed: January 2012
Traon, Y.L., Baudry, B., Jézéquel, J.-M.: Design by contract to improve software vigilance. IEEE Trans. Softw. Eng. 32(8), 571–586 (2006)
Varró, D., Varró-Gyapay, S., Ehrig, H., Prange, U., Taentzer, G.: Termination analysis of model transformations by Petri nets. In: ICGT’06. LNCS, vol. 4178, pp. 260–274. Springer, Berlin (2006)
Xpand: Xpand Templates. http://wiki.eclipse.org/Xpand. Last accessed: January 2012
Author information
Authors and Affiliations
Corresponding author
Additional information
This work has been funded by the Austrian Science Fund (FWF) under grant P21374-N13, the Spanish Ministry of Science under grants TIN2008-02081 and TIN2011-24139, and the R&D programme of the Madrid Region under project S2009/TIC-1650.
Rights and permissions
About this article
Cite this article
Guerra, E., de Lara, J., Wimmer, M. et al. Automated verification of model transformations based on visual contracts. Autom Softw Eng 20, 5–46 (2013). https://doi.org/10.1007/s10515-012-0102-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-012-0102-y