Making design patterns explicit in FACE

A framework adaptive composition environment
  • Theo Dirk Meijler
  • Serge Demeyer
  • Robert Engel
Regular Sessions Software Architecture
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1301)


Tools incorporating design patterns combine the advantage of having a high-abstraction level of describing a system and the possibility of coupling these abstractions to some underlying implementation. Still, all current tools are based on generating source code in which the design patterns become implicit. After that, further extension and adaptation of the software is needed but this can no longer be supported at the same level of abstraction. This paper presents FACE, an environment based on an explicit representation of design patterns, sustaining an incremental development style without abandoning the higher-level design pattern abstraction. A visual composition tool for FACE has been developed in the Self programming language.


Frameworks Design Patterns Software composition Visual Composition Reflection 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Don Batory and Sean O'Malley, “The Design and Implementation of Hierarchical Software Systems With Reusable Components,” ACM Transactions on Software Engineering and Methodology, October 1992.Google Scholar
  2. [2]
    Don Batory, Vivek Singhal, Jeff Thomas, Sankar Dasari, Bart Geraci and Marty Sirkin, “The GenVoca Model of Software-System Generators,” IEEE Software, Sept. 1994, pp. 89–94.Google Scholar
  3. [3]
    Serge Demeyer, Stéphane Ducasse, Robb Nebbe, Oscar Nierstrasz and Tamar Richner, “Using Restructuring Transformations to Reengineer Object-Oriented Systems,” Submitted to WCRE'97. Available from the SCG-website ( Scholar
  4. [4]
    Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns, Addison Wesley, Reading, MA, 1995.Google Scholar
  5. [5]
    Hermann Hueni, Ralph E. Johnson and Robert Engel, “A Framework for Network Protocol Software,” Proceedings OOPSLA'95, ACM SIGPLAN Notices, to appear.Google Scholar
  6. [6]
    Gregor Kiczales, Jim des Rivi6res and Daniel G. Bobrow, The Art of the Metaobject Protocol, ] MIT Press (Ed.), 1991.Google Scholar
  7. [7]
    Wolfgang Klas, E.J. Neuhold and Michael Schrefl, “Metaclasses in VODAK and their Application in Database Integration,” Arbeitpapiere der GMD, no. 462, 1990.Google Scholar
  8. [8]
    Christina V. Lopes, Karl J. Lieberherr, “AP/S++: Case-Study of a MOP for Purposes of Software Evolution,” Proceedings Reflection `96, to appear.Google Scholar
  9. [9]
    Karl J. Lieberherr, Ignacio Silva-Lepe, Cun Xiao, “Adaptive object-oriented programming using graph-based customization,” Commun of the ACM, Vol 37, no. 5, May 1993, pp 94–101.Google Scholar
  10. [10]
    Jeff Magee, Naranker Dulay and Jeffrey Kramer, “Structuring Parallel and Distributed Programs,” Proceedings of the International Workshop on Configurable Distributed Systems, London, March 1992.Google Scholar
  11. [11]
    Vicki de Mey, “Visual Composition of Software Applications,” in [14], pp. 275–303.Google Scholar
  12. [12]
    Microtool homepage: Scholar
  13. [13]
    David R. Musser and Atul Saini, STL Tutorial and Reference Guide, Addison-Wesley, 1996.Google Scholar
  14. [14]
    Oscar Nierstrasz and Dennis Tsichritzis (Ed.), Object-Oriented Software Composition, Prentice Hall, 1995.Google Scholar
  15. [15]
    Bernd-Uwe Pagel, Mario Winter, “Towards Pattern-Based Tools,” EuroPLoPPreliminary Conference Proceedings, July 1996Google Scholar
  16. [16]
    Ramana Rao, “Implementational Reflection in Silica,” Proceedings ECOOP '91, P. America (Ed.), LNCS 512, Springer-Verlag, Geneva, Switzerland, July 15–19, 1991, pp. 251–267.Google Scholar
  17. [17]
    Albert Schappert, Peter Sommerlad and Wolfgang Pree, “Automated Support for Software Development with Frameworks,” Proceedings SSR'95 ACM SIGSOFT Symposium on Software Reusability, 1995.Google Scholar
  18. [18]
    Randall B. Smith and David Ungar, “Programming as an Experience: The Inspiration for Self,” Proceedings ECOOP'95, W. Olthoff (Ed.), LNCS 952, Springer-Verlag, Aarhus, Denmark, August 1995, pp. 303–330.Google Scholar
  19. [19]
    Jiri Soukop, “Implementing Patterns,” Pattern Languages of Program Design, Addison Wesley 1995, Chapter 20.Google Scholar
  20. [20]
    Patrick Steyaert, K. De Hondt, S. Demeyer, N. Boyen and M. de Molder, “Reflective User Interface Builders,” Proceedings Meta'95, C. Zimmerman (Ed.), 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Theo Dirk Meijler
    • 1
    • 2
    • 3
  • Serge Demeyer
    • 1
    • 2
    • 3
  • Robert Engel
    • 1
    • 2
    • 3
  1. 1.Baan LabsGroot ZonneoordBG EdeThe Netherlands
  2. 2.Institut für Informatik (IAM)Universität BernBerneSwitzerland
  3. 3.Department of Computer ScienceWashington UniversitySt. LouisUSA

Personalised recommendations