Skip to Main Content
Design patterns provide a way to transfer design knowledge and reusable solutions to recurring problems. The patterns include structural and interaction information that, if captured in a catalog, can act as a useful reference guide for developers when making design decisions. However, for the same design pattern structure, there can be different ways for interactions to occur. We call these interaction variants, and they haven't yet been defined explicitly in existing work. This article introduces an approach to define the interaction variants that exist in design patterns as extensions to UML sequence diagrams. The authors have applied the approach on several commonly used patterns. The approach has proved useful for paving the way toward support for cataloging design pattern interactions and interaction variants in a visual modeling tool to be used during software design.