Reifying Design Patterns as Metalevel Constructs
Keywords:
Design patterns, metalevel architecture, metaobjects, computational reflectionAbstract
A design pattern describes a structure of communicating components that solves a commonly occurring design problem. Designing with patterns offers the possibility of raising the abstraction level at which design is performed, with improvements in clarity, understanding, and facility of maintenance of applications. However, in their most common presentation, design patterns are informal pieces of design process, which application is not reflected in the operational system, and the potential advantages of a more principled design are not realized. This work proposes to organize design in such a way that pattern applications remain explicit in the operational systems. A reflective architecture is proposed, where patterns are reified as metalevel constructs.
References
Beck K., and Johnson R. Patterns Generate Architectures. In Tokoro M., Pareschi R., editors. Proc. of the 8th European Conference on Object-Oriented Programming,, ECOOP '94. Bologna, Italy, July 1994, Lecture Notes in Computer Science 821, Springer-Verlag, Berlin Heidelberg New York, 1994.
Bosch J. Language Support for Design Patterns. In Proc. of Technology of Object-Oriented Languages and Systems, Tools Europe'96. pages 197-210. Paris, France. February 1996.
Budinsky F., Finnie M., Vlissides J., and Yu P. Automatic Code Generation from Design Patterns. http://www.almaden.ibm.com/journal/sj/budin/budinsky.html
Buschmann F., Meunier R., Rohnert H., Sommerlad P., and Stal Michael. Pattern-Oriented Software Architecture - A System of Patterns. John Wiley & Sons, 1996.
Campo M., Marcos C., and Ortigosa A. Framework Understanding and Design Patterns: A Reverse Engineering Approach. In Proc. of Ninth International Conference on Software Engineering and Knowledge Engineering, SEKE’97. Madrid, Spain. June 1997.
Coad P. Object Oriented Patterns. Communication of the ACM. September 1992. Vol. 35 No 9.
Cointe P. Metaclasses are First Class: the ObjVlisp Model. In N.K. Meyrowitz, editor. Proc. ofthe 2nd Conference on Object-Oriented Programming Systems Languages and Applications, OOPSLA’87. ACM SIGPLAN Notices 2212. Orlando, Florida. December 1987.
Coplien J. and Schmidt, editors. Patterns Languages ofProgram Design. Addison-Wesley, 1995.
Eden A., Gil J., and Yehudai A. Automating the Application of Design Patterns. pages 44-46. Report on Object Analysis and Design ROAD. May 1997.
Eden A., Gil J., and Yehudai A. Precise Specification and Automatic Application of Design Patterns. In Proc. ofAutomated Software Engineering, ASE'97.
Ferber J. Computational Reflection in Class Based Object Oriented Languages. In Meyrowitz N.K., editor. Proc. ofthe 4th Conference
on Object-Oriented Programming Systems, Languages and Applications, OOPSLA'89. ACM SIGPLAN Notices 2410. New Orleans, Louisiana. October 1989.
Gamma E., Helm R., Johnson R., and Vlissides J. Design Patterns. Elements ofReusable Object Oriented Software. Addison Wesley 1994.
Johnson R. Frameworks = Components + Patterns. Communication ofthe ACM. Volume 40, Number 10, pages 39-42. October 1997.
G. Kiczales, J. des Rivihres, D. Bobrow. The Art ofthe Metaobject Protocol. MIT Press, 1991
Lange D. and Yuichi N. Interactive Visualization of Design Patterns can Help in Framework Understanding. In Wirfs-Brock R. editor. Proc. of the 10th Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA’95. ACM SIGPLAN Notices 3010. Austin, Texas. October 1995.
Maes P. Issues in Computational Reflection. In Maes P. and Nardi D., editors. Metalevel Architecture and Reflection, pages 21-35. Amsterdam. Elsevier Science 1988.
Marcos C. Design Patterns as First-Class Entities. Technical Report TR-97/29, IAG-QANT, Université catholique de Louvain, Belgium, December 1997. Epreuve de confirmation de la these pour le Doctorat en Sciences Appliquées.
Pree W. Design Patternfor Object OrientedDevelopment. Addison Wesley 1994.
Riehle D. and Züllighoven H. Understanding and Using Patterns in Software Development. Theory and Practice of Object Systems 2, 1, 1996.
Rumbaugh J., Blaha M., Permerlani W., Eddy F., and Lorenson W. Object-Oriented Modelling and Design. Prentice-Hall. Englewood Cliffs, NJ 1991.
Tichy W. Essential Software Design Patterns. University of Karsruhe. http://wwwipd.ira.uka.de/~tichy/patterns/overview.html
Downloads
Published
Issue
Section
License
Copyright (c) 1999 Claudia Marcos, Marcelo Campo, Alain Pirotte

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Those authors who have publications with this journal, agree with the following terms:
a. Authors will retain its copyright and will ensure the rights of first publication of its work to the journal, which will be at the same time subject to the Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) allowing third parties to share the work as long as the author and the first publication on this journal is indicated.
b. Authors may elect other non-exclusive license agreements of the distribution of the published work (for example: locate it on an institutional telematics file or publish it on an monographic volume) as long as the first publication on this journal is indicated,
c. Authors are allowed and suggested to disseminate its work through the internet (for example: in institutional telematics files or in their website) before and during the submission process, which could produce interesting exchanges and increase the references of the published work. (see The effect of open Access)















