这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战
三 架构描述语言ADL
3.1 定义
ADL是一种形式化语言,在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体 语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。
3.2 ADL的基本构成要素
- 构件和构件接口:计算单元或数据存储单元,是计算与状态存储的场所。
- 连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则。
- 架构配置:描述架构的构件与连接件的连接图。
3.3 主要的架构描述语言
- Aesop:支持体系结构风格的应用。
- MetaH:为设计者提供了关于实时电子控制软件系统的设计指导。
- C2:支持基于消息传递风格的用户界面系统的描述。
- Rapide:支持体系结构设计的模拟并提供了分析模拟结果的工具。
- SADL:提供了关于体系结构加细的形式化基础。
- Unicon:支持异构的构件和连接类型并提供了关于体系结构的高层编译器。
- Wright:支持体系结构构件之间交互的说明和分析。
四 特定领域软件架构DSSA
4.1 定义
DSSA就是专用于--类特定类型的任务(领域)的、在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。
DSSA就是一个特定的问题领域中支持--组应用的领域模型、参考需求、参考架构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。
垂直域:在一个特定领域中的通用的软件架构,是一个完整的架构。
水平域:在多个不同的特定领域之间的相同的部分的小工具(如购物和教育都有收费系统,收费
系统即是水平域)。
4.2 DSSA的三个基本活动
领域分析:这个阶段的主要目标是获得领域模型(领域需求)。识别信息源,即整个领域工程过程中信息的来源,可能的信息源包括现存系统、技术文献、问题域和系统开发的专家、用户调查和市场分析、领域演化的历史记录等,在此基础上就可以分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。
领域设计:这个阶段的目标是获得DSSA。DSSA描述在领域模型中表示的需求的解决方案,它不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。建立了领域模型之后,就可以派生出满足这些被建模的领域需求DSSA。
领域实现:这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息。这些可重用信息可能是从现有系统中提取得到,也可能需要通过新的开发得到。
以上过程是一个反复的、逐渐求精的过程。在实施领域工程的每个阶段中,都可能返回到以前的步骤,对以前的步骤得到的结果进行修改和完善,再回到当前步骤,在新的基础上进行本阶段的活动。
4.3 参与DSSA的四种角色人员
领域专家:包括该领域中系统的有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。提供关于领域中系统的需求规约和实现的知识,帮助组织规范的、一致的领域字典,帮助选择样本系统作为领域工程的依据,复审领域模型、DSSA等领域工程产品,等等。
领域分析人员:由具有知识工程背景的有经验的系统分析员来担任。控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中。
领域设计人员:由有经验的软件设计人员来担任。根据领域模型和现有系统开发出DSSA,并对DSSA的准确性和--致性进行验证。
领域实现人员:由有经验的程序设计人员来担任。根据领域模型和DSSA,开发构件。
4.4 建立DSSA的过程
- 定义领域范围:领域中的应用要满足用户一系列的需求。
- 定义领域特定的元素:建立领域的字典,归纳领域中的术语,识别出领域中相同和不相同的元素。
- 定义领域特定的设计和实现需求的约束:识别领域中的所有约束,这些约束对领域的设计和实现会造成什么后果。
- 定义领域模型和架构:产生-般的架构,并描述其构件说明。产生、搜集可复用的产品单元:为DSSA增加复用构件,使可用于新的系统。
以上过程是并发的、递归的、反复的、螺旋型的。
4.5 三层次模型
-
领域开发环境:领域架构师决定核心架构,产出参考结构、参考需求、架构、领域模型、开发工具。
-
领域特定的应用开发环境:应用工程师根据具体环境来将核心架构实例化。
-
应用执行环境:操作员实现实例化后的架构。