ch动态软件体系结构.ppt

上传人:b****1 文档编号:1367440 上传时间:2022-10-21 格式:PPT 页数:24 大小:854KB
下载 相关 举报
ch动态软件体系结构.ppt_第1页
第1页 / 共24页
ch动态软件体系结构.ppt_第2页
第2页 / 共24页
ch动态软件体系结构.ppt_第3页
第3页 / 共24页
ch动态软件体系结构.ppt_第4页
第4页 / 共24页
ch动态软件体系结构.ppt_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

ch动态软件体系结构.ppt

《ch动态软件体系结构.ppt》由会员分享,可在线阅读,更多相关《ch动态软件体系结构.ppt(24页珍藏版)》请在冰豆网上搜索。

ch动态软件体系结构.ppt

动态软件体系结构,Z.WangE-Mail:

第5章动态软件体系结构,5.1动态软件体系结构概述软件体系结构研究主要集中在静态体系结构上,这种体系结构在运行时不能发生改变。

但是一些需要长期运行并且具有特殊使命的系统(例如金融系统、航空航天系统、交通系统、通信系统等),如果系统需求或环境发生变化,此时停止运行进行更新或维护,将会引起高额的费用和巨大的风险,对系统的安全性也会产生很大时影响。

静态体系结构缺乏表示动态更新的机制,很难用它来分析描述这样的系统。

第5章动态软件体系结构,5.1动态软件体系结构概述有关学者开始研究动态软件体系结构(DynamicSoftwareArchitecture),主要研究软件系统由于特殊需要必须在连续运营情况下的体系结构变化与支撑平台。

2000年世界计算机大会提出,软件体系结构中最为重要的三个研究方向是:

体系结构风格、体系结构连接件和动态体系结构。

将动态体系结构的研究作为三大重要的研究方向之一,再次说明动态软件体系结构的重要性。

第5章动态软件体系结构,5.1动态软件体系结构概述历经传统的结构化开发方法和面向对象开发方法,基于软件体系结构、构件的开发方法已经逐渐成为当前软件开发的主流,软件开发的基本单位已从传统的代码行、对象类转变为各种粒度的构件、构件之间的拓扑结构所形成的软件体系结构。

这种转变给软件开发带来更多的灵活性,可以通过构件重用和替换来实现,即实现构件的“即插即用”。

而灵活性的一方面就是动态性。

在软件体系结构层次上实现动态性会给大型软件系统的开发提供可扩展性,用户自定义和可演化性。

而且,软件体系结构的动态改变和演化对于需要长期运行或具有特殊任务的系统尤其重要。

第5章动态软件体系结构,5.1动态软件体系结构概述由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变动,称之为软件体系结构演化。

软件系统在运行时刻的体系结构变动称为体系结构的动态性。

而将体系结构的静态修改称为体系结构扩展。

体系结构的扩展和体系结构的动态性都是体系结构适应性和演化性的研究范畴。

第5章动态软件体系结构,5.1动态软件体系结构概述体系结构的动态性主要分为以下三类:

(l)交互式动态性。

例如,允许在复合构件的固定连接中改变数据。

(2)结构化动态性。

例如,允许“对系统添加或删除构件或连接件。

(3)体系结构动态性。

例如,允许构件的整个配置改变。

第5章动态软件体系结构,5.1动态软件体系结构概述允许在系统运行时发生更新的软件体系结构称为动态软件体系结构/动态体系结构在系统被创建后可以被动态地更新。

系统结构的动态改变将会影响正在运行的系统的内部计算,这使得运行系统的动态更新变得很复杂且难以很好地解决。

目前,一些主流操作系统和部分构件对象模型中,更新机制已经得到一些应用,例如UNIX内核动态链接库、CORBA和DCOM中的构件组装机制等。

这些机制允许系统在运行时添加新的库并执行,使得系统在不需要重编译的情况下进行更新。

CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。

DCOM(分布式组件对象模型,分布式组件对象模式)是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。

DCOM基于组件对象模型(COM),OMG,对象管理组织(ObjectManagementGroup)OMG是一个国际化的、开放成员的、非盈利性的计算机行业标准协会,该协会成立于1989年。

任何组织都可以加入OMG并且参与标准制定过程。

OMG标准由供应商、最终用户、学术机构和政府机构共同驱动。

OMG特别工作组指定的企业标准整合成一个广泛的技术和更广泛的行业范围。

第5章动态软件体系结构,5.1动态软件体系结构概述目前,动态体系结构的研究主要分为两个方面:

一个方面是研究模拟和描述体系结构动态更新的语言;另一个方面是研究支持体系结构动态更新的执行工具。

第5章动态软件体系结构,5.1动态软件体系结构概述1.模拟和描述体系结构动态更新ADL提供了一种形式化机制来描述软件体系结构,这种形式化机制主要通过提供语法和语义描述来模拟构件、连接件和配置。

但是,大多数ADL只描述系统的静态结构,不支持对体系结构动态性的描述。

近年来,对这一方面的研究主要集中在对现有的一些ADL扩展以支持体系结构的动态性,现已研究出一些支持动态体系结构的ADL。

第5章动态软件体系结构,5.1动态软件体系结构概述2.体系结构动态更新的执行对于动态体系结构应用方面的研究,还很不成熟。

目前,支持动态体制的主要有ArchStudio工具集和软件体系结构助理(SoftwareArchitectureAssi,SAA)。

ArchStudio工具集是由加州大学Irwine分校提出的,它支持交互式图形化描述和体系结构的动态修改。

第5章动态软件体系结构,5.1动态软件体系结构概述运行系统的改变通过一系列工具反映到体系结构模型上,例如脚本语言的改变和交互式的图形设计环境。

体系结构的改变包括增加、删除或更新构件、连接件,系统拓扑结构发生改变。

体系结构演化管理机制(ArchitectureEvolutionManager,AEM)通报这些改变,并有权力撤销破坏系统整体性的改变。

如果改变没有破坏系统的整体性,AEM就对系统的执行作相应的改变。

第5章动态软件体系结构,5.1动态软件体系结构概述SAA是由伦敦皇家学院提出的,它也是一种交互式图形工具,可以用来描述、分析和建立动态体系结构。

体系结构设计人员可以用SAA来图形化地描述Darwin系统结构模型,用一些外部工具来分析结构,并生成框架代码。

尽管SAA提供了智能化图形设计;但它不支持运行系统的监控和操作。

第5章动态软件体系结构,5.1动态软件体系结构概述当前主流的体系结构模型CORBA,COM/DOM,EJB等,都不支持体系结构的动态更新。

同时,动态体系结构由于其本身的复杂性,比静态体系结构需要更多的形式化描述机制和分析工具,形式化描述机制用来描述运行时的更新,分析工具用来帮助验证这些更新的属性。

由于缺乏通用的结构模型、有效的形式化描述机制和分析工具,目前学术界对于动态体系结构的研究还不成熟,还处于摸索阶段。

第5章动态软件体系结构,5.2软件体系结构的动态模型5.2.1基于构件的动态系统结构模型模型简介基于构件的动态系统结构模型(ComponentBasedDynamicSystemArchtectureModel,CBDSAM)支持运行系统的动态更新,该模型分为三层,分别是应用层、中间层和体系结构层。

其结构如5-2所示,第5章动态软件体系结构,5.2软件体系结构的动态模型5.2.1基于构建的动态系统结构模型,第5章动态软件体系结构,5.2软件体系结构的动态模型5.2.1基于构建的动态系统结构模型,第5章动态软件体系结构,更新请求描述更新类型更新对象列表对象的新版本说明对象更新方法更新函数更新限制,5.2软件体系结构动态模型,基于构件的动态系统结构模型,第5章动态软件体系结构,更新执行步骤检测更新的范围更新准备工作执行更新存储更新,5.2软件体系结构动态模型,基于构件的动态系统结构模型,第5章动态软件体系结构,实例分析,5.2软件体系结构动态模型,基于构件的动态系统结构模型,局部更新,第5章动态软件体系结构,实例分析,5.2软件体系结构动态模型,基于构件的动态系统结构模型,全局更新,思考题,1、什么是动态软件体系结构?

动态软件体系结构的动态性主要体现在那3个方面?

2、动态软件体系结构与静态软件体系结构有什么区别?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1