アーキテクチャ記述言語
ADLにおいては、ソフトウェアアーキテクチャとはコンポーネント群とそれらの関連を指すのが一般的である。しかし、アーキテクチャには以下のような見方もある。
「オブジェクト連携アーキテクチャ」は、オブジェクト指向システムのインタフェースと連携から構成される。インタフェースとは、モジュール群が提供する機能を意味し、連携とはインタフェース間の呼び出し関係を指す。そこにさらにプログラミング言語への適合などが付随する。
「インタフェース連携アーキテクチャ」は、インタフェースと連携の役割を拡張したものである。インタフェースとしてはコンポーネントが必要とする(他コンポーネントの)インタフェースとそのコンポーネントが(他コンポーネントに)提供するインターフェイスを記述する。連携はその両方のインタフェースの間で成立する関係である。そこにさらに各種制限が付与される。
多くのADLは後者(インタフェース連携アーキテクチャ)を実装している。