Advertisement

Introspective Model-Driven Development

  • Thomas Büchner
  • Florian Matthes
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4344)

Abstract

In this paper, we propose a new approach to model-driven development, which we call introspective model-driven development (IMDD). This approach relies heavily on some well-understood underlying abstractions, in order to bridge the abstraction gap between the requirements and the actual executable system. These abstractions are object-oriented programming languages and frameworks as a means of architectural abstraction. The main idea of IMDD is to annotate the extension points of a framework explicitly, which enables the automatic introspection of the defined metamodel. In a second step, a model of the customizations can be obtained by model introspection. There are two kinds of introspective frameworks – introspective blackbox and introspective whitebox frameworks. We developed an extension of the Eclipse IDE, which supports introspective model-driven development. Furthermore, we discuss the characteristics of the proposed approach, compared to established generative approaches.

Keywords

Business Logic Base Language Eclipse Modelling Framework Extension Point Framework Core 
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.
    Johnson, R.E., Foote, B.: Designing reusable classes. Journal of Object-oriented Programming 1(2), 22–35 (1988)Google Scholar
  2. 2.
    Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages? http://www.martinfowler.com/articles/languageWorkbench.html
  3. 3.
    Völter, M., Stahl, T.: Model-Driven Software Development. John Wiley & Sons, Chichester (2006)Google Scholar
  4. 4.
    Chikofsky, E.J., Cross II, J.H.: Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software 7 (1990)Google Scholar
  5. 5.
    Sendall, S., Küster, J.: Taming Model Round-Trip Engineering. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development (part of 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications), Vancouver, Canada (2004)Google Scholar
  6. 6.
    Charters, S.M., Thomas, N., Munro, M.: The end of the line for Software Visualization? In: VISSOFT 2003: 2nd Annual ”DESIGNFEST” on Visualizing Software for Understanding and Analysis, Amsterdam (September 2003)Google Scholar
  7. 7.
    Frankel, D.S.: Model Driven Architecture – Applying MDA to Enterprise Computing. Wiley Publishing, Inc., Chichester (2003)Google Scholar
  8. 8.
    Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories. Wiley Publishing, Inc., Chichester (2004)Google Scholar
  9. 9.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modelling Framework. Addison-Wesley Professional, Reading (2003)Google Scholar
  10. 10.
    OMG – Object Management Group, Meta Object Facility (MOF) 2.0 Core Specification, http://www.omg.org/cgi-bin/apps/doc?ptc/04-10-15.pdf
  11. 11.
    OMG – Object Management Group, Common Warehouse Metamodel (CWM), v1.1 – Glossary, http://www.omg.org/docs/formal/03-03-44.pdf
  12. 12.
    Bloch, J.: JSR 175: A Metadata Facility for the Java Programming Language, http://www.jcp.org/en/jsr/detail?id=175
  13. 13.
    Fowler, M.: Inversion of Control Containers and the Dependency Injection Pattern, http://www.martinfowler.com/articles/injection.html
  14. 14.
    Büchner, T.: Introspektive modellgetriebene Softwareentwicklung. Technische Universität München, München, Dissertation (in Vorbereitung)Google Scholar
  15. 15.
    Pree, W.: Essential Framework Design Patterns. Object Magazine 7, 34–37 (1997)Google Scholar
  16. 16.
    Eclipse Foundation, Eclipse Java Development Tools (JDT) Subproject, http://www.eclipse.org/jdt/
  17. 17.
    Käck, S.: Introspektive Techniken zur Sicherung der Konsistenz zwischen Webpräsentationsvorlagen und Anwendungsdiensten. Diplomarbeit, Technische Universität München (2005)Google Scholar
  18. 18.
  19. 19.
    Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Reading (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Thomas Büchner
    • 1
  • Florian Matthes
    • 1
  1. 1.Chair of Software Engineering for Business Information SystemsTechnische Universität MünchenGarching b. München

Personalised recommendations