An Architectural Description Language (ADL) provides formal syntax and semantics for describing software architectures - components, connectors, and configurations. ADLs do NOT design programming languages (that's language design), do NOT code implementations (that's programming languages), and do NOT prescribe design methodology. They are modeling languages for architectural specification and analysis.