A Generic Meta-model-Based Approach for Specifying Framework Functionality and Usage

  • Fabian Christ
  • Jan-Christopher Bals
  • Gregor Engels
  • Christian Gerth
  • Markus Luckey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6141)


Enterprise software development is based on the usage of frameworks. However, well-established concepts to specify framework functionality and how to use it can hardly be found. As consequence, there are poor framework documentations. Various problems arise from this, e.g. a high effort for learning a framework and therefore the need of framework specialists. Existing framework description languages (FDL) focus on parts of the problem but do not cover all aspects of specifying framework functionality and usage. In this paper, we present a generic approach for specifying all aspects of framework functionality and usage. We collected requirements to identify relevant aspects and defined a generic meta-model for FDLs. The generic meta-model is the base for defining concrete FDLs while guaranteeing that all relevant framework aspects are covered. Particularly, due to its generic character, parts of the meta-model representing specific framework aspects can be instantiated by existing or newly defined languages.


Design Pattern Eclipse Modeling Framework Framework Functionality Architectural Overview Architectural View 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Assmann, M., Engels, G.: Service-Oriented Enterprise Architectures: Evolution of Concepts and Methods. In: Proc. of the 12th IEEE International Enterprise Distributed Object Computing Conference 2008 (EDOC’08), Munich, Germany, September 2008, pp. 37–43. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  2. 2.
    Sun Microsystems, Inc.: Java(TM) Platform, Enterprise Edition (Java EE) Specification, v5 (May 2006)Google Scholar
  3. 3.
    Bosch, J., Molin, P., Mattsson, M., Bengtsson, P.: Object-oriented framework-based software development: problems and experiences. ACM Comput. Surv. 32(1es) (2000)Google Scholar
  4. 4.
    Thomas, D.: The API Field of Dreams - Too Much Stuff! It’s Time to Reduce and Simplify APIs! Journal of Object Technology 5(6), 23–27 (2006)Google Scholar
  5. 5.
    Interactive Knowledge Stack (IKS): Homepage (December 2009),
  6. 6.
    Christ, F., Sauer, S.: Open source stacks. In: Asche, M., Bauhus, W., Seel, B.K. (eds.) Open Source: Kommerzialisierungsmöglichkeiten und Chancen für die Zusammenarbeit von Hochschulen und Unternehmen, pp. 133–154. Waxmann Verlag (2008)Google Scholar
  7. 7.
    Lajoie, R., Keller, R.K.: Design and Reuse in Object-Oriented Frameworks: Patterns, Contracts, and Motifs in Concert. In: Proceedings of the Colloquium on Object Orientation in Databases and Software Engineering (COODBSE’94), May 1995, pp. 295–312. World Scientific, Singapore (1995)Google Scholar
  8. 8.
    Fontoura, M., Pree, W., Rumpe, B.: UML-F: A Modeling Language for Object-Oriented Frameworks. In: Proceedings of the European Conference on Object-Oriented Programing (ECOOP 2000), Sophia Antipolis and Cannes, France (June 2000)Google Scholar
  9. 9.
    Froehlich, G., Hoover, H.J., Liu, L., Sorenson, P.: Hooking into object-oriented application frameworks. In: Proceedings of the 19th International Conference on Software Engineering (ICSE’97), pp. 491–501. ACM Press, New York (1997)CrossRefGoogle Scholar
  10. 10.
    Apache Axis2: Homepage (December 2009),
  11. 11.
    Fayad, M.E., Schmidt, D., Johnson, R. (eds.): Building application frameworks: object-oriented foundations of framework design. John Wiley and Sons, Chichester (1999)Google Scholar
  12. 12.
    OMG: Unified Modeling Language (OMG UML), Superstructure, V2.1.2 (November 2007)Google Scholar
  13. 13.
    Johnson, R.E., Foote, B.: Designing reusable classes. Journal of Object-Oriented Programming 1(2), 22–35 (1988)Google Scholar
  14. 14.
    Johnson, R.E.: Components, frameworks, patterns. In: ACM SIGSOFT Symposium on Software Reusability, pp. 10–17 (1997)Google Scholar
  15. 15.
    Meusel, M., Czarnecki, K., Köpf, W.: A model for structuring user documentation of object-oriented frameworks using patterns and hypertext. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 496–510. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  16. 16.
    Deutsch, L.P.: Design reuse and frameworks in the Smalltalk-80 system. Software reusability 2, 57–71 (1989); Published in Software Reusability: vol. 2, Applications and Experience Google Scholar
  17. 17.
    Fayad, M., Schmidt, D.C.: Object-oriented application frameworks. ACM Commun. 40(10), 32–38 (1997)CrossRefGoogle Scholar
  18. 18.
    Pree, W.: Design Patterns for Object Oriented Software Development. Addison-Wesley, Reading (1995); Erste Auflage 1994zbMATHGoogle Scholar
  19. 19.
    Linn, M.C., Clancy, M.J.: The case for case studies of programming problems. ACM Commun. 35(3), 121–132 (1992)CrossRefGoogle Scholar
  20. 20.
    Pree, W.: Hot-Spot-Driven Framework Development. In: Fayad, M., Schmidt, D., Johnson, R. (eds.) Building Application Frameworks: Object-Oriented Foundations of Framework Design. Wiley & Sons, New York City (2000)Google Scholar
  21. 21.
    Pree, W., Pomberger, G.: Framework component systems: Concepts, design heuristics, and perspectives. In: Bjorner, D., Broy, M., Pottosin, I.V. (eds.) PSI 1996. LNCS, vol. 1181, pp. 330–340. Springer, Heidelberg (1996)Google Scholar
  22. 22.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF - Eclipse Modeling Framework, 2nd edn. Addison Wesley, Reading (2009)Google Scholar
  23. 23.
    Gangopadhyay, D., Mitra, S.: Understanding frameworks by exploration of exemplars. In: Proceedings of the International Workshop on Computer-Aided Software Engineering (CASE’95), pp. 90–99 (1995)Google Scholar
  24. 24.
    Johnson, R.E.: Documenting frameworks using patterns. In: Conference on Object-oriented programming systems, languages, and applications (OOPSLA’92), pp. 63–76. ACM, New York (1992)CrossRefGoogle Scholar
  25. 25.
    Schappert, A., Sommerlad, P., Pree, W.: Automated support for software development with frameworks. In: Proceedings of the Symposium on Software reusability (SSR ’95), pp. 123–127. ACM Press, New York (1995)CrossRefGoogle Scholar
  26. 26.
    Ortigosa, A., Campo, M., Moriyn, R.: Enhancing framework usability through smart documentation. In: Proceedings of the Argentinian Symposium on Object Orientation, Buenos Aires, Argentina, pp. 103–117 (1999)Google Scholar
  27. 27.
    Ortigosa, A., Campo, M.: Smartbooks: A step beyond active-cookbooks to aid in framework instantiation. In: Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS’99), Washington, DC, USA, pp. 131–140. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  28. 28.
    Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)Google Scholar
  29. 29.
    Silva, A.R., Rosa, F.A., Goncalves, T.: Framework description using concern-specific design patterns composition. ACM Comput. Surv. 32(1es), 16 (2000)CrossRefGoogle Scholar
  30. 30.
    Richner, T.: Describing framework architectures: more than design patterns. In: Bosch, J., Bachatene, H., Hedin, G., Koskimies, K. (eds.) Proceedings of the European Conference on Object-Oriented Programming (ECOOP ’98) Workshop on Object-Oriented Software Architectures, University of Karlskrona (1998)Google Scholar
  31. 31.
    Fontoura, M., Pree, W., Rumpe, B.: The UML Profile for Framework Architectures. Addison-Wesley, Reading (2002)Google Scholar
  32. 32.
    Ben-Abdallah, H., Bouassida, N., Gargouri, F., Ben-Hamadou, A.: A UML based Framework Design Method. Journal of Object Technologie 3(8), 97–119 (2004)Google Scholar
  33. 33.
    Lopes, S., Silva, C., Tavares, A., Monteiro, J.: Describing Framework Static Structure: promoting interfaces with UML annotations. In: Reussner, R., Szyperski, C., Weck, W. (eds.) Advances in Component-Oriented Programming - Proceedings of the 11th International Workshop on Component Oriented Programming (WCOP’06), July 2006, pp. 54–61. Universität Karlsruhe - Fakultät für Informatik (2006) ISSN 1432 - 7864 Google Scholar
  34. 34.
    Bouassida, N., Ben-Abdallah, H., Gargouri, F., Hamadou, A.B.: Formalizing the framework design language F-UML. In: Proceedings of the First International Conference on Software Engineering and Formal Methods (SEFM’03), September 2003, pp. 164–172. IEEE, Los Alamitos (2003)CrossRefGoogle Scholar
  35. 35.
    Güldali, B., Mlynarski, M., Wübbeke, A., Engels, G.: Model-Based System Testing Using Visual Contracts. In: Proceedings of Euromicro SEAA Conference 2009, Special Session on Model Driven Engineering, pp. 121–124. IEEE Computer Society, Los Alamitos (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Fabian Christ
    • 1
    • 2
  • Jan-Christopher Bals
    • 2
  • Gregor Engels
    • 1
    • 2
  • Christian Gerth
    • 2
  • Markus Luckey
    • 2
  1. 1.s-lab - Software Quality Lab 
  2. 2.University of PaderbornPaderbornGermany

Personalised recommendations