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的不同能力:
ADL积极因素
ADL消极因素
架构的共同概念
ADL团体普遍认为,软件体系结构是一套组件以及它们之间的连接。但也有如下不同类型的架构:
对象连接架构
o 分解- 接口关联到唯一的模块o 接口一致性-句法规则的静态检查o 通信完整性-模块之间可见性
接口连接架构
o 接口指定“需要”和“提供”特性o 连接被定义在“需要”和“提供”特性之间
o 约束架构中接口和连接的严格行为o 架构中的约束映射为系统需求
大多数ADL实现了接口连接架构。
架构和设计区别是什么?架构铸造非功能性决策和划分功能需求,而设计是贯穿功能需求完成过程的原则。架构探索意味着,有必要更深一层验证选择,因此,架构必须做高层次的设计,以验证划分。
下面的列表给出了目前为止最好的ADL候选