Affordable Access

Model-based specification of design patterns

Publication Date
  • Communication
  • Design
  • Engineering


model.PDF Model-based specification of design patterns SOOP-working group12 Department of Computing Science Eindhoven University of Technology Motivation A considerable interest in design patterns has sprouted in the last couple of years. This interest has been stimulated by the appearance of some excellent books on the subject. A notable example is the book by Gamma et al. [1]. At the time the first ideas of patterns in software engineering were developed, a couple of essential ingredients were available. First, the mechanisms of behavioral and structural abstraction as offered by object-oriented methods (i.e. encapsulation and inheritance). Second, the availability of a notation to communicate the patterns (i.e. OMT [2] as proper predecessor of UML [3]), and last but not least, relevant design-experience with object-oriented systems. The latter is important because patterns are supposed to capture experience on how to solve certain often-occurring problems in system design. Many of the patterns described by Gamma are intended for improving a design by changing class dependencies (possibly without affecting resulting object dependencies) such that groups of classes are de-coupled from others. For example, the observer pattern can be used to make problem specific classes (“concrete subject”) independent of the user interface (“concrete observer”) such that the changes in the user interface will not affect the implementation of a problem solution. It is interesting to observe that such patterns lean very heavily on inheritance and the related extended object substitutability. Although the book of Gamma is impressive in its clarity, it has the drawback that it describes the intended application of patterns informally and intuitively. The descriptions of how a pattern works are typically operational. Although they can be understood well by the human reader, such an informal approach hampers specification and implementation of a level of tool-support for design patterns that goes beyon

There are no comments yet on this publication. Be the first to share your thoughts.