Architecture description language

Examples include ArchiMate (now a standard of The Open Group), DEMO, ABACUS (developed by the University of Technology, Sydney).

A standard notation (ADL) for representing architectures helps promote mutual communication, the embodiment of early design decisions, and the creation of a transferable abstraction of a system.

Architectures in the past were largely represented by box-and-line drawing annotated with such things as the nature of the component, properties, semantics of connections, and overall system behavior.

ADLs result from a linguistic approach to the formal representation of architectures, and as such they address its shortcomings.

Also important, sophisticated ADLs allow for early analysis and feasibility testing of architectural design decisions.

Some reasons for this lack of industry adoption have been analyzed by Woods and Hilliard,[12] Pandey,[13] Clements,[14] and others: formal ADLs have been rarely integrated in the software life-cycle, they are seldom supported by mature tools, scarcely documented, focusing on very specific needs, and leaving no space for extensions enabling the addition of new features.

Many proposals have been presented to use or extend the UML to more properly model software architectures.

[15][16] A 2013 study[17] found that practitioners were generally satisfied with the design capabilities of the ADLS they used, but had several major concerns with them: they lacked analysis features and the ability to define extra-functional properties; those used in practice mostly originated from industrial development rather than academic research; they needed more formality and better usability.

They differ from programming languages, because ADLs do not bind architectural abstractions to specific point solutions.

Oftentimes, a portion of architecture is done during the conceptualization of an application, system, or network and may appear in the non-functional sections of requirement documentation.

(Architecture generally precedes design, although overlap and circular iteration is a common reality.)