软件体系结构第5

上传人:suns****4568 文档编号:93624982 上传时间:2019-07-25 格式:PPT 页数:63 大小:194KB
返回 下载 相关 举报
软件体系结构第5_第1页
第1页 / 共63页
软件体系结构第5_第2页
第2页 / 共63页
软件体系结构第5_第3页
第3页 / 共63页
软件体系结构第5_第4页
第4页 / 共63页
软件体系结构第5_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《软件体系结构第5》由会员分享,可在线阅读,更多相关《软件体系结构第5(63页珍藏版)》请在金锄头文库上搜索。

1、1,课程内容 第一章 软件体系结构基本概念 第二章 软件体系结构经典风格 第三章 软件体系结构应用 第四章 软件体系结构设计模式 第五章 软件体系结构研究与发展,2,第5章 软件体系结构研究与发展 5.1 软件体系结构的研究现状 5.2 软件体系结构语言 5.1.1 ADL核心模型 5.1.2 ADL构成要素 5.1.3 几种ADL介绍 5.3 软件体系结构形式化描述 5.2.1形式化方法简述 5.2.2软件体系结构抽象模型 5.2.3 Z标记形式化描述语言,3,5.1 软件体系结构的研究现状,软件体系结构已经成为国内外软件研究的热点,人们已经把解决复杂软件设计的难题,以及提高软件设计效率和质

2、量寄托在软件体系结构研究的突破上。然而,软件体系结构的技术研究从理论到实践还处在发展时期。主要研究包括:,1)软件体系结构形式化 2)软件体系结构的描述语言、工具和环境 3)软件体系结构经典风格、应用框架和设计模式的总结,4,1)软件体系结构形式化,用形式化体系解释体系结构 抽象定义体系结构的精确语义,证明某种体系结构运用的必然性和充分性,进而扩展证明它的使用性,并且,作为验证结构合理性的基础,用于系统设计中的结构选取。 主要软件体系结构的形式化体系: 形式化对象关系表达:类属理论(Category Theory) 形式化描述语言:Z标记语言(Z Notation) 抽象代数理论:抽象模型 等

3、等,形式化方法的两方面研究:,5,体系结构描述语言ADL(Architecture Description Language) 用形式化的符号表示体系,进行建模和结构分析。抽象描述结构的形式,便于掌握系统全局和特征,便于分析系统的构成角色和特性,便于复用和继承已有结构,目标是体系结构自动化。,研究进展: ACME: 描述系统结构交互机制 Aesop: 对体系结构特定风格的规范性描述 C2: 描述分布式可延展动态系统的结构 MetaH: 用于描述导航和控制体系结构 Rapide:对体系结构描述中的动态行为建模并模拟运行 SADL: 用形式化对体系结构不同层次的细节描述 Unicom:用公共接口协

4、议连结构件,粘合生成系统 Wright:用于并发系统建模,可对死锁等动态行为分析,6,2)软件体系结构的工具和环境,描述语言和工具环境的关系: 描述语言-研究语言的成分和表示能力 工具环境-研究工程平台和系统建设能力 描述语言的可用性,直接反映在工具所提供的环境中,软件体系结构工具环境应该具备的基本功能: 提供设计规范 提供多视角表达 提供分层细化,以及性能分析 可生成运行代码 提供动态行为描述,可进行运行配置,7,ADL研究现状: 认识不统一,ADL商业产品大都来自企业和学术团体,它们的手段和目标不尽相同。 ADL研究虽然在界有影响,但并没有达到一般性的实际应用。,ADL具备的共同点: 提供

5、图形句法表示手段,给了形式化的句法和语义 提供分布式系统建模描述 除支持数据流和控制流连接,很少支持其他类型的连接 支持详细结构层次的表示,并支持子结构的模板实例化 除了一般的注释说明,不支持设计的依据和历史跟踪,5.2 软件体系结构语言ADL,8,各种ADL目前存在的问题: 描述结构的实际处理角度不同。有从硬件结构的角度,也有从软件优先级角度的。 描述结构的范围不同。大部分都包含管道过滤器体系结构形式,有的包含了层次式部件结构,有的包含了对象式结构,还有的包含了动态体系以及类继承体系。 描述结构支持一致性的完整程度不同。大部分支持内部一致性,有的支持部件间的一致性。 描述结构在分析能力的支持

6、方面存在明显不足。 描述结构在处理相同体系结构的不同实例能力上,或者说可变性方面,存在明显不足。,9,IEEE P1471规定了应用体系结构的描述标准:(2000.9),体系结构的存档要求 能区别个体及其关系 体系结构视点,体系结构视点的选择 体系结构视点之间的一致性 体系结构原理,ADL应该具备的基本特点: 能使用较小的独立体系结构元素来建造软件系统; 关注的是构件和连接件描述,而无需关注实现; 构件和连接件以及体系结构都是开发设计的重用部件; 描述的每个元素都有自己局部的结构,支持动态变化组合; 可描述不同体系结构的关联; 可对描述的体系结构进行性能及功能的分析。,10,所有ADL都围绕着

7、被称为“软件体系结构核心模型”而设计的。软件体系结构核心模型由五个基本元素:构件、连接件、配置、端口和角色。,5.2.1 ADL核心模型,软件体系结构,配置,构件,连接件,端口,角色,1:N,1:N,1:N,返回本章目录,11,构件:是软件结构的构造块,是计算与状态存在的场所 构件的大小:可小到只有一个过程或大到整个应用系统 构件的存储:有自己的或与其它成分共享的存储和执行空间 构件的属性:如类型、语义、状态,等,1)构件的概念,5.2.2 ADL的构成要素,构件 构件接口(端口) 构件类型 构件演变,返回本章目录,12,构件接口(端口):构件与外部交互的端口点。 构件接口可以有多个,不同的接

8、口对应不同的操作。 ADL中的构件接口说明,提供构件消息和操作变量的描述手段,能定义构件提供的计算及约束条件。 构件类型:构件是按照指定的类型实例化的,类型可参数化。ADL应具有构件类型保证机制。 构件演化:构件通过子类型形成特性细化的特殊构件。目前只有少数几种ADL部分地支持构件演化。,13,连接件:软件结构的构造块。建立构件交互的规则。 与构件的区别:不直接对应编译单元。 连接件包括: 消息路由兼容设备、共享变量、是入口表、缓冲区、连接器指令、动态数据结构、内嵌在代码中的远程过程调用序列、初始化参数、客户服务协议、管道、数据库、应用程序之间的查询语言,等。,2)连接件的概念,连接件 连接件

9、接口(角色) 连接件协议,14,连接件接口(角色):由一组角色组成,参与者对应交互的角色。例如:二元消息传递连接件有两个角色,发送者和接收者。而广播连接件有多个角色,一个发送者角色,多个接收者角色。 连接件协议:提供规定类型的通信交互的规范。协议可以是独立的或是内嵌在交互机制中实现的。 ADL应提供协议的交换语法,能够规划交互协议,建立内部连接件的依赖关系以及用途边界。通过强制风格和角色限制来保证连接约束。,15,体系结构配置-是用来描述体系结构的构件与连接件的连接图。配置信息可以用来确定构件的连接、接口的匹配,通信的正确性以及实现的组合行为语义。 文本和图形说明-ADL应该以简单的、可理解的

10、语法来配置结构化信息。除了文本形式外,还提供图形说明形式,并且它们之间可以互换。多视图、多场景的体系结构方法成为研究方向。 复合及合成-复合是包括将一个整体作为另一个的部分构成更大的配置。这样可以适应异构和不断变化的结构,3)体系结构配置的概念,结构配置 文本和图形说明 复合及合成,16,5.2.3 几种ADL介绍,目前在软件体系结构研究领域出现多种体系结构描述语言,既有针对特定领域的ADL,也有以通用性为目标的ADL。不同的ADL描述体系结构的侧重点不尽相同。,返回本章目录,例如:,17,1)UniCon(Universal Cennection)语言,UniCon是 Caregie Mel

11、lon 大学的 Mary Shaw 等人研究的成果。它主要的目标是支持对体系结构的描述,针对构件连接器模型,区分不同需要的构件,支持构件打包、定位、交互模式描述和编码。,UniCom语言的形式,构件,连接器,1.表演者 2.接口 3.类型 实现,1.角色 2.协议 3.类型 实现,18,构件规范 表演者:实体命名 接口:调用形式(性能或交互性的功能) 类型:可以是过滤器、子程序、知识源,事件处理等,连接器规范 角色:实体命名 协议:角色与表演者对应的规则、交互约束限定、性能 类型:可以是管道、过程调用、事件驱动、等,成分特性 原始构件由体系结构之外的语言描述;合成构件用体系结构语言描述 连接器

12、角色若为多种角色,则多端情况可用多态方式 构件和连接器是互补和对称的,19,UniCon语言构件描述示例,Component Real_Time_System interface is type General implementation is uses client interface RTclient PRIORITY(10) end client uses server interface RTserver PRIORITY(10) end server establish RTM-realtime-sched with clientapplicetion1 as load serve

13、rapplicetion2 as load serverservices as load ALGORITHM(rate_monotonic) end RTM-realtime-sched establish RTM-remote-proc-call with clienttimeget as caller servertimeget as definer IDLTYPE(Mach) end RTM-remote-proc-call end implementation end Real_Time_System,实时系统构件说明: 1.实时系统接口是通用类型 2.实时系统的实现, Client接

14、口:优先级等 Server接口:优先级等 建立实时管理的实时调用程序 Client和Server加载应用load 和服务算法 建立实时管理的远程调用程序 Client和Server交互方式,20,Connector RTM-realtime-sched protocol is type RTscheduler role load is load end protocol implementation is built in end implementation end RTM-realtime-sched,实时调度表连接件: 1.协议 类型是实时调度表 角色是加载 2. 实现是在执行中,Uni

15、Con语言连接件描述示例,21,2)C2 体系结构语言,C2支持事件风格的用户界面体系结构描述语言。配合有设计环境Argo系统。使用可替换、可重用的GUI构件开发体系结构。重点是构件的动态改变,以满足某些GUI特性。 C2的连接件负责构件之间的消息传递, C2的构件只能通过连接件完成消息传递。消息要么是请求其它构件执行某项操作,要么是通知其它构件改变状态,请求消息只能向上层传递,通知消息只能向下层在内部构件间传递。 C2的构件维持状态、执行操作并通过top和bottom端口与其它构件交换信息。每个构件最多只能和一个连接件相连,而连接件可以和任意数目的构件相连。,22,Component_mes

16、sage_interface := top_domain_interface bottom_domain_interface top_domain_interface := top_domain is out interface_requests in interface_notifications bottom_domain_interface := bottom_domain is out interface_ notifications in interface_requests interface_requests := request; | null interface_ notifications := notification; | null request := message_name(request_parameters) request_parameters := to compon

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号