Abstract
In the Web age systems must be increasingly flexible, reconfigurable and adaptable in addition to being developed rapidly. As a consequence, designing systems to cater for change is becoming critical to their success. Allowing systems to be self-describing or description-driven is one way to enable this. To address the issue of evolvability in information systems, this paper proposes a pattern-based description-driven architecture. The proposed architecture embodies four pillars – firstly, the adoption of a multi-layered and reflective meta-level architecture, secondly, the identification of four modeling relationships that must be made explicit to be examined and modified dynamically, thirdly the identification of five patterns which have emerged from practice and have proved essential in providing reusable building blocks, and finally the encoding of the structural properties of these design patterns by means of one pattern, the Graph pattern. A practical example of this is cited to demonstrate the use of description-driven data objects in handling system evolution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kiczales, G. (ed.): Meta-object Protocols: Why We Want Them and What Else Can They Do?,Chapter in OO Programming: The CLOS Perspective, pp. 101–118. MIT Press, Cambridge (1993)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Yoder, J., Balaguer, F., Johnson, R.: Architecture and Design of Adaptive Object- Models. In: Proc of OOPSLA 2001, Intriguing Technology Talk, Florida (October 2001)
Estrella, F., et al.: Handling Evolving Data Through the Use of a Description Driven Systems Architecture. LNCS, vol. 1727, pp. 1–11. Springer, Heidelberg (1999)
Estrella, F., et al.: Meta-objects as the Basis for System Evolution. In: Wang, X.S., Yu, G., Lu, H. (eds.) WAIM 2001. LNCS, vol. 2118, p. 390. Springer, Heidelberg (2001)
Demers, F., Malenfant, J.: Reflection in Logic, Functional and Object-Oriented Programming: A Short Comparative Study. In: Proceedings of the International Joint Conferences on Artificial Intelligence (IJCAI), Workshop on Reflection and Meta-level Architectures and their Applications in AI, Montreal (August 1995)
Woolf, B., Johnson, R.: The Type Object Pattern in Pattern Languages of Program Design 3. Addison-Wesley, Reading (1997); Originally presented at the Third Conference on Pattern Languages of Programs (PLoP) (1996)
Estrella, F.: Objects, Patterns and Descriptions in Data Management, PhD Thesis, University of the West of England, Bristol, England (December 2000)
Blaha, M.: Aggregation of Parts of Parts of Parts. Journal of Object-Oriented Programming, JOOP (September 1993)
Blaha, M., Premerlani, W.: Object-Oriented Modeling and Design for Database Applications. Prentice Hall, Englewood Cliffs (1998)
Bushmann, F., et al.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)
The Object Management Group (OMG), http://www.omg.org
The Meta- Object Facility (MOF) Specification, http://www.dstc.edu.au/Products/CORBA/MOF/
OMG Publications. Model Driven Architectures - The Architecture of Choice for a Changing World. See http://www.omg.org/mda/index.htm
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Estrella, F., Kovacs, Z., Le Goff, JM., McClatchey, R., Toth, N. (2003). Reifying Design Patterns to Facilitate Systems Evolution. In: Olivé, A., Yoshikawa, M., Yu, E.S.K. (eds) Advanced Conceptual Modeling Techniques. ER 2002. Lecture Notes in Computer Science, vol 2784. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45275-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-45275-1_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20255-4
Online ISBN: 978-3-540-45275-1
eBook Packages: Springer Book Archive