GECO: A Generator Composition Approach for Aspect-Oriented DSLs

  • Reiner JungEmail author
  • Robert Heinrich
  • Wilhelm Hasselbring
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9765)


Code and model generators that are employed in model-driven engineering usually face challenges caused by complexity and tight coupling of generator implementations, particularly when multiple metamodels are involved. As a consequence maintenance, evolution and reuse of generators is expensive and error-prone.

We address these challenges with a two fold approach for generator composition, called GECO, which subdivides generators in fragments and modules. (1) fragments are combined utilizing megamodel patterns. These patterns are based on the relationship between base and aspect metamodel, and define that each fragment relates only to one source and target metamodel. (2) fragments are modularized along transformation aspects, such as model navigation, and metamodel semantics.

We evaluate our approach with two case studies from different domains. The obtained generators are assessed with modularity and complexity metrics, covering architecture and method level. Our results show that the generator modularity is preserved during evolution utilizing GECO.


Target Model Programmable Logic Controller Aspect Model Trace Model Programmable Logic Controller 
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.



This work was supported by the DFG (German Research Foundation) under the priority program SPP 1593: Design For Future – Managed Software Evolution (grants HA 2038/4-1, RE 1674/7-1) and the Helmholtz Association of German Research Centers.


  1. 1.
    Allen, E.B.: Measuring graph abstractions of software: an information-theory approach. In: Symposium on Software Metrics, pp. 182–193. IEEE (2002)Google Scholar
  2. 2.
    Allen, E.B., Gottipati, S., Govindarajan, R.: Measuring size, complexity, and coupling of hypergraph abstractions of software: an information-theory approach. Softw. Qual. J. 15(2), 179–212 (2007)CrossRefGoogle Scholar
  3. 3.
    Atkinson, C., Stoll, D., Bostan, P.: Orthographic software modeling: a practical approach to view-based development. In: Maciaszek, L.A., González-Pérez, C., Jablonski, S. (eds.) ENASE 2008/2009. CCIS, vol. 69, pp. 206–219. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Aßmann, U.: Invasive Software Composition. Springer, Heidelberg (2003)CrossRefzbMATHGoogle Scholar
  5. 5.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009)CrossRefGoogle Scholar
  6. 6.
    Bennett, J., Cooper, K., Dai, L.: Aspect-oriented model-driven skeleton code generation: a graph-based transformation approach. Sci. Comput. Program. 75(8), 689–725 (2010)CrossRefzbMATHGoogle Scholar
  7. 7.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Limited, Birmingham (2013)Google Scholar
  8. 8.
    Etien, A., Muller, A., Legrand, T., Paige, R.: Localized model transformations for building large-scale transformations. J. Softw. Syst. Model. 14(3), 1189–1213 (2015)CrossRefGoogle Scholar
  9. 9.
    Fabro, M.D.D., Bézivin, J., Valduriez, P.: Weaving models with the Eclipse AMW plugin. In: Eclipse Modeling Symposium, Eclipse Summit Europe (2006)Google Scholar
  10. 10.
    Fabry, J., Dinkelaker, T., Noyé, J., Tanter, E.: A taxonomy of domain-specific aspect languages. ACM Comput. Surv. 47(3), 40:1–40:44 (2015)CrossRefGoogle Scholar
  11. 11.
    Favre, J.M.: Foundations of model (driven) (reverse) engineering - episode I: story of the fidus papyrus and the solarus. In: Post-Proceedings of Dagstuhl Seminar on Model Driven Reverse Engineering (2004)Google Scholar
  12. 12.
    Giacinto, D., Lehrig, S.: Towards integrating Java EE into ProtoCom. In: KPDAYS, pp. 69–78 (2013)Google Scholar
  13. 13.
    Goerigk, W., et al.: Entwurf einer domänenspezifischen Sprache für elektronische Stellwerke (in German). In: SE 2012, LNI, vol. 198, pp. 119–130. GI (2012)Google Scholar
  14. 14.
    Heinrich, R., Gärtner, S., Hesse, T.M., Ruhroth, T., Reussner, R., Schneider, K., Paech, B., Jürjens, J.: A platform for empirical research on information system evolution. In: International Conference SEKE (2015)Google Scholar
  15. 15.
    International Electrotechnical Commission: IEC EN 61131–3, 2.0 Edn. (2003)Google Scholar
  16. 16.
    ISO: International Standard ISO/IEC 9126. Information technology: software product evaluation: quality characteristics and guidelines for their use (1991)Google Scholar
  17. 17.
    Jouault, F.: Loosely coupled traceability for ATL. In: Proceedings of the European Conference on MDA: Workshop on Traceability, pp. 29–37 (2005)Google Scholar
  18. 18.
    Jung, R.: GECO: generator composition for aspect-oriented generators. In: Doctoral Symposium - MODELS 2014 (2014)Google Scholar
  19. 19.
    Jung, R.: Replication package for GECO: a generator composition approach for aspect-oriented DSLS (2016). doi: 10.5281/zenodo.46552
  20. 20.
    Jung, R.: Software package for the GECO replication package (2016). doi: 10.5281/zenodo.47129
  21. 21.
    Jung, R., Heinrich, R., Schmieders, E.: Model-driven instrumentation with Kieker and Palladio to forecast dynamic applications. In: KPDAYS, pp. 99–108 (2013)Google Scholar
  22. 22.
    Jung, R., Heinrich, R., Schmieders, E., Strittmatter, M., Hasselbring, W.: A method for aspect-oriented meta-model evolution. In: 2. VAO Workshop, pp. 19:19–19:22. ACM (2014)Google Scholar
  23. 23.
    Kienzle, J., Abed, W.A., Klein, J.: Aspect-oriented multi-view modeling. In: Proceedings of the 8th ACM International Conference on Aspect-oriented Software Development, pp. 87–98. ACM (2009)Google Scholar
  24. 24.
    Klein, J., Kienzle, J.: Reusable aspect models. In: 11th Workshop on Aspect-Oriented Modeling, MODELS 2007 (2007)Google Scholar
  25. 25.
    Kramer, M.E., Kienzle, J.: Mapping aspect-oriented models to aspect-oriented code. In: Dingel, J., Solberg, A. (eds.) MODELS 2010. LNCS, vol. 6627, pp. 125–139. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  26. 26.
    McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. SE 2(4), 308–320 (1976)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Mehmood, A., Jawawi, D.N.: Aspect-oriented model-driven code generation: a systematic mapping study. Inf. Softw. Technol. 55, 395–411 (2013)CrossRefGoogle Scholar
  28. 28.
    Mens, T., Gorp, P.V.: A taxonomy of model transformation. In: Proceedings of the International Workshop on Graph and Model Transformation, vol. 152, pp. 125–142. Elsevier (2006)Google Scholar
  29. 29.
    Morin, B., Klein, J., Barais, O., Jézéquel, J.M.: A generic weaver for supporting product lines. In: Proceedings of the 13th International Workshop on Early Aspects, EA 2008, pp. 11–18. ACM (2008)Google Scholar
  30. 30.
    OMG: Meta Object Facility (MOF) Core Specification (2006)Google Scholar
  31. 31.
    Rausch, A., Reussner, R., Mirandola, R., Plasil, F. (eds.): The Common Component Modeling Example. LNCS, vol. 5153. Springer, Heidelberg (2008)Google Scholar
  32. 32.
    Rentschler, A., Werle, D., Noorshams, Q., Happe, L., Reussner, R.: Designing information hiding modularity for model transformation languages. In: 13th International Conference on Modularity, pp. 217–228. ACM (2014)Google Scholar
  33. 33.
    Saada, H., Huchard, M., Nebut, C., Sahraoui, H.: Recovering model transformation traces using multi-objective optimization. In: Automated Software Engineering, pp. 688–693. IEEE (2013)Google Scholar
  34. 34.
    Shepperd, M.: A critique of cyclomatic complexity as a software metric. Softw. Eng. J. 3(2), 30–36 (1988)CrossRefGoogle Scholar
  35. 35.
    Stahl, T., Völter, M.: Model-Driven Software Development - Technology, Engineering Management. Wiley, Hoboken (2006)zbMATHGoogle Scholar
  36. 36.
    Vanhooff, B., Van Baelen, S., Hovsepyan, A., Joosen, W., Berbers, Y.: Towards a transformation chain modeling language. In: Vassiliadis, S., Wong, S., Hämäläinen, T.D. (eds.) SAMOS 2006. LNCS, vol. 4017, pp. 39–48. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  37. 37.
    Vanhooff, B., Baelen, S.V., Joosen, W., Berbers, E.: Traceability as input for model transformations. In: 3rd ECMDA Traceability Workshop, pp. 37–46. SINTEF (2007)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Reiner Jung
    • 1
    Email author
  • Robert Heinrich
    • 2
  • Wilhelm Hasselbring
    • 1
  1. 1.Kiel UniversityKielGermany
  2. 2.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations