A Classification and Comparison Framework for Software Architecture Description Languages

TitleA Classification and Comparison Framework for Software Architecture Description Languages
Publication TypeJournal Article
Year of Publication2000
AuthorsMedvidović, N., and R. N. Taylor
JournalIEEE Transactions on Software EngineeringIEEE Transactions on Software Engineering
Date PublishedJanuary
Keywordsarchitecture description languages, classification, software architecture

Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) have been proposed as modeling notations to support architecture-based development. There is, however, little consensus in the research community on what is an ADL, what aspects of an architecture should be modeled in an ADL, and which of several possible ADLs is best suited for a particular problem. Furthermore, the distinction is rarely made between ADLs on one hand and formal specification, module interconnection, simulation, and programming languages on the other. This paper attempts to provide an answer to these questions. It motivates and presents a definition and a classification framework for ADLs. The utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations. The framework is used to classify and compare several existing ADLs, enabling us, in the process, to identify key properties of ADLs. The comparison highlights areas where existing ADLs provide extensive support and those in which they are deficient, suggesting a research agenda for the future.

Reprint EditionRational Developer Network: Seminal Papers on Software Architecture. Rational Software Corporation, <http://www.rational.net/>, 2001.