Task: Apply Architectural Style
Use architectural styles or patterns to guide the creation of a flexible and capable multi-agent system architecture.
Disciplines: Development
Relationships
Parent Practices
RolesPrimary Performer: Additional Performers:
InputsMandatory:
    Optional:
    • None
    Outputs
      Main Description

      A system architecture constitutes a relatively small, intellectually manageable model of system structure, which describes how system components work together. Instead of creating new system architectures from scratch, a system engineer can use existing architectural patterns or reference architectures as a starting point.

      After an architectural style has been chosen, the system architecture has to be adapted accordingly and the use of the style has to be documented, e.g., in the Architectural Style Notebook

      Portions of this task are originally from S-Tropos, "Select a System Architectural Style" (originally an activity within "Architectural Design phase"), described in (Wautelet et al. 2005).

      Steps
      Define basic requirements on the architecture of the system
      The requirements documents usually do not explicitly mention requirements for the system architecture. It is advisable to determine the technical requirements such an architecture has to fulfill though, since they can guide the selection and adaptation process.
      Review existing architectural patterns and reference architectures

      It is advisable to research existing literature for established architectural solutions to the problems encountered in the system design.

      Pick architectural pattern that best corresponds to requirements and system domain

      If several patterns or reference architectures can be chosen from, select the ones which suit the existing domain models and the requirements most closely. An exact match is rarely possible.

      Incorporate the elements of the architectural pattern in the system architecture to match requirements

      Patterns and reference architectures only provide a starting point for own designs. Thus, the patterns have to be adapted to be compatible with the rest of the system design and with the requirements. Architectural patterns usually describe a number of structural elements. These have to be incorporated into the existing system architecture. Special care has to be taken w.r.t. the associations to other concepts and the interactions between the system components.

      Document the use of the architectural pattern
      Whenever an architectural pattern is applied to an architecture, the adaptations that have been made and the reasoning behind these adaptations should be documented. The Architectural Style Notebook is a good place to record these things.
      More Information