Architecture Description Language
Software Architecture: ADL Perspective
• The ADL community generally agrees that Software Architecture is a set of components and the connections among them.
Why Architecture Description Languages?
Architectural descriptions were often informal and ad hoc. As a result:
Ø Architectural designs were not always properly understood as it was highly ambiguous.
Ø The constraints assumed (i.e. the architectural constraints) in the initial design were not enforced (sometimes) as the system evolves.
Ø Very few tools available to help the architectural designers.
To address these problems, ADLs were introduced.
What is ADL ???
Ø Architecture description languages (ADLs) are formal languages that can be used to represent the architecture of a software system.
Relation of ADL’s to other notations and Tools
Elements of ADL
– Primitive building blocks
– Mechanisms of combining components
– Rules for referring to the combination of components and connectors
Important Properties of ADL
• Composition – composition of independent components and connections
• Abstraction – need to describe design elements clearly and explicitly
• Reusability – ability to reuse components, connectors in different architectural descriptions
• Configuration – ability to understand and change the architectural structure
• Heterogeneity – ability to combine multiple, heterogeneous architectural descriptions
• Analysis - possible to perform rich and varied analysis of architectural description
• The positives
• ADLs represent a formal way of representing architecture
• ADLs are intended to be both human and machine readable
• ADLs support describing a system at a higher level than previously possible
• ADLs permit analysis of architectures – completeness, consistency, ambiguity, and performance
• ADLs can support automatic generation of software systems
• The negatives
• There is not universal agreement on what ADLs should represent, particularly as regards the behavior of the architecture
• Representations currently in use are relatively difficult to parse and are not supported by commercial tools
• Most ADL work today has been undertaken with academic rather than commercial goals in mind
• Most ADLs tend to be very vertically optimized toward a particular kind of analysis
Types Of ADLs