Architecture Description Languages unterscheiden sich in ihren Schwerpunkten, Eigenschaften und Grundelementen. Eine allgemein anerkannte Standard-ADL gibt es nicht. Ein gemeinsames Verständnis über Ziele und Kernprobleme von ADLs ist ebenfalls nicht dokumentiert. Medvidovic und Taylor haben eine Kategorisierung für ADLs und eine Darstellung der Kernprobleme erarbeitet.
Architecture Description Languages haben eine Reihe von gemeinsamen Elementen zur Architekturbeschreibung:
Komponenten (Components): Eine Architektur besteht aus Komponenten. Komponenten können fachliche oder technische Bauelemente sein. Kundenverwaltung, Vertragsverwaltung oder Clients, Server und Datenbanken sind Beispiele. ADLs unterstützen die Spezifikation der funktionalen und nicht-funktionalen Eigenschaften von Komponenten. Die Eigenschaften und das Verhalten werden (syntaktisch und semantisch) über Schnittstellen spezifiziert.
Neben den exportierten Schnittstellen einer Komponente, werden auch die benötigten, importierten Schnittstellen beschrieben.
Verbinder (Connectors): Komponenten kommunizieren über Verbinder. Die Verbinder definieren die Interaktionen zwischen den Komponenten. Sie legen die Regeln für die Kommunikation fest. Einfache Unix-Pipes oder Broad-Casting-Mechanismen, aber auch Client-Server-Protokolle oder SQL-Kommunikation werden über Verbinder dargestellt.
Konfiguration (Configuration): Die Architektur wird über die Konfiguration beschrieben. Sie legt fest, wie die Komponenten über Verbinder zusammengebaut werden.
Mehrere ADLs modellieren die Konfiguration explizit in einer separaten Beschreibung (UniCon, Wright) und spezifizieren die Verbinder separat. Bei anderen ADLs sind die Verbinder Bestandteil der Konfiguration (Rapide).