架構描述語言

ADL,即架構描述語言(Architecture Description Language)。目前,兩個重要的團體在使用架構描述語言術語。它們是:軟體工程團體企業建模和工程團體。

簡介

在軟體工程團體,架構描述語言(ADL)是一種計算機語言,用來描述軟體或系統架構。這意味著如果是技術性架構,該架構必須被清楚的傳達給軟體開發者。功能架構下,該軟體架構必須被清楚的傳達給利益相關者和企業工程師。一些軟體工程團體開發了若干ADL,如ACME(CMU開發),AADL(SAE標準化),C2(UCI開發),Darwin(英國倫敦帝國學院開發)和Wright(CMU開發) 。

企業建模和工程團體也開發了企業級的架構描述語言。例子包括ArchiMate(現在是The Open Group發布的標準),DEMO等。這些語言並不需要參照軟體構件等。但他們大多數認為套用架構應該能清楚的傳達給軟體工程師。

如有標準標記(ADL)表現架構,下列方面將會更好:

•相互溝通

•體現早期設計決策

•系統抽象可轉換

過去的架構主要是通過畫方塊和線表述。圖中通常定義下列內容:

•構件的自然特性

•構件屬性

•語義連線

•整個系統行為

ADL起源於正式表現架構的語言學方法,因此也表明了其缺點。複雜的ADL允許架構設計決策的早期分析和可行性測試。

特徵

有許多種ADL,或由學術機構開發或由工業組織開發。有些語言不試圖成為一個ADL,但事實證明它們適合表現和分析架構。ADL原則上的不同之處:

•需求語言,因為ADL植根於解決方案,而需要說明問題。

•程式語言,因為ADL不能綁定架構抽象到具體解決方案

•建模語言,因為ADL往往側重於表現構件而不是整體行為。然而,有重點表現構件的特定域建模語言(DSML)。

下面列表是ADL語言最基本的要求。必須:

•適合架構表達給所有有關方面

•支持架構創建,完善和驗證任務

•提供一個進一步實現的基礎,因此它必須能夠給ADL規範添加信息,使最終的系統規範派生自ADL

•提供表現通用類型架構的能力

•支持分析能力或提供快速生成原型的實現

ADL的共同點:

•圖形語法,帶有通常是文字形式並正式定義的語法和語義

•分散式系統建模的特性

•不支持捕捉設計信息,除非使用通用注釋機制

•能夠表現細節層次,包括通過實例模板創建子結構

ADL的不同能力:

•在架構層次,處理實時構造,如期限和任務優先次序,

•支持不同風格架構的規範。很少處理面向對象類繼承或動態架構

•支持分析

•處理相同架構的不同實例,涉及產品線架構

ADL積極因素

•ADL代表表現架構的正式方式

•ADL,人和機器可讀

•支持在可能比原先較高的水平描述一個系統

•ADL支持架構分析-完整性,一致性,歧義,和性能

•ADL支持自動生成軟體系統

ADL消極因素

•沒有普遍一致的意見:ADL應表現什麼,特別是架構的行為

•目前使用的表現,分析困難且無商業工具支持

•大多數ADL傾向於垂直最佳化特定的分析

架構的共同概念

ADL團體普遍認為,軟體體系結構是一套組件以及它們之間的連線。但也有如下不同類型的架構:

對象連線架構

•配置包括接口和面向對象系統的連線的

•接口指定由模組必須提供的特性與接口一致

•接口所代表的連線與調用圖一起

•通常程式語言強制一致性

o 分解- 接口關聯到唯一的模組 o 接口一致性-句法規則的靜態檢查 o 通信完整性-模組之間可見性

接口連線架構

•擴展接口和連線的角色

o 接口指定“需要”和“提供”特性 o 連線被定義在“需要”和“提供”特性之間

•包括接口,連線和約束

o 約束架構中接口和連線的嚴格行為 o 架構中的約束映射為系統需求

大多數ADL實現了接口連線架構。

架構與設計

架構和設計區別是什麼?架構鑄造非功能性決策和劃分功能需求,而設計是貫穿功能需求完成過程的原則。架構探索意味著,有必要更深一層驗證選擇,因此,架構必須做高層次的設計,以驗證劃分。

架構解決方案

•學院派解決方案

•專注於架構化模型的分析評估

•單獨模型

•嚴格的建模標記

•強大的分析技術

•深度優先廣度

•特殊用途的解決方案

•工業解決方案

•專注於廣泛的開發問題

•模型家族化

•實用性優先於嚴謹性

•架構作為開發的藍圖

•廣度優先深度

•通用解決方案

相關詞條

熱門詞條

聯絡我們