Electronic Journal of SADIO


vol. 2, no. 1, pp. 17-29 (1999)

Reifying Design Patterns as Metalevel Constructs


Claudia Marcos1,2

Marcelo Campo1

Alain Pirotte2

1Univ. Nacional del Centro Prov. Bs. As. - Fac. Ciencias Exactas, ISISTAN - Grupo de Objetos y Visualización, San Martín 57, (7000) Tandil, Bs. As., Argentina
2Université catholique de Louvain - UCL IAG - Institute d’Administration et Gestion, 1 Place Doyens, (1348) Louvain-la-Neuve, Belgium

E-Mail: {cmarcos, mcampo}@exa.unicen.edu.ar, pirotte@info.ucl.ac.be



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.

Keyword: design patterns - metalevel architecture - metaobjects -computational reflection