體系結構描述語言(Architecture Description Language,ADL)是一種能夠建立軟體系統概念化體系結構的語言。ADL能夠刻畫體系結構的具體語法和概念框架。
基本介紹
- 中文名:體系結構描述語言
- 外文名:Architecture Description Language
- 縮寫:ADL
- 定義:建立系統概念化體系結構的語言
- 特點:構造、抽象、重用等
- 所屬學科:計算機科學
設計要求,特點,分類,常見種類,
設計要求
ADL部件和連線器要能夠描述接口(配合連線器)、類型、語義、約束、進化和非功能特徵。而在體系結構的配置方面,ADL需要能夠說明可理解性、異構性(heterogeneity)、組合性、約束、細化、可追蹤性、可伸縮性、進化、動態性和非功能特性。
特點
典型的ADL在充分繼承和吸收傳統程式設計語言的精確性和嚴格性特點的同時,還應該具有構造、抽象、重用、組合、異構和分析推理等各種能力和特性。其中:
(1)構造能力指的是ADL能夠使用較小的獨立體系結構元素來建造大型軟體系統。
(2)抽象能力指的是ADL使得軟體體系結構中的構件和連線件描述可以只關注它們的抽象特性,而不管其具體的實現細節。
(3)重用能力指的是ADL使得組成軟體系統的構件、連線件甚至是軟體體系結構都成為軟體系統開發和設計的可重用部件。
(4)組合能力指的是ADL使得其描述的每一系統元素都有其自己的局部結構,這種描述局部結構的特點使得ADL支持軟體系統的動態變化組合。
(5)異構能力指的ADL允許多個不同的體系結構描述關聯存在。
(6)分析和推理能力指的是ADI。允許對其描述的體系結構進行多種不同的性能和功能上的多種推理分析。
分類
一、通常,ADL按其描述屬性可分為如下三類。
①結構ADL,針對處理器及其互聯的硬體單元。
②行為ADL,主要關注處理器指令集語義功能。
③混合ADL,兼有上述兩者的屬性,提供它們之間的互動描述。
二、根據ADL與程式語言的關係,也可以進行如下分類。
①標準語言:其優點是可擴展已有的工具以適應新框架特性,並且易於掌握;缺點是,不能很好地支持建模語言結構,損失了語言描述效率。
②專用語言:與標準語言相反,它針對系統建模與設計,保證了語言與模型能夠很好地匹配;不足之處是,需要學習新的語法及其工具。
③前端語言:通過選擇與模型匹配的語言描述,它可以轉化為概念模型的標準語言,使用時要考慮轉換機制產生的中間製品。
常見種類
一些主流的ADL有如下三種。
1.UML/XMI
UML作為第三代建模語言,嚴格地定義了對象元模型的語義,並為對象結構、行為的捕獲和通信提供了符號表示。UML 2.0對嵌入式系統和SoC提供了良好地支持,在每一級設計者都可以使用行為和結構描述,填補了設計規約和物理實現間的間隙。
使用XML描述參數化的體系結構模型能夠很好地匹配目標系統,開發者可以針對自己的需求定製標記結構,得到便於理解的描述實例,讓設計具有擴展性。已有很多開源應用程式支持XML及schema,使UML/XML成為規範的設計文檔標準。
2.SystemC
SystemC設計語言(包括SpecC、ArchC、HardwareC此類描述語言)在學界和業界引起了極大的興趣。由OSCI組織支持的SystemC已成為實際的可執行系統設計標準,其中SystemCTLM(Transaction Level ModeIing)工作組已經制定了互聯抽象標準。SystemC的許多高級構架使其有可能成為名副其實的系統級描述語言。
3.xADL