Advertisement

Model Transformation By-Example: A Survey of the First Wave

  • Gerti Kappel
  • Philip Langer
  • Werner Retschitzegger
  • Wieland Schwinger
  • Manuel Wimmer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7260)

Abstract

Model-Driven Engineering (MDE) places models as first-class artifacts throughout the software lifecycle. In this context, model transformations are crucial for the success of MDE, being comparable in role and importance to compilers for high-level programming languages. Thus, several model transformation approaches have been developed in the last decade, whereby originally most of them are based on the abstract syntax of modeling languages. However, this implementation specific focus makes it difficult for modelers to develop model transformations, because they are familiar with the concrete syntax but not with its computer internal representation.

To tackle this problem, model transformation by-example approaches have been proposed which follow the same fundamental idea as query by-example and programming by-example approaches. Instead of using the computer internal representation of models, examples represented in concrete syntax are used to define transformations. Because different transformation scenarios occur in MDE, different by-example approaches have been developed. This chapter gives an overview on the emerging concepts, techniques, and approaches in this young by-example area.

Keywords

model transformation by-example model-driven engineering 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amelunxen, C., Königs, A., Rötschke, T., Schürr, A.: MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 361–375. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Atkinson, C., Kühne, T.: Model-Driven Development: A Metamodeling Foundation. IEEE Software 20(5), 36–41 (2003)CrossRefGoogle Scholar
  3. 3.
    Baar, T., Whittle, J.: On the Usage of Concrete Syntax in Model Transformation Rules. In: Virbitskaite, I., Voronkov, A. (eds.) PSI 2006. LNCS, vol. 4378, pp. 84–97. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Balogh, Z., Varró, D.: Model transformation by example using inductive logic programming. Software and System Modeling 8(3), 347–364 (2009)CrossRefGoogle Scholar
  5. 5.
    Beck, K.: Test Driven Development: By Example. Addison-Wesley (2002)Google Scholar
  6. 6.
    Bernstein, P.A., Melnik, S.: Model management 2.0: manipulating richer mappings. In: Int. Conf. on Management of Data (SIGMOD 2007), pp. 1–12. ACM (2007)Google Scholar
  7. 7.
    Bézivin, J.: On the unification power of models. Software and System Modeling 4(2), 171–188 (2005)CrossRefGoogle Scholar
  8. 8.
    Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 271–285. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Brosch, P., Langer, P., Seidl, M., Wimmer, M.: Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder. In: Proc. of CVSM 2009 @ ICSE 2009. IEEE (2009)Google Scholar
  10. 10.
    Cabot, J.: From Declarative to Imperative UML/OCL Operation Specifications. In: Parent, C., Schewe, K.-D., Storey, V.C., Thalheim, B. (eds.) ER 2007. LNCS, vol. 4801, pp. 198–213. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Chen, P.P.S.: The Entity-Relationship Model—Toward a Unified View of Data. ACM Transactions on Database Systems 1, 9–36 (1976)CrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  14. 14.
    Dolques, X., Huchard, M., Nebut, C.: From transformation traces to transformation rules: Assisting Model Driven Engineering approach with Formal Concept Analysis. In: 17th Int. Conf. on Conceptual Structures (ICCS 2009), vol. 483, pp. 15–29. CEUR-WS (2009)Google Scholar
  15. 15.
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)zbMATHGoogle Scholar
  16. 16.
    France, R., Rumpe, B.: Model-driven Development of Complex Software: A Research Roadmap. In: 29th Int. Conf. on Software Engineering (ICSE 2007) - Future of Software Engineering, pp. 37–54 (2007)Google Scholar
  17. 17.
    García-Magariño, I., Gómez-Sanz, J.J., Fuentes-Fernández, R.: Model Transformation By-Example: An Algorithm for Generating Many-to-Many Transformation Rules in Several Model Transformation Languages. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 52–66. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    ISO/IEC: 14977:1996(E) Information technology – Syntactic metalanguage – Extended BNF, International standard (1996)Google Scholar
  19. 19.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program 72(1-2), 31–39 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  20. 20.
    Kappel, G., Kapsammer, E., Kargl, H., Kramler, G., Reiter, T., Retschitzegger, W., Schwinger, W., Wimmer, M.: Lifting Metamodels to Ontologies: A Step to the Semantic Integration of Modeling Languages. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 528–542. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Kappel, G., Kargl, H., Kramler, G., Schauerhuber, A., Seidl, M., Strommer, M., Wimmer, M.: Matching Metamodels with Semantic Systems - An Experience Report. In: Workshop Proceedings of Datenbanksysteme in Business, Technologie und Web, BTW 2007 (2007)Google Scholar
  22. 22.
    Kargl, H., Wimmer, M., Seidl, M., Kappel, G.: SmartMatcher: Improving Automatically Generated Transformations. Datenbank-Spektrum 29, 42–52 (2009)Google Scholar
  23. 23.
    Kessentini, M., Sahraoui, H.A., Boukadoum, M.: Model Transformation as an Optimization Problem. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 159–173. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  24. 24.
    Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels. Addison-Wesley (2008)Google Scholar
  25. 25.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The Epsilon Transformation Language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 46–60. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  26. 26.
    Kühne, T.: Matters of (Meta-)Modeling. Software and System Modeling 5(4), 369–385 (2006)CrossRefGoogle Scholar
  27. 27.
    Langer, P., Wimmer, M., Kappel, G.: Model-to-Model Transformations By Demonstration. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 153–167. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  28. 28.
    de Lara, J., Vangheluwe, H.: AToM3: A Tool for Multi-formalism and Meta-modelling. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 174–188. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  29. 29.
    Lieberman, H.: Your wish is my command: programming by example. Morgan Kaufmann Publishers Inc. (2001)Google Scholar
  30. 30.
    Ma, H., Shao, W.-Z., Zhang, L., Ma, Z.-Y., Jiang, Y.-B.: Applying OO Metrics to Assess UML Meta-models. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 12–26. Springer, Heidelberg (2004)Google Scholar
  31. 31.
    Mens, T., Gorp, P.V.: A Taxonomy of Model Transformation. Electr. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  32. 32.
    Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Int. Conf. on Software Engineering (ICSE 2000), pp. 742–745 (2000)Google Scholar
  33. 33.
    Object Management Group (OMG): Meta Object Facility, Version 2.0 (2006), http://www.omg.org/spec/MOF/2.0/PDF/
  34. 34.
    Object Management Group (OMG): Unified Modeling Language Superstructure Specification, Version 2.1.2 (2007), http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF
  35. 35.
    OMG, O.: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification (November 2005)Google Scholar
  36. 36.
    OMG, O.: OCL Specification Version 2.0 (June 2005), http://www.omg.org/docs/ptc/05-06-06.pdf
  37. 37.
    Rahm, E., Bernstein, P.A.: A survey of approaches to automatic schema matching. VLDB Journal 10(4), 334–350 (2001)CrossRefzbMATHGoogle Scholar
  38. 38.
    Schmidt, D.C.: Model-Driven Engineering. IEEE Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  39. 39.
    Sendall, S., Kozaczynski, W.: Model Transformation: The Heart and Soul of Model-Driven Software Development. IEEE Software 20, 42–45 (2003)CrossRefGoogle Scholar
  40. 40.
    Shvaiko, P., Euzenat, J.: A Survey of Schema-Based Matching Approaches. In: Spaccapietra, S. (ed.) Journal on Data Semantics IV. LNCS, vol. 3730, pp. 146–171. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  41. 41.
    Strommer, M., Wimmer, M.: A Framework for Model Transformation By-Example: Concepts and Tool Support. In: 46th Int. Conf. on Objects, Components, Models and Patterns (TOOLS 2008). LNBIP, vol. 11, pp. 372–391. Springer, Heidelberg (2008)Google Scholar
  42. 42.
    Sun, Y., Gray, J., White, J.: MT-Scribe: an end-user approach to automate software model evolution. In: 33rd Int. Conf. on Software Engineering (ICSE 2011), pp. 980–982. ACM (2011)Google Scholar
  43. 43.
    Sun, Y., White, J., Gray, J.: Model Transformation by Demonstration. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 712–726. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  44. 44.
    Taentzer, G.: AGG: A Graph Transformation Environment for Modeling and Validation of Software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  45. 45.
    Varró, D.: Model Transformation by Example. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 410–424. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  46. 46.
    Whittle, J., Moreira, A., Araújo, J., Jayaraman, P.K., Elkhodary, A.M., Rabbi, R.: An Expressive Aspect Composition Language for UML State Diagrams. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 514–528. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  47. 47.
    Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards Model Transformation Generation By-Example. In: 40th Hawaiian Int. Conf. on Systems Science (HICSS 2007). IEEE Computer Society (2007)Google Scholar
  48. 48.
    Zloof, M.M.: Query-by-Example: the Invocation and Definition of Tables and Forms. In: Int. Conf. on Very Large Data Bases (VLDB 1975), pp. 1–24. ACM (1975)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Gerti Kappel
    • 1
  • Philip Langer
    • 2
  • Werner Retschitzegger
    • 2
  • Wieland Schwinger
    • 2
  • Manuel Wimmer
    • 1
  1. 1.Vienna University of TechnologyAustria
  2. 2.Johannes Kepler University LinzAustria

Personalised recommendations