The use of pattern participants relationships for integrating patterns: a controlled experiment

  • Ahmad Waqas Kamal*
  • , Paris Avgeriou
  • , Uwe Zdun
  • *Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

1 Citation (Scopus)
449 Downloads (Pure)

Abstract

Architectural patterns are often applied in combination with related patterns within software architectures. The relationships among architectural patterns must be considered when applying a combination of patterns into a system; for example the way the Model-View-Controller uses the Observer pattern to implement the change propagation mechanism needs to be carefully designed. However, effective integration of architectural patterns within software architectures remains a challenging task. This is because the integration of any two architectural patterns can take several forms. Furthermore, existing pattern languages define generic and abstract relationships between architectural patterns without going into detail about associations among the participants of architectural patterns. In this paper, we propose to address the pattern integration issue by discovering and defining a set of pattern participants relationships that serve the purpose of effectively integrating architectural patterns. Our findings are validated through a controlled experiment, which provides significant evidence that the proposed relationships support inexperienced designers in integrating patterns. Copyright (c) 2011 John Wiley & Sons, Ltd.

Original languageEnglish
Pages (from-to)807-833
Number of pages27
JournalSoftware-Practice & experience
Volume43
Issue number7
DOIs
Publication statusPublished - Jul-2013

Keywords

  • architectural patterns
  • pattern languages
  • pattern relationships
  • modeling
  • SOFTWARE
  • DESIGN
  • LANGUAGE

Fingerprint

Dive into the research topics of 'The use of pattern participants relationships for integrating patterns: a controlled experiment'. Together they form a unique fingerprint.

Cite this