A survey of Software Architecture Description Languages Pavan Kumar Potaraju Department of Computer Science University of Texas at Dallas Richardson, TX 75083 Abstract The architecture of a system is one of the most crucial issues in the development of the system. According to Shaw [Error! Reference source not found.], the software architecture of a system is an abstract representation of the system’s components, their interfaces, and constraints on the system. Shaw and Garlan present a model of architecture based on three abstractions: Components: They are independent units of computation. Connectors: They represent interactions among components. Configurations: They are instance of architectural description represented as a graph of connectors and components. Architecture description languages (ADLs) are formal languages that can be used to represent the architecture of a software system. Architecture description languages represent a language-based design methodology. ADLs differ from requirements languages, programming languages and modeling languages. It differs from requirements languages as it describes the solution spaces and the latter describes problem spaces. ADL differs from programming languages as the latter bind all architectural abstractions to specific point solutions where as it intentionally suppress or vary such bindings and it differs from modeling languages because the latter is more concerned with the behaviors of the whole rather than the parts where as it concentrates on the representation of components. The rest of this paper is organized as follows. Section 2 presents an overview of software architecture followed by a description of ADLs. Section3 describes the previous surveys conducted on ADLs. Section 4 describes a new framework for comparing the various existing ADLs. Finally, Section 5 presents the conclusions.