Skip to main navigation Skip to search Skip to main content

Specifying dynamic software system architectures

Bran Selić

Research output: Contribution to journalArticleResearchpeer-review

Abstract

The inexorable penetration of software into practically every facet of modern society calls for sophisticated architectural styles, including ones that can support architectures with dynamically shifting structures, which are required to cope with the dynamics of their applications. With the advent of modern Internet-based systems operating in real time, these types of systems are becoming more widespread. Unfortunately, to date there has been insufficient theoretical work on suitable architectural design patterns for such systems. This work describes two such patterns: the dynamic part pattern and the dynamic role pattern, both of which have been proven in earlier-generation dynamic real-time systems. In addition to describing the form and semantics of these design patterns, this work proposes a notational form suitable for specifying them in component-and-connector-style architecture description languages in a clear and unambiguous manner. The practical application of the two patterns is illustrated using a running example.

Original languageEnglish
Pages (from-to)595-605
Number of pages11
JournalSoftware and Systems Modeling
Volume20
Issue number3
DOIs
Publication statusPublished - Jun 2021

Keywords

  • Architectural description languages
  • Architectural design patterns
  • Dynamic system structure

Cite this