Advertisement

Formal Specification and Testing of Model Transformations

  • Antonio Vallecillo
  • Martin Gogolla
  • Loli Burgueño
  • Manuel Wimmer
  • Lars Hamann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7320)

Abstract

In this paper we present some of the key issues involved in model transformation specification and testing, discuss and classify some of the existing approaches, and introduce the concept of Tract, a generalization of model transformation contracts. We show how Tracts can be used for model transformation specification and black-box testing, and the kinds of analyses they allow. Some representative examples are used to illustrate this approach.

Keywords

Source Model Model Transformation Test Suite Target Model Object Constraint Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Lin, Y., Zhang, J., Gray, J.: Model comparison: A key challenge for transformation testing and version control in model driven software development. In: Control in Model Driven Software Development. OOPSLA/GPCE: Best Practices for Model-Driven Software Development, pp. 219–236. Springer (2004)Google Scholar
  2. 2.
    Baudry, B., Dinh-Trong, T., Mottu, J.M., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Traon, Y.L.: Model transformation testing challenges. In: Proc. of IMDD-MDT 2006 (2006)Google Scholar
  3. 3.
    Stevens, P.: A Landscape of Bidirectional Model Transformations. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2008. LNCS, vol. 5235, pp. 408–424. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Baudry, B., Ghosh, S., Fleurey, F., France, R., Traon, Y.L., Mottu, J.M.: Barriers to systematic model transformation testing. Communications of the ACM 53(6), 139–143 (2010)CrossRefGoogle Scholar
  5. 5.
    Baresi, L., Ehrig, K., Heckel, R.: Verification of Model Transformations: A Case Study with BPEL. In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2006. LNCS, vol. 4661, pp. 183–199. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Ehrig, H., Ehrig, K., de Lara, J., Taentzer, G., Varró, D., Varró-Gyapay, S.: Termination Criteria for Model Transformation. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 49–63. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Software and Systems Modeling 8, 479–500 (2009)CrossRefGoogle Scholar
  8. 8.
    Küster, J.M.: Definition and validation of model transformations. Software and Systems Modeling 5(3), 233–259 (2006)CrossRefGoogle Scholar
  9. 9.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. Journal of Systems and Software 83(2), 283–302 (2010)CrossRefGoogle Scholar
  10. 10.
    Anastasakis, K., Bordbar, B., Küster, J.M.: Analysis of model transformations via Alloy. In: Proc. of MODEVVA (2007), http://www.cs.bham.ac.uk/~bxb/Papres/Modevva07.pdf
  11. 11.
    Troya, J., Vallecillo, A.: A rewriting logic semantics for ATL. Journal of Object Technology 10(5), 1–29 (2011)Google Scholar
  12. 12.
    Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: Proc. of ISSRE 2006, pp. 85–94 (2006)Google Scholar
  13. 13.
    Solberg, A., Reddy, R., Simmonds, D., France, R., Ghosh, S.: Developing distributed services using an aspect-oriented model driven framework. International Journal of Cooperative Information Systems 15(4), 535–564 (2006)CrossRefGoogle Scholar
  14. 14.
    Mottu, J.-M., Baudry, B., Le Traon, Y.: Reusable MDA Components: A Testing-for-Trust Approach. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 589–603. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Fleurey, F., Baudry, B., Muller, P.A., Traon, Y.L.: Qualifying input test data for model transformations. Software and Systems Modeling 8(2), 185–203 (2009)CrossRefGoogle Scholar
  16. 16.
    Gogolla, M., Hamann, L., Kuhlmann, M.: Proving and Visualizing OCL Invariant Independence by Automatically Generated Test Cases. In: Fraser, G., Gargantini, A. (eds.) TAP 2010. LNCS, vol. 6143, pp. 38–54. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: Proc. of the OCL and Model Driven Engineering Workshop (2004)Google Scholar
  18. 18.
    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL Models in USE by Automatic Snapshot Generation. Software and Systems Modeling 4(4), 386–398 (2005)CrossRefGoogle Scholar
  19. 19.
    Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Science of Computer Programming 69, 27–34 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Meyer, B.: Applying design by contract. IEEE Computer 25(10), 40–51 (1992)CrossRefGoogle Scholar
  21. 21.
    Andova, S., van den Brand, M.G.J., Engelen, L.J.P., Verhoeff, T.: MDE Basics with a DSL Focus. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 21–57. Springer, Heidelberg (2012)Google Scholar
  22. 22.
    Cabot, J., Gogolla, M.: Object Constraint Language (OCL): A Definitive Guide. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 58–90. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  23. 23.
    Di Ruscio, D., Eramo, R., Pierantonio, A.: Model Transformations. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 91–136. Springer, Heidelberg (2012)Google Scholar
  24. 24.
    Eclipse: ATL Tutorials – A simple ATL transformation (2007), http://wiki.eclipse.org/ATL/Tutorials_Create_a_simple_ATL_transformation
  25. 25.
    Eclipse: Basic ATL examples (2007), http://www.eclipse.org/m2m/atl/basicExamples_Patterns/
  26. 26.
    Object Management Group: Object Constraint Language (OCL) Specification. Version 2.2. OMG Document formal/2010-02-01 (2010)Google Scholar
  27. 27.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Science of Computer Programming 72(1-2), 31–39 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    OMG: MOF QVT Final Adopted Specification. Object Management Group. OMG doc. ptc/05-11-01 (2005)Google Scholar
  29. 29.
    Cuadrado, J.S., Molina, J.G., Tortosa, M.M.: RubyTL: A Practical, Extensible Transformation Language. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 158–172. Springer, Heidelberg (2006), http://rubytl.rubyforge.org/CrossRefGoogle Scholar
  30. 30.
    Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: JTL: A Bidirectional and Change Propagating Transformation Language. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 183–202. Springer, Heidelberg (2011), http://jtl.di.univaq.it/CrossRefGoogle Scholar
  31. 31.
    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 MDD and Model Driven Testing (2006)Google Scholar
  32. 32.
    France, R.B., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: Proc. of ISCE 2007, pp. 37–54 (2007)Google Scholar
  33. 33.
    Van Der Straeten, R., Mens, T., Van Baelen, S.: Challenges in Model-Driven Software Engineering. In: Chaudron, M.R.V. (ed.) MoDELS 2008. LNCS, vol. 5421, pp. 35–47. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  34. 34.
    Amrani, M., Lúcio, L., Selim, G., Combemale, B., Dingel, J., Vangheluwe, H., Traon, Y.L., Cordy, J.R.: A tridimensional approach for studying the formal verification of model transformations. In: Proc. of the 1st International Workshop on Verification and Validation of Model Transformations, VOLT 2012 (2012)Google Scholar
  35. 35.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  36. 36.
    Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Systematic transformation development. ECEASST 21 (2009)Google Scholar
  37. 37.
    Weisemoeller, I., Rumpe, B.: A domain specific transformation language. In: Models and Evolution Workshop @ MoDELS 2011 (2011)Google Scholar
  38. 38.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: An Invariant-Based Method for the Analysis of Declarative Model-to-Model Transformations. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 37–52. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  39. 39.
    Varró, D., Varró–Gyapay, S., Ehrig, H., Prange, U., Taentzer, G.: Termination Analysis of Model Transformations by Petri Nets. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 260–274. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  40. 40.
    Narayanan, A., Karsai, G.: Towards verifying model transformations. Electr. Notes Theor. Comput. Sci. 211, 191–200 (2008)CrossRefzbMATHGoogle Scholar
  41. 41.
    Varró, D.: Automated formal verification of visual modeling languages by model checking. Software and System Modeling 3(2), 85–113 (2004)MathSciNetCrossRefGoogle Scholar
  42. 42.
    Maoz, S., Ringert, J.O., Rumpe, B.: CDDiff: Semantic Differencing for Class Diagrams. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 230–254. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  43. 43.
    Kolovos, D.S., Paige, R.F., Polack, F.A.: Model comparison: a foundation for model composition and model transformation testing. In: GaMMa 2006, pp. 13–20. ACM (2006)Google Scholar
  44. 44.
    Lin, Y., Zhang, J., Gray, J.: A testing framework for model transformations. Model-Driven Software Development, 219–236 (2005)Google Scholar
  45. 45.
    García-Domínguez, A., Kolovos, D.S., Rose, L.M., Paige, R.F., Medina-Bulo, I.: EUnit: A Unit Testing Framework for Model Management Tasks. In: Whittle, J., Clark, T., Kühne, T. (eds.) MoDELS 2011. LNCS, vol. 6981, pp. 395–409. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  46. 46.
    Mottu, J.M., Baudry, B., Traon, Y.L.: Model transformation testing: oracle issue. In: ICSTW 2008, pp. 105–112. IEEE (2008)Google Scholar
  47. 47.
    Ramos, R., Barais, O., Jézéquel, J.-M.: Matching Model-Snippets. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MoDELS 2007. LNCS, vol. 4735, pp. 121–135. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  48. 48.
    Balogh, A., Bergmann, G., Csertán, G., Gönczy, L., Horváth, Á., Majzik, I., Pataricza, A., Polgár, B., Ráth, I., Varró, D., Varró, G.: Workflow-Driven Tool Integration Using Model Transformations. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Nagl Festschrift. LNCS, vol. 5765, pp. 224–248. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  49. 49.
    Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. Autom. Softw. Eng. (accepted for publication) (2012)Google Scholar
  50. 50.
    Cariou, E., Belloir, N., Barbier, F., Djemam, N.: OCL contracts for the verification of model transformations. ECEASST 24 (2009)Google Scholar
  51. 51.
    Kolovos, D., Paige, R., Rose, L., Polack, F.: Unit testing model management operations. In: ICSTW 2008, pp. 97–104. IEEE (2008)Google Scholar
  52. 52.
    Giner, P., Pelechano, V.: Test-Driven Development of Model Transformations. In: Schürr, A., Selic, B. (eds.) MoDELS 2009. LNCS, vol. 5795, pp. 748–752. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  53. 53.
    Gogolla, M., Vallecillo, A.: Tractable Model Transformation Testing. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds.) ECMFA 2011. LNCS, vol. 6698, pp. 221–235. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  54. 54.
    Heim, M.: Exploring Indiana Highways: Trip Trivia. Exploring America’s Highway. Travel Organization Network (2007), http://en.wikipedia.org/wiki/Duck_test
  55. 55.
    Steel, J., Jézéquel, J.M.: On model typing. Software and Systems Modeling 6(4), 401–413 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Antonio Vallecillo
    • 1
  • Martin Gogolla
    • 2
  • Loli Burgueño
    • 1
  • Manuel Wimmer
    • 1
  • Lars Hamann
    • 2
  1. 1.GISUM/Atenea Research GroupUniversidad de MálagaSpain
  2. 2.Database Systems GroupUniversity of BremenGermany

Personalised recommendations