A catalog of architectural primitives for modeling architectural patterns

Uwe Zdun*, Paris Avgeriou

*Corresponding author for this work

    Research output: Contribution to journalArticleAcademicpeer-review

    27 Citations (Scopus)
    332 Downloads (Pure)


    Architectural patterns are a fundamental aspect of the architecting process and subsequently the architectural documentation. Unfortunately, there is only poor support for modeling architectural patterns for two reasons. First, patterns describe recurring design solutions and hence do not directly match the elements in modeling languages. Second, they support an inherent variability in the solution space that is hard to model using a single modeling solution. This paper proposes to address this problem by finding and representing architectural primitives: fundamental, formalized modeling elements in representing patterns. In particular, we examined architectural patterns from the components and connectors architectural view, and we discovered recurring primitive abstractions among the patterns, that also demonstrate a degree of variability for each pattern. We used UML 2 as the language for representing these primitive abstractions as extensions of the standard UML elements. The contribution of this approach is that we provide a generic and extensible concept for modeling architectural patterns by means of architectural primitives. Also, we can demonstrate a first set of primitives that participate in several well-known architectural patterns. (C) 2007 Elsevier B.V. All rights reserved.

    Original languageEnglish
    Pages (from-to)1003-1034
    Number of pages32
    JournalInformation and Software Technology
    Issue number9-10
    Publication statusPublished - Aug-2008


    • software architecture
    • software patterns
    • pattern primitives
    • modeling
    • UML
    • UML

    Cite this