您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Chap04.3-软件体系结构描述-体系结构描述语言.
2019/10/23wangzhiming@tsinghua.org.cn1第四章软件体系结构描述4.1软件体系结构描述方法4.2软件体系结构描述框架标准4.3体系结构描述语言4.4典型体系结构描述语言4.5统一建模语言(UML)4.6可扩展标记语言XML4.7基于XML的软件体系结构描述2019/10/23wangzhiming@tsinghua.org.cn2§4.3体系结构描述语言(ADL)ADL是一种形式化语言,在底层语义模型的支持下,为软件系统的概念体系结构建模提供具体语法和概念框架;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;三个基本元素:构件:计算或数据存储单元;连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则;体系结构配置:描述体系结构的构件与连接件的连接图。2019/10/23wangzhiming@tsinghua.org.cn3§4.3ADL(续)主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon、Wright,等等;不同ADL强调了体系结构不同的侧面;每一种ADL都以独立的形式存在,描述语法不同且互不兼容,同时又有许多共同的特征;设计人员很难选择一种合适的ADL,若设计特定领域的软件体系结构又需要从头开始描述。2019/10/23wangzhiming@tsinghua.org.cn4§4.3.1ADL与其他语言比较MaryShaw和DavidGarlan:典型的ADL在充分继承和吸收传统程序设计语言的精确性和严格性特点的同时,还应有构造、抽象、重用、组合、异构和分析推理等各种能力和特性。构造能力:使用较小的独立体系结构元素来建造大型软件系统;抽象能力:ADL使构件和连接件描述只关注它们的抽象特性,而不管其具体的实现细节;2019/10/23wangzhiming@tsinghua.org.cn5§4.3.1ADL与其他语言比较(续)重用能力:组成软件系统的构件、连接件甚至体系结构都成为软件系统开发和设计的可重用部件;组合能力:其描述的每一系统元素都有其自己的局部结构,支持软件系统的动态变化组合;异构能力:允许多个不同的体系结构描述关联存在;分析和推理能力:对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。2019/10/23wangzhiming@tsinghua.org.cn6§4.3.1ADL与其他语言比较(续)ADL与需求语言的区别在于后者描述的是问题空间,而前者则扎根于解空间中;ADL与建模语言的区别在于后者对整体行为的关注要大于对部分的关注,而ADL集中在构件的表示上;ADL与传统的程序设计语言的构成元素即有许多相同和相似之处,又各自有着很大的不同。2019/10/23wangzhiming@tsinghua.org.cn7表4-1程序设计语言与ADL典型元素含义比较程序设计语言软件体系结构程序构件组成程序的基本元素及其取值范围系统构件模块化级别的系统组成实体,可进行抽象的特性化处理,并以多种方式使用操作符连接元素的功能符号连接件对组成系统的有关抽象实体进行各种连接的连接机制抽象规则元素和操作符的命名表达规则组合模式系统中的构件和连接件进行连接组合的特殊方式(体系结构风格)限制规则一组选择并决定具体使用何种抽象规则来作用于有关基本元素及其操作符的规则和原理限制规则决定有关模式能够作为子系统进行构造大型软件系统和开发合法子系统的有关条件规范说明有关句法的语义关联说明规范说明有关系统组织结构方面的语义关联说明2019/10/23wangzhiming@tsinghua.org.cn8表2常见的软件体系结构元素系统构件元素连接件元素纯计算单元简单的输入/输出处理关联,一般不保留处理状态,如数学函数、过滤器和转换器过程调用在构件实体之间实现单线程控制的连接机制,如普通过程调用和远程过程调用数据存储单元具有永久存储特性的结构化数据,如数据库、文件系统、符号表和超文本数据流系统中通过数据流进行交互的独立处理流程连接机制,根据得到的数据来进行构件实体的交互控制,如Unix中的管道机制管理器对系统中的有关状态和紧密相关操作进行规定与限制的实体,如抽象数据类型和系统服务器隐含触发器由并发出现的事件来实现构件实体之间交互的连接机制,构件实体之间不存在明显确定的交互规定,如时间调度协议和自动垃圾回收处理控制器控制和管理系统中有关事件发生的时间序列,如调度程序和同步处理协调程序消息传递独立构件实体之间通过离散和非在线数据(同步或非同步)进行交互的连接机制,如TCP/IP连接器充当有关实体间信息转换角色的实体,如通讯连接器和用户界面数据共享协议构件之间通过相同的数据空间进行并发协调操作的机制,如黑板系统中的黑板和多用户数据库系统中的共享数据区2019/10/23wangzhiming@tsinghua.org.cn9§4.3.2ADL的构成要素(续)2019/10/23wangzhiming@tsinghua.org.cn10§4.3.2ADL的构成要素(续)1、构件一个计算单元或数据存储,是计算与状态存在的场所;小到只有一个过程,大到整个应用程序;构件包含多种属性,如接口、类型、语义、约束、演化和非功能属性等;接口是构件与外部世界的一组交互点,接口说明构件提供的那些服务;通过不同的端口类型,构件可以提供多重接口。2019/10/23wangzhiming@tsinghua.org.cn11§4.3.2ADL的构成要素(续)1、构件(续)构件类型保证构件能够在体系结构描述中多次实例化,每个实例对应于构件的不同实现;构件演化能力是系统演化的基础,ADL通过构件的子类型及其特性的细化来支持演化过程;目前只有少数ADL部分地支持演化。2019/10/23wangzhiming@tsinghua.org.cn12§4.3.2ADL的构成要素(续)2、连接件用来建立构件间的交互以及支配这些交互规则的体系结构构造模块;可不与实现系统中的编译单元对应。可能以共享变量、缓冲区、动态数据结构、客户服务协议、SQL语句等形式出现;接口由一组角色组成,定义了该连接件表示的交互参与者。2019/10/23wangzhiming@tsinghua.org.cn13§4.3.2ADL的构成要素(续)2、连接件(续)连接件应该能够推导出软件体系结构的形成情况,体系结构配置中要求构件端口与连接件角色的显式连接;为抽象通讯协议并使之能够重用,ADL应该将连接件构造为类型;为完成对构件接口的有用分析、保证跨体系结构抽象层的细化一致性,强调互联与通信约束等,ADL应提供连接件协议及变换语法。2019/10/23wangzhiming@tsinghua.org.cn14§4.3.2ADL的构成要素(续)3、体系结构配置描述体系结构的构件与连接件的连接图,提供信息来确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,等等;利用配置来支持系统可变性,使不同技术人员都能理解并熟悉系统,为方便交流;理想情况是从配置说明中澄清系统结构,能使构建系统的各种参与者理解系统;形式:文本、图形、多视图、多场景。2019/10/23wangzhiming@tsinghua.org.cn15§4.3.2ADL的构成要素(续)3、体系结构配置(续)为在不同细节层次上描述系统,体系结构应具有复合或等级复合的特性;支持采用异构构件与连接件,便于重用不同粒度的已有构件和连接件(不同设计者、开发者、编程语言、通信协议);大型的、长期运行的系统是在不断增长演化的,ADL必须支持对系统增长演化的说明。
本文标题:Chap04.3-软件体系结构描述-体系结构描述语言.
链接地址:https://www.777doc.com/doc-1715945 .html