Abstract Design patterns capture the distilled experience of expert designers. The compositions of design patterns may reuse design experience and solve a set of problems. Design patterns and their compositions are usually modeled using unified modeling language (UML). When a design pattern is applied or composed with other patterns, the pattern-related information may be lost because UML does not track this information. Thus, it is hard for a designer to identify a design pattern when it is applied or composed. The benefits of design patterns are compromised because the designers cannot communicate with each other in terms of the design patterns they use when the design patterns are applied or composed. In this paper, we present notations to explicitly represent the structural and behavioral aspects of each pattern in the applications and compositions of design patterns. The notations allow us to maintain pattern-related information in class and collaboration diagrams. Thus, a design pattern is identifiable and traceable from its application and composition with others in these diagrams. A case study is used to illustrate our approach.
[1]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[2]
John Vlissides.
Composite Design Patterns (They Aren't What You Think)
,
1998
.
[3]
Desmond D'Souza,et al.
First-Class Extensibility for UML-Profiles, Stereotypes, Patterns
,
1999,
UML.
[4]
Ivar Jacobson,et al.
The Unified Modeling Language User Guide
,
1998,
J. Database Manag..
[5]
Bernhard Rumpe,et al.
UML-F: A Modeling Language for Object-Oriented Frameworks
,
2000,
ECOOP.
[6]
O. Macedońska.
Notation
,
1966
.
[7]
Stuart Kent,et al.
Precise Visual Specification of Design Patterns
,
1998,
ECOOP.
[8]
Gustavo Rossi,et al.
Design reuse in hypermedia applications development
,
1997,
HYPERTEXT '97.
[9]
Paulo S. C. Alencar,et al.
Ensuring structure and behavior correctness in design composition
,
2000,
Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).