Chap04.3_软件体系结构描述_体系结构描述语言.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


构造能力: 使用较小的独立体系结构元素来建 造大型软件系统; 抽象能力: ADL使构件和连接件描述只关注它们 的抽象特性,而不管其具体的实现细节;
wangzhiming@tsinghua.org.cn
4
2018/9/14
§4.3.1 ADL与其他语言比较(续)




重用能力: 组成软件系统的构件、连接件甚至 体系结构都成为软件系统开发和设计的可重用部 件; 组合能力:其描述的每一系统元素都有其自己的 局部结构,支持软件系统的动态变化组合; 异构能力:允许多个不同的体系结构描述关联存 在; 分析和推理能力:对其描述的体系结构进行多种 不同的性能和功能上的多种推理分析。
第四章 软件体系结构描述

4.1 软件体系结构描述方法 4.2 软件体系结构描述框架标准 4.3 体系结构描述语言 4.4 典型体系结构描述语言 4.5 统一建模语言(UML) 4.6 可扩展标记语言XML 4.7 基于XML的软件体系结构描述
wangzhiming@tsinghua.org.cn



通过不同的端口类型,构件可以提供多重接口。
2018/9/14
wangzhiming@tsinghua.org.cn
10
§4.3.2 ADL的构成要素(续)

1、构件(续)

构件类型保证构件能够在体系结构描述中 多次实例化,每个实例对应于构件的不同 实现; 构件演化能力是系统演化的基础,ADL通 过构件的子类型及其特性的细化来支持演 化过程;目前只有少数ADL部分地支持演 化。
对系统中的有关状态和紧密 管理 相关操作进行规定与限制的 器 实体,如抽象数据类型和系 统服务器 控制和管理系统中有关事件 控制 发生的时间序列,如调度程 器 序和同步处理协调程序
系统中通过数据流进行交互的独立处理 数据 流程连接机制,根据得到的数据来进行 流 构件实体的交互控制,如Unix中的管道 机制
设计人员很难选择一种合适的ADL,若设计特定领 域的软件体系结构又需要从头开始描述。

2018/9/14
wangzhiming@tsinghua.org.cn
3
§4.3.1 ADL与其他语言比较

Mary Shaw和David Garlan:典型的ADL在充 分继承和吸收传统程序设计语言的精确性和 严格性特点的同时,还应有构造、抽象、重 用、组合、异构和分析推理等各种能力和特 性。
§4.3.2 ADL的构成要素(续)
2018/9/14
wangzhiming@tsinghua.org.cn
9
§4.3.2 ADL的构成要素(续)

1、构件

一个计算单元或数据存储,是计算与状态存在的 场所;小到只有一个过程,大到整个应用程序;
构件包含多种属性,如接口、类型、语义、约束、 演化和非功能属性等; 接口是构件与外部世界的一组交互点,接口说明 构件提供的那些服务;
2018/9/14
模块化级别的系统组成实体,可进 行抽象的特性化处理,并以多种方 式使用
对组成系统的有关抽象实体进行各 种连接的连接机制 系统中的构件和连接件进行连接组 合的特殊方式(体系结构风格) 决定有关模式能够作为子系统进行 构造大型软件系统和开发合法子系 统的有关条件 有关系统组织结构方面的语义关联 说明
2018/9/14
wangzhiming@tsinghua.org.cn
6
表4-1 程序设计语言与ADL典型元素含义比较
程序设计语言
程序 构件
操作 符 抽象 规则 限制 规则 规范 说明
软件体系结构
系统 构件
连接 件 组合 模式 限制 规则 规范 说明
组成程序的基本元素及其取值 范围
连接元素的功能符号 元素和操作符的命名表达规则 一组选择并决定具体使用何种 抽象规则来作用于有关基本元 素及其操作符的规则和原理 有关句法的语义关联说明
1
2018/9/14
§4.3 体系结构描述语言(ADL)



来自百度文库
ADL是一种形式化语言,在底层语义模型的支持下, 为软件系统的概念体系结构建模提供具体语法和概 念框架; 基于底层语义的工具为体系结构的表示、分析、演 化、细化、设计过程等提供支持; 三个基本元素:


构件:计算或数据存储单元; 连接件:用于构件之间交互建模的体系结构构造块及其支 配这些交互的规则; 体系结构配置:描述体系结构的构件与连接件的连接图。
由并发出现的事件来实现构件实体之间 隐含 交互的连接机制,构件实体之间不存在 触发 明显确定的交互规定,如时间调度协议 器 和自动垃圾回收处理 独立构件实体之间通过离散和非在线数 消息 据(同步或非同步)进行交互的连接机制, 传递 如TCP/IP
充当有关实体间信息转换角 数据 构件之间通过相同的数据空间进行并发 连接 色的实体,如通讯连接器和 共享 协调操作的机制,如黑板系统中的黑板 器 用户界面 协议 和多用户数据库系统中的共享数据区 wangzhiming@tsinghua.org.cn 2018/9/14 8
7
wangzhiming@tsinghua.org.cn
表2 常见的软件体系结构元素
系统构件元素 纯计 简单的输入/输出处理关联, 算单 一般不保留处理状态,如数 元 学函数、过滤器和转换器 连接件元素 过程 在构件实体之间实现单线程控制的连接 调用 机制,如普通过程调用和远程过程调用
数据 具有永久存储特性的结构化 存储 数据,如数据库、文件系统 单元 、符号表和超文本
2018/9/14
wangzhiming@tsinghua.org.cn
5
§4.3.1 ADL与其他语言比较(续)


ADL与需求语言的区别在于后者描述的是问 题空间,而前者则扎根于解空间中; ADL与建模语言的区别在于后者对整体行为 的关注要大于对部分的关注,而ADL集中在 构件的表示上; ADL与传统的程序设计语言的构成元素即有 许多相同和相似之处,又各自有着很大的不 同。
wangzhiming@tsinghua.org.cn
2
2018/9/14
§4.3 ADL(续)

主要的体系结构描述语言有Aesop、MetaH、C2、 Rapide、SADL、Unicon、Wright,等等; 不同ADL强调了体系结构不同的侧面;


每一种ADL都以独立的形式存在,描述语法不同且 互不兼容,同时又有许多共同的特征;
相关文档
最新文档