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
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 is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Johnson, R.E., Foote, B.: Designing reusable classes. Journal of Object-oriented Programming 1(2), 22–35 (1988)
Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages? http://www.martinfowler.com/articles/languageWorkbench.html
Völter, M., Stahl, T.: Model-Driven Software Development. John Wiley & Sons, Chichester (2006)
Chikofsky, E.J., Cross II, J.H.: Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software 7 (1990)
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)
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)
Frankel, D.S.: Model Driven Architecture – Applying MDA to Enterprise Computing. Wiley Publishing, Inc., Chichester (2003)
Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories. Wiley Publishing, Inc., Chichester (2004)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modelling Framework. Addison-Wesley Professional, Reading (2003)
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
OMG – Object Management Group, Common Warehouse Metamodel (CWM), v1.1 – Glossary, http://www.omg.org/docs/formal/03-03-44.pdf
Bloch, J.: JSR 175: A Metadata Facility for the Java Programming Language, http://www.jcp.org/en/jsr/detail?id=175
Fowler, M.: Inversion of Control Containers and the Dependency Injection Pattern, http://www.martinfowler.com/articles/injection.html
Büchner, T.: Introspektive modellgetriebene Softwareentwicklung. Technische Universität München, München, Dissertation (in Vorbereitung)
Pree, W.: Essential Framework Design Patterns. Object Magazine 7, 34–37 (1997)
Eclipse Foundation, Eclipse Java Development Tools (JDT) Subproject, http://www.eclipse.org/jdt/
Käck, S.: Introspektive Techniken zur Sicherung der Konsistenz zwischen Webpräsentationsvorlagen und Anwendungsdiensten. Diplomarbeit, Technische Universität München (2005)
Pierson, H.: Code is Model, https://blogs.msdn.com/devhawk/archive/2005/-10/05/477529.aspx
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Reading (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)