Framework-Specific Modeling Languages with Round-Trip Engineering

  • Michał Antkiewicz
  • Krzysztof Czarnecki
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)


We propose Framework-Specific Modeling Languages (FSMLs) as a special category of Domain-Specific Modeling Languages that are defined on top of an object-oriented application framework. They are used to express models showing how framework-provided abstractions are used in framework-based application code. Such models may be connected with the application code through a forward and a reverse mapping enabling round-trip engineering. We also propose a lightweight and iterative approach to round-trip engineering. Furthermore, we present a proof-of-concept FSML for modeling the interaction of workbench parts within Eclipse. Finally, we identify a number of challenges, opportunities, and directions for future research on FSMLs.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eclipse Foundation: Eclipse (2006),
  2. 2.
    Antkiewicz, M., Czarnecki, K.: Eclipse workbench part interaction FSML. Technical Report 2006-09, ECE, University of Waterloo (2006),
  3. 3.
    Czarnecki, K., Kim, C.H.P.: Cardinality-based feature modeling and constraints: a progress report. In: International Workshop on Software Factories (2005)Google Scholar
  4. 4.
    DSM Forum: Workshop on domain-specific modeling (2001-2006),
  5. 5.
    Zook, D., Huang, S.S., Smaragdakis, Y.: Generating AspectJ programs with Meta-AspectJ. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 1–18. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Tip, F., Fuhrer, R., Dolby, J., Kieżun, A.: Refactoring techniques for migrating applications to generic Java container classes. IBM Research Report RC 23238, IBM T.J. Watson Research Center (2004)Google Scholar
  7. 7.
    Roberts, D., Johnson, R.: Evolving frameworks: A pattern language for developing object-oriented frameworks. In: PLoP 1996, University of Illinois, Addison-Wesley, Reading (1996)Google Scholar
  8. 8.
    De Volder, K.: JQuery: A generic code browser with a declarative configuration language. In: Van Hentenryck, P. (ed.) PADL 2006. LNCS, vol. 3819, pp. 88–102. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Shi, N., Olsson, R.A.: Reverse engineering of design patterns from Java source code. In: ASE 2006 (2006)Google Scholar
  10. 10.
    Braga, R.T.V., Masiero, P.C.: Building a wizard for framework instantiation based on a pattern language. In: Konstantas, D., Léonard, M., Pigneur, Y., Patel, S. (eds.) OOIS 2003. LNCS, vol. 2817, pp. 95–106. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Hakala, M., Hautamäki, J., Koskimies, K., Paakki, J., Viljamaa, A., Viljamaa, J.: Generating application development environments for Java frameworks. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 163–176. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Ortigosa, A., Campo, M.: Smartbooks: A step beyond active-cookbooks to aid in framework instantiation. In: TOOLS 1999, p. 131. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  13. 13.
    Tourwé, T., Mens, T.: Automated support for framework-based software evolution. In: ICSM 2003, pp. 148–157. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  14. 14.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Transactions on Software Engineering (2004)Google Scholar
  15. 15.
    Hou, D., Hoover, H.J.: Using SCL to specify and check design intent in source code. IEEE Transactions on Software Engineering 32(6), 404–423 (2006)CrossRefGoogle Scholar
  16. 16.
    Sendall, S., Küster, J.: Taming model round-trip engineering. In: Workshop on Best Practices for Model-Driven Software Development (2004)Google Scholar
  17. 17.
    Verbaere, M., Ettinger, R., de Moor, O.: JunGL: a scripting language for refactoring. In: ICSE 2006 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michał Antkiewicz
    • 1
  • Krzysztof Czarnecki
    • 1
  1. 1.University of Waterloo 

Personalised recommendations