27th Annual International Computer Software and Applications Conference
A Role-Based Metamodeling Approach to Specifying Design Patterns
Dallas, Texas
November 03-November 06
ISBN: 0-7695-2020-0
Design patterns describe solutions to recurring design problems in the development of software designs. To encourage the use of design patterns, we are investigating tool support for incorporating patterns into UML models. The development of such tools requires patterns to be specified at the metamodel level. Patterns may be specified using roles, where a role is played by model elements. However, the notion of role in the object-oriented community is strictly based on objects, and does not allow the use of the word "role" in any other place where the context is not object-based. In this paper, we propose a notion of role that can be used to specify design patterns at the metamodel level. We survey the characteristics of object-based roles and generalize them. Based on the generalized notion of a role we define a new notion of a model role which is played by a model element. We illustrate the use of model roles with a specification of a variant of the Observer design pattern.
Index Terms:
Design models, Design patterns, Objects, Roles, Unified Modeling Language
Citation:
Dae-Kyoo Kim, Robert France, Sudipto Ghosh, Eunjee Song, "A Role-Based Metamodeling Approach to Specifying Design Patterns," compsac, pp.452, 27th Annual International Computer Software and Applications Conference, 2003