Architecture Description Language - Characteristics

Characteristics

There is a large variety in ADLs developed by either academic or industrial groups. Many languages were not intended to be an ADL, but they turn out to be suitable for representing and analyzing an architecture. In principle ADLs differ from requirements languages, because ADLs are rooted in the solution space, whereas requirements describe problem spaces. They differ from programming languages, because ADLs do not bind architectural abstractions to specific point solutions. Modeling languages represent behaviors, where ADLs focus on representation of components. However, there are domain specific modeling languages (DSMLs) that focus on representation of components.

Minimal requirements

The language must:

  • Be suitable for communicating an architecture to all interested parties
  • Support the tasks of architecture creation, refinement and validation
  • Provide a basis for further implementation, so it must be able to add information to the ADL specification to enable the final system specification to be derived from the ADL
  • Provide the ability to represent most of the common architectural styles
  • Support analytical capabilities or provide quick generating prototype implementations

ADLs have in common:

  • Graphical syntax with often a textual form and a formally defined syntax and semantics
  • Features for modeling distributed systems
  • Little support for capturing design information, except through general purpose annotation mechanisms
  • Ability to represent hierarchical levels of detail including the creation of substructures by instantiating templates

ADLs differ in their ability to:

  • Handle real-time constructs, such as deadlines and task priorities, at the architectural level
  • Support the specification of different architectural styles. Few handle object oriented class inheritance or dynamic architectures
  • Support the analysis of the architecture
  • Handle different instantiations of the same architecture, in relation to product line architectures

Read more about this topic:  Architecture Description Language