Practice: Real-Time Architectural Design
Main Description

From the standpoint of this practice, analysis focuses on the essential and functional properties of a system while design focuses on its optimization and deployment aspects. These design practices exist at three levels of concern. Architectural design optimizes the system at a gross, overall level. Collaborative (also known as "mechanistic") design optimizes collaborations within the architectural. Detailed design optimizes individual classes, objects, functions, data structures and types. At all levels, design proceeds primarily by identifying and ranking the optimization criteria of concern, identifying design patterns and technical solutions that are consistent with the weighted set of design criteria, applying the design patterns and technologies, and verifying the instantiated design solution.

The Real-Time Architectural Design (RTAD) practice specifies how architectural design can be achieved through the creation of (sub)models from different viewpoints. Five key viewpoints are identified, each of which has its own design patterns and technical solutions:

  • Subsystem and component view
  • Concurrency and resource view
  • Distribution view
  • Safety and reliability view
  • Deployment view

In addition, there are a number of secondary architectural viewpoints - such as security, error and exception handling policies, and dynamic quality of service management - that may be relevant to a particular system. It is important to note that within a given microcycle or iteration, not all architectural viewpoints must be addressed, even though they might be all addressed by the time the system development is complete.

Relationships