Interface (Blankenhorn & Jeckle 2004). Works on
the visualization of design pattern in composition
have been conducted by (Dong, Yang & Zhang
2007). The authors use tagged pattern annotation as
a method of visualizing design patterns in UML
Class diagram and UML communication diagram.
Its approach is through specifying three stereotypes
extending metaclass of class, operation and attribute.
Current approach on pattern role is similar to the
approach on representing pattern role information
via profile. In contrast, the current method
introduced a single stereotype PatternRole to
represent the pattern information on both the lifeline
and message. Also the current work focused on the
UML sequence diagram and extends the UML
interaction fragment to enable defining and viewing
the role and variant of design pattern interaction
which was not addressed in (Dong, Yang & Zhang
2007). In specifying patterns in the interaction
diagram, works in (France et al. 2004) specify
design patterns via Interaction Pattern Specification.
The approach is through extending the metamodel
itself. The main aim is to specify design patterns and
did not focus on defining the variants in a design
pattern. Work in (Noble 1998) defines the variant of
design pattern as a refinement of another pattern,
and the current work views the variant as the
interaction alternatives. Variant of interaction in
design patterns is also viewed as at difference
abstraction level than the variability in software
product line (Pohl & Metzger 2006) as generic
design patterns spans across different domain and
application engineering. The extension introduced
for variant differs from alt in sequence diagram
where alt is more for control flow and the extension
for variant introduced provides referencing and
decomposition for fragments and lifelines.
5 CONCLUSIONS
This paper presented an approach to represent
pattern interaction role and variants of design pattern
via extension to UML sequence diagram. The
extensions are made to Interaction, InteractionUse,
Lifeline and Message metaclasses. Two ways of
fragment variant, HPFV and VPFV have been
introduced to characterise the growth direction of the
fragment variant and then applied to the observer
design pattern. Further work includes providing a
case study of defining variant for more design
patterns retrieved from a design pattern catalogue
tool. Also needed to be worked is the specification
of the constraints on Interaction and InteractionUse
with Object Constraint Language (OMG 2006)
where the tagged values need to be consistent. The
proposed method assists in the cataloguing the
variety of design patterns as well as retrieval of
behavioural information and its variant in a visual
design modeling tool. Furthermore, it provides
support for scenario views before adapting design
patterns for a design via transformation
automatically. A prototype is underway for a
graphical design pattern UML tool with the
proposed extension for cataloguing, retrieval and
adaptation of design patterns using Model
Development Tools, MDT (Eclipse 2010). Future
work includes empirical studies on the improvement
in design activities using the tool support with the
presence of the proposed extension and checking of
the semantics of design patterns during adaptation.
ACKNOWLEDGEMENTS
The authors would like to thank anonymous
reviewers for their insightful comments and partial
fund support from University of Malaya.
REFERENCES
Agerbo, E. & Cornils, A. 1998, 'How to preserve the
benefits of Design Patterns', ACM SIGPLAN Notices,
vol. 33, no. 10, pp. 134-43.
Blankenhorn, K. & Jeckle, M. 2004, 'A UML Profile for
GUI Layout', NODe 2004, vol. LCNS 3263, pp. 110-
21.
Budgen, D. 1999, 'Software Design Methods: Life Belt or
Leg Iron?', Software, IEEE, vol. 16, no. 5, pp. 133-5.
Software Design, Second edn, Pearson Education Limited,
Essex, England, 2003.
Dong, J., Yang, S. & Zhang, K. 2007, 'Visualizing Design
Patterns in Their Applications and Compositions',
IEEE Transactions on Software Engineering, vol. 33,
no. 7, pp. 433-53.
Eclipse 2010, Model Development Tools (MDT), <http://
www.eclipse.org/modeling/mdt/>.
Eugster, P. T., Felber, P. A., Guerraoui, R. & Kermarrec,
A-M. 2003, 'The Many Faces of Publish/Subscribe',
Computing Surveys (CSUR), vol. 35, no. 2.
France, R. B., Kim, D-K., Ghosh, S. & Song, E. 2004, 'A
UML-Based Pattern Specification Technique', IEEE
Transactions on Software Engineering, vol. 30, no. 3,
pp. 193-206.
Gamma, E., Helm, R., Johnson, R. & Vlissides, J. 1995,
Design Patterns: Elements of Reusable OO Software,
Addison-Wesley.
Grassi, V., Mirandola, R. & Sabetta, A. 2004, 'A UML
Profile to Model Mobile Systems', UML 2004.
ICSOFT 2010 - 5th International Conference on Software and Data Technologies
206