複製鏈接
請複製以下鏈接發送給好友

架構描述語言

鎖定
ADL,架構描述語言(Architecture Description Language)。兩個重要的團體在使用架構描述語言術語。它們是:軟件工程團體企業建模和工程團體。
中文名
架構描述語言
外文名
Architecture Description Language
簡    寫
ADL
領    域
計算機

架構描述語言簡介

在軟件工程團體,架構描述語言(ADL)是一種計算機語言,用來描述軟件或系統架構。這意味着如果是技術性架構,該架構必須被清楚的傳達給軟件開發者。功能架構下,該軟件架構必須被清楚的傳達給利益相關者和企業工程師。一些軟件工程團體開發了若干ADL,如ACME(CMU開發),AADL(SAE標準化),C2(UCI開發),Darwin(英國倫敦帝國學院開發)和Wright(CMU開發) 。
企業建模和工程團體也開發了企業級的架構描述語言。例子包括ArchiMate(是The Open Group發佈的標準),DEMO等。這些語言並不需要參照軟件構件等。但他們大多數認為應用架構應該能清楚的傳達給軟件工程師。
如有標準標記(ADL)表現架構,下列方面將會更好:
  • 相互溝通
  • 體現早期設計決策
  • 系統抽象可轉換
過去的架構主要是通過畫方塊和線表述。圖中通常定義下列內容:
  • 構件的自然特性
  • 構件屬性
  • 語義連接
  • 整個系統行為
ADL起源於正式表現架構的語言學方法,因此也表明了其缺點。複雜的ADL允許架構設計決策的早期分析和可行性測試。 [1] 

架構描述語言特徵

有許多種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實現了接口連接架構。 [1] 

架構描述語言架構與設計

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

架構描述語言架構解決方案

  • 學院派解決方案
    • 專注於架構化模型的分析評估
    • 單獨模型
    • 嚴格的建模標記
    • 強大的分析技術
    • 深度優先廣度
    • 特殊用途的解決方案
  • 工業解決方案
    • 專注於廣泛的開發問題
    • 模型家族化
    • 實用性優先於嚴謹性
    • 架構作為開發的藍圖
    • 廣度優先深度
    • 通用解決方案 [2] 
參考資料
  • 1.    Allen, R.; Garlan, D. (1997). "A formal basis for architectural connection". ACM Transactions on Software Engineering and Methodology. 6 (3): 213.
  • 2.    Oquendo, Flavio (2004). "π-ADL". ACM SIGSOFT Software Engineering Notes. 29 (3): 1.