Skip to main content

Introspective Model-Driven Development

  • Conference paper
Software Architecture (EWSA 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4344))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Johnson, R.E., Foote, B.: Designing reusable classes. Journal of Object-oriented Programming 1(2), 22–35 (1988)

    Google Scholar 

  2. Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages? http://www.martinfowler.com/articles/languageWorkbench.html

  3. Völter, M., Stahl, T.: Model-Driven Software Development. John Wiley & Sons, Chichester (2006)

    Google Scholar 

  4. Chikofsky, E.J., Cross II, J.H.: Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software 7 (1990)

    Google Scholar 

  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. 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. Frankel, D.S.: Model Driven Architecture – Applying MDA to Enterprise Computing. Wiley Publishing, Inc., Chichester (2003)

    Google Scholar 

  8. Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories. Wiley Publishing, Inc., Chichester (2004)

    Google Scholar 

  9. Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modelling Framework. Addison-Wesley Professional, Reading (2003)

    Google Scholar 

  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. OMG – Object Management Group, Common Warehouse Metamodel (CWM), v1.1 – Glossary, http://www.omg.org/docs/formal/03-03-44.pdf

  12. Bloch, J.: JSR 175: A Metadata Facility for the Java Programming Language, http://www.jcp.org/en/jsr/detail?id=175

  13. Fowler, M.: Inversion of Control Containers and the Dependency Injection Pattern, http://www.martinfowler.com/articles/injection.html

  14. Büchner, T.: Introspektive modellgetriebene Softwareentwicklung. Technische Universität München, München, Dissertation (in Vorbereitung)

    Google Scholar 

  15. Pree, W.: Essential Framework Design Patterns. Object Magazine 7, 34–37 (1997)

    Google Scholar 

  16. Eclipse Foundation, Eclipse Java Development Tools (JDT) Subproject, http://www.eclipse.org/jdt/

  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. Pierson, H.: Code is Model, https://blogs.msdn.com/devhawk/archive/2005/-10/05/477529.aspx

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Büchner, T., Matthes, F. (2006). Introspective Model-Driven Development. In: Gruhn, V., Oquendo, F. (eds) Software Architecture. EWSA 2006. Lecture Notes in Computer Science, vol 4344. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11966104_4

Download citation

  • DOI: https://doi.org/10.1007/11966104_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69271-3

  • Online ISBN: 978-3-540-69272-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics