The document introduces Architecture Description Languages (ADLs), explaining their purpose in formally specifying software architecture structure and behavior. It discusses the differences between types of specifications, such as structural and behavioral, and highlights the need for formal methods in ensuring systems meet required properties. Furthermore, it explores the prevalence of various ADLs in the industry, noting their diverse applications and the challenges in adopting a universal ADL.