Architecture, also known as software architecture **, is an abstract description of the overall structure and components of software, used to guide the design of various aspects of large-scale software systems. Architecture Description Language (ADL) is used to describe the architecture of software. There are several architectural description languages such as Wright (developed by Carnegie Mellon University), Acme (developed by Carnegie Mellon University), C2 (developed by UCI), and Darwin (developed by Imperial College London). The basic composition of an ADL consists of components, connectors, and configurations.