(计算机应用技术专业论文)网构软件自适应方法研究.pdf_第1页
(计算机应用技术专业论文)网构软件自适应方法研究.pdf_第2页
(计算机应用技术专业论文)网构软件自适应方法研究.pdf_第3页
(计算机应用技术专业论文)网构软件自适应方法研究.pdf_第4页
(计算机应用技术专业论文)网构软件自适应方法研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)网构软件自适应方法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着网络的普及和应用,越来越多的软件系统部署在i n t e m e t 上,由于网络 平台与传统计算机软件平台特征上有很大的不同,促使软件系统的运行环境从 静态、封闭逐步转向动态、开放。如,计算实体的种类增多:用户需求的动态 变化;受到资源限制等。并且软件系统的规模和复杂度越来越高。从而管理和 维护软件系统的负担剧增,为了降低负担,人们考虑让软件系统能够自我维护、 自我管理、根据环境的变化调整自己的行为,即软件系统具有自适应性。据此, 国内外学者开展了有关网构软件自适应方面的研究。 本文针对如何实现自适应性的网构软件的方法这一主题,给出了具体实现 网构软件自适应的系统化方案。首先介绍了网构软件的概念及其自适应的研究 内容,得出了以软件体系结构为中心的网构软件自适应方法。详细介绍了软件 体系结构作动态演化时的构件实现、管理等,s a 模式和s a 风格的相关理论。 然后深入研究了网构软件自适应方法的实现。从网构软件自适应方法的结构设 计入手,探讨了以往两种结构设计的优缺点及其适用范围,得出了本文的结构 设计方法。在考查了已有相关研究的基础上,针对已有方法中的不足,提出了 利用元胞自动机对软件体系结构进行行为建模,实施网构软件的自适应操作, 避免利用中间件带来的复用性不高的问题。也是首次将元胞自动机引入自适应 中,扩展了元胞自动机的应用领域,为网构软件的自适应开拓了一个新的视角。 同时,提出了适合分布式环境特点的三层监控机制,事件规则动作的触发设施, 完成不良模式的自动检测,不再需要管理员事先建立不良模式和良好模式模型; 提出了不良模式库的管理措施,对不良模式进行标准化管理,方便自适应操作; 提出了不良模式的匹配方法,找到应用系统中的真正不良模式:提出了元胞自 动机的具体实施自适应过程,将软件体系结构的动态调整映射到元胞自动机中, 实施自适应操作。 最后以两个具体实例,从不同角度演示了整个自适应操作的实施过程,表 明了本文的自适应方法是行之有效的。 关键字:网构软件;软件体系结构;自适应;元胞自动机 a b s t r a c t w i t ht h ep o p u l a r i z a t i o na n da p p l i c a t i o no ft h en e t w o r k , m o r ea n dm o r es o f t w a r e s y s t e m sa r ed e p l o y e do ri n t e m e t b e c a u s eo ft h em a n yd i f f e r e n c e sb e t w e e nt h e n e t w o r kp l a t f o r ma n dt r a d i t i o n a lc o m p u t e rs o f t w a r ep l a t f o r m s ,u r g e ss o f t w a r es y s t e m e n v i r o n m e n tf r o mas t a t i c ,c l o s e ds t a t eg r a d u a l l yc h a n g e dad y n a m i c ,o p e ns t a t e f o r e x a m p l e ,i n c r e a s e dr a n g eo ft h ec o m p u t i n ge n t i t i e s ;d y n a m i c sc h a n g eo ft h eu s e r s n e e d s ;s u b j e c t t or e s o u r c ec o n s t r a i n t s a l o n gw i t hs o f t w a r es y s t e ms i z ea n d c o m p l e x i t yi si n c r e a s i n g s ot h eb u r d e nf o rm a n a g i n ga n dm a i n t a i n i n gt h es o f t w a r e k e e p si n c r e a s i n g i no r d e rt or e d u c et h eb u r d e n ,p e o p l ec o n s i d e rt h a ts o f t w a r es y s t e m s h o u l db ca b l et ob cs e l f - m a i n t e n a n c e ,s e l f - m a n a g e m e n t ,a n da d j u s tt h e i rb e h a v i o r a c c o r d i n gt oc h a n g e si nt h ee n v i r o n m e n t , t h a ts o f t w a r ei ss e l f - a d a p t i v e f o rt h i s r e a s o n , t h ed o m e s t i ca n df o r e i g ns c h o l a r sl a u n c h e dt h ei n t e r n e t w a r es e l f - a d a p t i v e r e s e a r c h e s t h i sp a p e rr e v o l v e sa r o u n dt h ep o i n t - - h o wt or e a l i z ei n t e m e t w a r ew i t h s e l f - a d a p t i v e ,g i v e s t h es y s t e m a t i z a t i o ns o l u t i o nf o rr e a l i z i n gs p e c i f i c a l l yt h e s e l f - a d a p t i v ei n t e r n e t w a r e f i r s t ,w ei n t r o d u c et h ec o n c e p to fi n t e m e t w a r et h e o r ya n d s e l f - a d a p t i v es t u d yc o n t e n t ,o b t a i n i n gw i t hs o f t w a r ea r c h i t e c t u r e - - - c e n t r i ci n t e m e t w a r e s e l f - a d a p t i v em e t h o d w ea s s e m b l yi n t r o d u c e dt h ec o m p o n e n ti m p l e m e n ta n d m a n a g e m e n tf o rs o f t w a r ea r c h i t e c t u r ei nd y n a m i ce v o l u t i o n ,a sw e l la st h et h e o r yo f t h eb a dp a t t e r n s e c o n d ,t h ei n t e m e t w a r es e l f - a d a p t i v em e t h o dw a ss t u d i e di nd e p t h i n t e m e t w a r es e l f - a d a p t i v ef r o mt h es t r u c t u r ed e s i g nb e g a nt od i s c u s st h ea d v a n t a g e s a n d d i s a d v a n t a g e so ft h ep a s tt w os t r u c t u r ed e s i g na n ds c o p e ,a n do b t a i nt h es t r u c t u r e d e s i g nm e t h o d o nt h eb a s i so ft h es t u d yo fe x i s t i n gr e l a t e da c h i e v e m e n t s ,f o rt h e s h o r t c o m i n g so fe x i s t i n gm e t h o d s ,g a v et h em e a s u r e st ou s et h ec e l l u l a ra u t o m a t a m o d e l i n gf o rt h es o f t w a r ea r c h i t e c t u r e ,i m p l e m e n t i n gt h es e l f - a d a p t i v eo p e r a t i o no f i n t e m e t w a r e i ta v o i d e dt h eu s eo fm i d d l e w a r eb r i n gt h ep r o b l e mt h a tt h er e u s a b i l i t y i sn o th i g h i ti sa l s ot h ef l r s tt i m et ou s ec e l l u l a ra u t o m a t ai ni n t e r n e t w a r e s e l f - a d a p t i v er e s e a r c h ,e x t e n dt h ec e l l u l a ra u t o m a t aa p p l i c a t i o na r e a , d e v e l o pan e w p e r s p e c t i v ef o ri n t e m e t w a r es e l f - a d a p t i v e m e a n w h i l e ,w eg a v et h et h r e el e v e l 一一 s t r u c t u r ed e s i g nw h i c hi ss u i t a b l ef o rd i s t r i b u t e de n v i r o n m e n t ,a n de v e n t - r u l e a c t i o n t r i g g e rf a c i l i t y i tr e a l i z e dt h ea u t o m a t i cd e t e c t i o no ft h eb a dp a t t e r n ,w h i c ht h e a d m i n i s t r a t o r sn ol o n g e rn e e dt oe s t a b l i s ht h eb a dp a t t e r na n dg o o dp a t t e r nm o d e l w b g a v et h em a n a g e m e n tm e a s u r ef o r b a dp a t t e r nd e p o s i t o r y , w h i c hr e a l i z e dt h e s t a n d a r d i z a t i o no ft h eb a dp a t t e r n , a n dp r o v i d e dt h ef a c i l i t a t ef o rs e l f - a d a p t i v ea c t i o n ; w bg a v et h em a t c h i n gm e t h o df o rab a dp a t t e m 。w h i c hf m dt h er e a lb a dp a t t e r ni n a p p l i c a t i o ns y s t e m ;w eg a v e t h e s p e c i f i ci m p l e m e n t a t i o np r o c e s s f o rc e l l u l a r a u t o m a t a , w h i c hm a pt h ed y n a m i ca d j u s t m e n to fs o f t w a r ea r c h i t e c t u r ei n t oc e l l u l a r a u t o m a t a f i n a l l y , w et o o kt h et w os p e c i f i ce x a m p l et od e m o n s t r a t et h ei m p l e m e n t a t i o n p r o c e s so ft h es e l f - a d a p t i v eo p e r a t i o n , s h o wt h a tt h ep r o p o s e ds e l f - a d a p t i v em e t h o di s e f f e c t i v e k e yw o r d s :i n t e m e t w a r e ;s o f t w a r ea r c h i t e c t u r e ;s e l f - a d a p t i v e ;c e l l u l a ra u t o m a t a m 一 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名: 主:j 墓日期:冱& 鑫盟丛丑 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :业 导师( 签名) :塑望 日期:判日 武汉理工大学硕士学位论文 1 1 研究背景 第1 章绪论 ( 1 ) 问题的提出 随着 n t e m c t 的出现,计算机软件的运行环境开始从静态、封闭的体系逐步 走向动态、开放。其中只有最少的标准:没有中央控制或中央确认;h l t e m e t 中 的计算资源都是独立管理;个人的开发者可以按照他们自己的意愿开发,修改 或者移除资源l 。那么,如何在这种开放、动态、难控的网络环境下,灵活的共 享和使用信息资源( 计算资源、数据资源、软件资源、服务资源) 已经成为信 息化社会的重要需求。其成功的案例之一是w w w :它不仅将世界范围内的信息 资源有机地集成与共享,而且,为其他可能的网络资源的共享与集成的支持提 供了借鉴。从系统结构的角度来看,w w w 的主要特征包括如下:1 相互独立的 网页:每个网页都有相互独立的信息内容。2 灵活方便的链接:各个相互独立的 网页可以通过指针灵活地建立多样性的链接。3 面向用户的使用:此处的用户主 要是指开发者和使用者,其易用性均被合理的支持。4 网页链接的成长:相互 关联的信息网的开发者是分布的,其开发过程是持续成长演化式的。5 开发环 境的包容:w w w 能够适应动态开放的网络环境,其结构和资源特点能够保证 当出现“坏 网页或链接时,用户仍然很好的使用。 类似的,越来越多的软件系统运行和部署在网络环境下,为了适应这样一 种发展趋势,软件系统开始呈现出一种柔性、多目标、连续反应式的新系统形 态【2 j 。类似w w w 一样,因此网构软件这种新的软件形态应运而生。 同时,随着软件应用范围的增广,软件规模越来越大,软件系统的复杂性 也急剧增加。并且,h t e m e t 的动态变化,伴随着软件系统所处环境的动态变化, 如计算实体的种类增多,用户需求的动态变化等。因此,管理和维护软件系统 的负担增加。为了降低负担,人们考虑让软件系统能够自我维护、自我管理, 根据环境的变化调整自己的行为,继续运行,即软件系统具有自适应性【3 1 。 因此,对于网构软件自适应性的研究迫在眉睫。本文就是对网构软件自适 应性进行研究,提出了一个系统化的解决方案。 ( 2 ) 国内外发展状况 目前,国内外对网构软件自适应相关方面有一些研究。在国外,j a z z 等人 武汉理工大学硕士学位论文 实现了整个服务器系统的自适应,主要是考虑让i b mp s e f i e ss e r v e r s 上处理器、 内存等物理资源能够进行动态重配置和自动平衡多个系统实例的资源【4 j 。i b m 公司也实现了一个自适应特性的产品a u t o t u n e ,其能够实现自优化,它通过建 立c p u 、内存和a p a c h e 服务器之间的性能关系模型,让a p a c h e 服务器能够自 动调节内部管理策略,来满足给定的c p u 、内存开销指标的能力【5 j ;l e o ( 1 e a r n i n g o p t i m i z e r ) 实现了自优化的目的,它是通过优化模型对查询操作进行优化,并根 据实际的查询结果不断地修正优化模型,来提高d b 2 系列产品的数据库查询效 率嘲;d a im 等人在美国国家航空航天局a n t s 项目中使用自治计算实现了自适 应方面的应用,该应用事先通过采集系统的运行时刻信息,然后采用预设算法 对系统的多项性能指标预测,最后自动地实现相应的调整r 7 j :d a iys 等人提出 了模型驱动的自治管理的方法,首先通过采集系统的运行时刻状态信息,然后利 用相应的可靠性模型来分析、预测应用系统中各个部分的可靠性需求变化,最 后完成调整来满足系统的可靠性需求i s ;r i c h a r dt a y l o r 提出了一个基于软件体 系结构的动态演化方法,通过调整软件体系结构中的连接件,来实现对应用系 统的软件体系结构的优化 9 1 ;g a r l a nd 等人利用软件体系结构风格作为自适应的 载体,研究出的r a i n b o w 系统,能够完成应用系统的自适应活动【埘。 在国内,许婷、俞春等人提出了t u p l e s p a c e ,其实现了一种基于中介的自适 应软件协同环境,应用于通信方面1 1 1 1 ;南京大学俞春等人提出了触发设施、不 变式解析器、监测器和自适应相结合的方法实现了面向体系结构的软件系统自 适应机制【1 2 j ;毛斐巧等人提出了软件体系结构演化( 呈树型渐增或渐减) 的自 适应模型,实现在组织结构层次上的自适应性【1 3 l ;赵会群等人提出了一个描述 软件体系结构的数学模型,解决了软件体系结构描述语言在s a 动态、可演化和 可扩充特征方面的不足,但对非数学方法描述的软件体系结构模型却无能为力 1 1 4 】;韩松乔等人提出了一种可以在软件构件层次上进行构件的删除、增加或修 改,使得软件系统在运行过程中具有自适应性,其主要是在构件和连接件的描 述中加入对构件位置和连接类型变化的信息,但这也仅仅局限于软件构件层次 上,在业务逻辑等其他层次上没作研究【1 5 j ;北京大学的黄罡等人通过管理员预 测不良模式和良好模式,然后输入模式相关的一些辅助构件自动生成算法,最 后有中间件实现自适应操作。 1 2 论文研究内容和组织结构 2 武汉理工大学硕士学位论文 1 2 1 论文研究内容 本文致力于网构软件自适应方法研究,给出了具体实现网构软件自适应的 系统化方案。文中研究内容重点包括: ( 1 ) 网构软件的自适应机制。通过对内置运行时体系结构和外置运行时体 系结构的比较,给出了它们之间的优缺点。同时,结合本系统的特点,确定了 合适的网构软件自适应机制。 ( 2 ) 网构软件自适应的系统框架。从目前已有的网构软件自适应方法入手, 研究其中的不足,给出了一个更具一般性,可复用程度更高的系统框架。 ( 3 ) 实现网构软件自适应的关键技术。给出了适合自动检测的三层监控机 制和触发设施;给出了不良模式库建立的方法;给出了不良模式的检测方法: 给出了元胞自动机建模的自适应实现方法。 ( 4 ) 实例验证。通过具体的实例演示,验证了本文的方法对网构软件自适 应的实用性、方便性、有效性。 1 2 2 论文组织结构 全文分六章,各章节结构和主要内容安排如下: 第一章绪论:介绍本课题的研究背景及国内外的研究现状,介绍本文的研 究内容和组织结构。 第二章网构软件及其系统结构:介绍论文研究工作相关的理论知识,包括 网构软件的定义、独有特征,软件体系结构以及其中构件的管理、重构等,动 态软件体系结构的相关理论。最后谈到s a 模式和s a 风格的相关理论,为全文 研究做好理论准备。 第三章网构软件自适应方法:论述了网构软件自适应机制的设计。首先介 绍网构软件自适应所面临的问题,然后引出网构软件自适应与软件体系结构之 间的关系,得出网构软件自适应方法采用以软件体系结构为中心的根据所在。 接着论述网构软件自适应方法中的结构设计,讨论了以往结构设计中的优缺点 和适用范围。接着论述已有的网构软件自适应方法以及其中存在的不足,最后 由此得出本文网构软件自适应的机制设计。 第四章网构软件自适应实现的关键技术:论述网构软件自适应实现过程中 所使用的关键技术,具体包括三层监控机制的设计、不良模式的管理、触发设 施的方法、不良模式匹配的技术、元胞自动机实现自适应的过程。 3 武汉理工大学硕士学位论文 第五章实例验证:通过具体的实例演示,对网构软件自适应实现过程进行 说明。 第六章结束语:总结了本文在研究过程中所作的工作,以及相关工作的比 较。同时,对未来研究前景的展望。 4 武汉理工大学硕士学位论文 2 1 网构软件 第2 章网构软件及其系统结构 2 1 1 网构软件的定义 网构软件是传统软件结构的自然延伸。实际上,从单机结构上的软件系统、 到主从结构的软件系统、到c l i e n t s e r v e f 模式的软件系统、一直到现有的 b r o w s c r s c r v c r 模式的软件系统,从本质上来说,都是网构软件系统的一种特例。 例如,目前占主导的浏览器j j l 务器结构在服务器端具有相对独立性,并且浏览 器与服务器端的链接具有开放环境下( 跨网络) 的初级协同性;而浏览器中搜 索引擎的搜索结果的多重性正体现了多态性,其随网络环境的变化作动态调整; 而a c t i v es o f t w a r e 和a u t o n o m o u ss o f t w a r e 则反映了在网络环境下对软件实体 自主性的需求【1 6 1 。因此,有理由相信,网构软件概念基本概括了在i n t e r a c t 开放、 动态和多变环境下软件技术的发展趋势,它将在未来5 1 0 年成为软件的一种主 流形态。 从技术角度看,以软件构件等技术支持的软件实体将以开放、自主的方式 存在于i n t e r n e t 的各个节点之上,任何一个软件实体可在开放的环境下通过某种 方式加以发布,并以各种协同方式与其它软件实体进行跨网络的互连、互通、 协作和联盟,从而形成一种与当前的信息w e b 类似的s o f t w a r ew e b 1 7 1 。s o f t w a r e w e b 不再仅仅是信息的提供者,而是各种服务( 功能) 的提供者。由于网络环 境的开放与动态性,以及用户使用方式的个性化要求,从而决定了这样一种 s o f t w a r ew e b 并不能够像传统软件那样一蹴而就,它应能感知外部网络环境的动 态变化,并随着这种变化按照功能指标、性能指标和可信性指标等进行静态的 调整和动态的演化,以使系统具有尽可能高的用户满意度【l 引。这样一种新的软 件形态就称为网构软件( i n t e r n e t w a r e ) 。具体网构软件的概念框架见图2 - 1 所示。 5 武汉理工大学硕十学位论文 图2 - 1 网构软件概念模型示意圈 2 1 2 网构软件的蚀有特征 网构软件是在i n t e m e t 开放、动态和多变环境下软件系统基本形态的一种抽 象,它既是传统软件结构的自然延伸,又具有区别于在集中封闭环境下发展起 来的传统软件形态的独有的基本特征。具体表现在以下几个方面: 1 ) 自主性 网构软件系统中的软件实体具有相对独立性、主动性和自适应性。自主性使 其区别于传统软件系统中软件实体的依赖性和被动性。 2 ) 协同性 网构软件系统中软件实体与软件实体之间可按多种静态连接和动态合作方 式在开放的网络环境下加以互连、互通、协作和联盟。协同性使其区别于传统 软件系统在封闭集中环境下的单一静态的连接模式。 3 ) 反应性 指嗣构软件具有感知外部运行和使用环境并对系统演化提供有用信息的能 力;反应性使网构软件系统具各了适应i n t e r n e t 开放、动态和多变环境的感知能 力。 4 ) 演化性 武汉理工大学硕士学位论文 网构软件结构可根据应用需求和网络环境变化而发生动态演化,主要表现在 其实体元素数目的可变性,结构关系的可调节性和结构形态的动态可配置性; 演化性使网构软件系统具备了适应i n t e r n e t 开放、动态和多变环境的反应能力。 5 ) 多态性 网构软件系统的效果体现出相容的多目标性。它可根据某些基本协同原则, 在动态变化的网络环境下,满足多种相容的目标形态。多态性使网构软件系统 在网络环境下具备了一定的柔性和满足个性化需求的能力。 除此之外,网构软件在其组成、运行、目标、开发、可信、生存周期等方面 与传统软件系统也存在差异。 从系统组成的角度,网构软件与传统软件系统的主要区别可以从纵横两个 方面来看。从横向角度,网构软件是一种通常由第三方提供的、具有主体化服 务特征的分布在广域范围内的一种软件实体,通过各种类型风格各异的协同连 接子以互连互通形成的联盟。从纵向角度,网构软件包含两个层次的内容:目 标层与控制层。目标层除了包含传统软件系统之外,还包含显式的环境抽象。 控制层则主要包含感知部分和演化部分:感知部分用于反应环境的变化:演化 部分用于调节系统的行为。 从系统运行的角度,网构软件与传统软件的主要区别在于:网构软件强调了 环境驱动的特性。它的运行有两条主线:其一是控制层的运行,主要根据环境 的变化对运行系统按照所需的指标加以调整与演化,从而使目标层系统能够在 下一个时段更好地满足用户的需求。其二是目标层系统的运行,主要用于满足 某一时段内用户的需求;因此,宏观上,网构软件的运行是一种“满足用户阶 段性目标、与环境进行交互、系统进行演化与调整、再满足用户新的阶段性目 标一的循环过程。 从系统目标的角度,目标层系统的正确性只是目标层系统在一个时段内所 追求目标的一个方面,而控制层的主要作用就是通过对系统行为的调节来不断 满足用户在不同时段的不同要求。所以,总体来说,网构软件所追求的目标的 重点开始从刚性的正确性逐步转向随时段而变化的用户柔性满意度。 从系统开发的角度,与传统软件开发面向程序员或软件开发人员的一徽而就 特性不同,程序设计、软件开发的细节在面向最终用户的服务抽象下被适当屏 蔽,软件开发过程就是不断获取最佳的服务与增值服务的过程,在此过程中, 由主体化的软件实体与分离的协同机制所支持的成长式开发方式将基于构件组 装的软件复用思想隐含其中。 7 武汉理工大学硕士学位论文 从系统可信的角度,由于网构软件的主体性、协同性、反应性、演化性、多 目标性等特征,其可信性保障开始在传统的安全与可靠保障技术基础上,强调 一种在开放环境下基于历史运行信息评价的柔性可信度量、推断与应用机制。 从生存周期的角度,网构软件的生存周期强调的是一种以演化为主的动态模 型,而传统软件是以开发为主的静态模型,完全不同。网构软件的一种可能的 模型是“需求分析及其变化预测+ 系统环境规约一 目标系统设计十环境程序设 计+ 感知系统设计+ 演化控制机制设计一 网构软件系统实现一 系统与环境的交 互与演化卜 一 系统与环境的交互与演化1 1 。 2 2 软件体系结构 2 2 1 软件体系结构的基本概念 2 0 世纪6 0 年代的软件危机使得人们开始重视软件工程的研究。起初,人们 把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、 越来越复杂,软件系统的结构和规格说明显得越来越重要。对于大规模的复杂 软件系统来说,对总体的系统结构设计和规格说明比对计算的算法和数据结构 的选择重要得多。在此背景下,人们认识到软件体系结构( s o f t w a r ea r c h i t e c t u r e , s a ) 的重要性。 目前,软件体系结构已经在软件工程领域中有着广泛的应用,但对于其定义, 学术界还未形成统一意见,不同学者有不同看法。其中m a r ys h a w 和d a v i dg a r l a n 认为软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的 的算法设计和数据结构设计,是可预制和可重构的软件框架结构。由构件、连 接件和约束三部分组成,即软件体系结构可写成: 软件体系结构= 构件,连接件,约束) 。 其中,构件( c o m p o n e n t ) 可以是如程序模块的一组代码;也可以是如数据 库服务器一样的一个独立的程序。构件是相关对象的集合,运行后实现某逻辑 功能。它们或是结构相关( 如嵌套对象,其中的被嵌对象是嵌套对象的一部分) 或是逻辑相关( 若干聚集对象完成某功能) 1 3 2 j 。构件是相对独立的,仅通过接 口与外部进行交互,可作为独立单元嵌入到不同应用系统中。 连接件( c o n n e c t o r ) 可以是过程调用、管道、远程过程调用等,用于表示构 件之间的相互作用【3 3 1 。连接件是构件的粘合剂,它用于将不同构件连接起来构 成软件体系结构的一部分。连接件也是一组对象。它一般表现为框架式对象或 8 武汉理工大学硕士学位论文 转换式对象( 调用远程构件资源) ,例如“桩 ,“代理对象等。 一个软件体系结构还包括某些约束( c o n s t r a i n ) 。约束表示构件连接时的规则。 2 2 2 构件模型及实现 构件是指语法正确、语义完整、实现某种特定功能的单位软件,是软件系统 重用过程中可以明确辨认的系统。结构上,它是代码实现的复合体,具有特定 的语义描述和通信接口。总之,构件是有可重用价值、能够独立工作并能同其 他构件组装起来协调工作的程序体。在抽象程度上,面向对象技术已经实现了 类级的重用,它是以类的封装为单位。但是这样的重用粒度太小,构件的重用 可以是一组类的组合的封装,并完成一个或多个功能的特定服务,为用户提供 多个接口来使用。 构件模型是对构件本质特征上的抽象描述。目前,国内国外许多学者在构件 模型上已经做了很多工作,国际上已经提出了许多构件模型,这些模型的作用 和目标各不相同。其中国内较为突出的是北京大学杨芙清院士等人提出的“青 鸟构件模型 ,下面是它的模型图,如图2 2 所示。 图2 - 2 青鸟构件模型 其中,外部接口是构件与外部世界的一个交互点,说明构件所能提供的基 本信息,包括构件名称、功能描述、对外功能接口和参数化属性等。内部结构 包括两方面的内容:内部成员和内部成员之间的关系。构件实现是指代码构件, 在重组构件时不用关心构件的实现细节。 2 2 3 构件的管理 9 武汉理工大学硕士学位论文 一个大型的软件系统,一般由多个构件组成。对大量构件进行有效的管理, 可以方便构件的存储、检索和提取,为软件体系结构在自适应过程中的构件重 组提供方便。构件管理的内容包括构件描述、构件分类、构件库组织等。 1 ) 构件描述 构件描述主要是指构件模型,为构件的制作和使用提供依据。一般包括实现 方式、实现体、注释、大小、关联构件等信息。 2 ) 构件分类与构件库组织 应用系统中一般包含多个构件,方便使用构件,必须对收集和开发的构件进 行分类,并且放入构件库合适的位置。一般,构件分类方法有三类:关键字分 类方法、刻画分类法和超文本组织方法。 关键字分类法 关键字分类法的基本思想是:将每个概念用一个描述性的关键字表示,然后 根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序依次分解为有 向无回路图结构或树形结构。对于不可分解的原子级关键字,则隶属于它的某 些构件下。如图2 3 为构件库的关键字分类法的结构示例,并支持图形用户界面 的设计。 图2 3 关键字分类结构示例 当添加构件时,库管理员事先对构件的行为和功能进行分析,然后根据关键 字的分类结构将构件放入合适附属类别下面。倘若无法找到构件的属主关键字, 则添加新的关键字类,对现有的关键字结构进行扩充。前提是,库管理员事先 对新关键字的相同领域进行分析。 1 0 武汉理工大学硕士学位论文 刻画分类法 其思想起源于图书馆学,方便描述构件执行的功能、被操作的数据、构件应 用的语境或任意其他特征【刈。它是通过定义一些“面,来刻画构件的基本特征, 并且,每个面还包含一些概念,来指明构件在面上的基本特征。 对于简单的构件分类中使用刻画分类法的例子,可以使用下列构件描述符的 模式。 f u n c t i o n ,o b j e c tt y p e ,s y s t e mt y p e 刻画描述符中的每个刻画可含有一个或多个值,这些值一般是描述性关键 词,例如: f u n c t i o n = ( c o p y , f r o m ) o r ( c o p y , r e p l a c e ,a 1 1 ) 使用多个刻画值能够更加完全地细化原函数c o p y 。 超文本组织方法 其来源于全文检索技术,基本步骤是:1 ) 为每个构件添加详细的功能或行 为说明文档。2 ) 将文档中的构件以网状链接方式进行连接。用户在浏览文档时, 可以根据自己的思维方式任意跳转到所需概念或构件i 川。 超文本是一种非线性的网状信息组织方法,它以节点为基本单位,链作为节 点之间的联想式关联,如图2 4 所示。 l i j 一 r 。 一- 1一 - - - 。t 。- 。 一- i 图2 - 4 超文本结构示意图 一般情况下,结点是一个信息块。在图形用户界面上,结点是字符串或图像、 声音、动画等。对可重用构件而言,结点是构件名称、域概念、功能或行为名 称等。超文本组织方法为使用构件和构造构件提供了友好的、直观的方式。由 于超文本组织方法采用网状结构,更加自由、松散。所以,超文本组织方法相 对于前两种方法对构件库的修改、组织更加方便。 2 2 4 构件重构 武汉理工大学硕士学位论文 在软件体系结构进行自适应过程中,对于构件的使用一般包括以下工作:检 索与提取构件,理解与评价构件,最后将构件组装到软件系统中。 1 ) 检索与提取构件 构件库的检索方法与组织方式是一一对应的。 基于关键字的检索 它的基本思想是:将构件库的关键字以树形结构在图形用户界面上直观地展 现给用户;然后,用户根据需要在树形结构上逐级查找关键字,最后提取出相 应的关键字。用户也可以采用类似搜索引擎的方式,直接给出关键字,然后由 系统自动列出适合的候选构件清单。 刻画检索法 主要分为三步: i 构造查询:用户给出构件描述符,即构件在面上的特征。 检索构件:在构件库中查找出构件和相应的构件描述符。 对构件进行排序:对检索结果按照相似程度和相关度量信息进行排序。 超文本检索法 其步骤是:( 1 ) 使用者给出若干个关键字;( 2 ) 根据关键字进行精确或模糊 的匹配;( 3 ) 返回给使用者相应的构件清单说明,这些构件的说明是含有若于 个超文本结点的正文,用户通过阅读这些正文可以自由跳转到所需的构件上, 选择适合的构件。在跳转过程中,为了防止用户迷失方向,系统采用图形界面 提供历史信息图。用户可以将特定的画面定义为书签,然后随时跳转到指定的 书签。 2 ) 理解与评价构件 在系统中使用构件,必须先理解该构件。为了便于使用者对构件的理解,一 般在构件库的文档中,对构件的说明包括如下: 构件实现的功能 与该构件相关的领域知识 构件的适用范围 如何对该构件进行扩充 3 ) 构件组装 其主要是指将库中的构件相互连接,其中可以分为如下三类技术: 基于功能的组装技术 其主要是采用程序调用( 功能模块) 和参数传递的方式对构件进行组装。当 1 2 武汉理工大学硕士学位论文 然,构件必须以子程序模块或函数或过程的形式给出。 基于数据的组装技术 其首先给出一个系统框架,然后按照框架中各结点的要求提取相应的构件。 面向对象的组装技术 面向对象的基本特征就是封装性、继承性和多态性。正是由于面向对象的这 种特性使其比其他软件开发方法更适合支持构件的组装。一般把具有面向对象 特征的组装技术分为两类:构造法和子类法。构造法是指为了在子类中使用库 中基类的属性和方法,利用面向对象的继承性的特征,使子类继承基类已有的 属性和方法。子类法则不同,子类法是利用新子类为基类的子类,直接对基类 属性和行为的修改来完成对新子类的定义。 2 3 动态软件体系结构 动态软件体系结构是相对于静态软件体系结构而言的,静态软件体系结构在 运行时不能发生改变。如果系统需求或网络环境发生变化,它必须停止整个系 统运行,进行系统的维护或更新。显然,会给系统带来巨大的损失。因此,有 关学者开始研究动态软件体系结构,即允许在系统运行时发生更新的软件体系 结构。本文就是研究网构软件系统由于特殊需要必须在连续运行情况下的体系 结构变化。 软件体系结构的动态改变是经过一些事件触发开始,通过追踪工具发出一个 配置平衡信号追踪触发事件,系统维护人员开发出一个可选配置解决触发事件 的追踪问题【3 5 1 。在某些情况下要解决触发事件的追踪问题可能是困难的,此时, 维护人员不得不通过增加优先候选事件来寻找适当的候选事件,然后反复进行 试验。这样,维护人员就可以通过发送配置指示,让应用程序执行体系结构的 改变。在应用程序中,这些指示代表体系结构的第一类请求。有些系统使用第 一类请求的方法,但是另外一些系统就不能使用第一类请求的方法;此时,系 统的动态改变是由维护人员预先设置方法进行动态改变的评估和离线评估来验 证。 2 3 1 动态软件体系结构特征 动态软件体系结构的特征主要有三个特征:可构造性动态特征、适应性动 态特征和智能型动态特征。 1 3 武汉理工大学硕士学位论文 可构造性动态特征通常可以通过结合动态描述语言、动态修改语言和一个动 态更新系统来实现【蚓。如图2 5 所示。动态描述语言主要是描述应用系统软件体 系结构的初始配置;动态修改语言主要是描述体系结构发生改变时的改变,该 语言支持增加或删除、激活或取消体系结构元素和系统遗留元素;动态变更可 以通过体系结构框架或者中间件实现。本文的动态变更就是使用体系结构框架 来实现的。 适应性动态特征要求应用程序立即反映当前事件的能力,此时程序不能进行 等待,必须把初始化、选择和执行整合到体系结构框架或中间件里面【3 7 l 。适应 性动态特征是所有事件在开发期间就已经进行了评估,然后在执行期间,动态 改变通过一系列预定义的事件集触发,最后体系结构选择一个合适的配置来执 行系统的重构。它是基于一些预定义的配置来进行实施的。如图2 6 所示描述了 由事件触发改变的适应性动态特征。 智能型动态特征是用一个有限的预配置集来移除约束。如图2 7 所示,它描 述的是一个具有智能型动态特征的应用程序体系结构。相比适应性体系结构特 征而言,智能性体系结构特征改善了配置选择转变的功能。智能型动态特征是 从动态构造候选配置中选择,与适应性特征( 从一系列固定的配置中选择一个 适应体系结构的配置) 不同。由于智能型特征的复杂性,在实际的软件体系结 构中并没有太多的系统能够用到这种方法。 因此,本文中软件体系结构的动态改变的方法采用适应性动态特征的方法。 图2 5 可构造性动态特征 1 4 武汉理工大学硕士学位论文 图2 - 6 适应性动态特征 图2 7 智能型动态特征 2 3 2 软件体系结构动态模型 软件体系结构要实现动态变化还要求有合适的动态模型。软件体系结构动 态模型主要是基于构件的动态结构模型( c o m p o n e n tb a s e dd y n a m i cs y s t e m a r c h i t e c t u r em o d e l ,c b d s a m 模型) ,它支持运行系统的动态更新。该模型分为三 层:应用层、中间层和体系结构层,如图2 8 所示。 武汉理工大学硕士学位论文 体系 结构屡 中间层 应用层 图2 8c b d s a m 应用层处于最底层,包括构件连接、构件接口和执行。构件连接描述了连接 件如何与构件相连接;构件接口定义了构件提供的服务,例如信息、操作和变 量等。在这一层,可以添加新的构件、删除或更新已经存在的构件。 中间层包括连接件配置、构件配置、构件描述及执行。连接件配置主要管理 连接件及接口的通信配置;构件配置管理构件的所有行为;构件描述对构件的 内部结构、行为、功能和版本等信息加以描述【蚓。在这一层,可以添加版本控 制机制和不同构件装载方法。 体系结构层位于最上层,控制和管理整个体系结构,包括体系结构配置、体 系结构描述和执行。其中,体系结构配置控制整个分布式系统的执行,并且管 理配置层;体系结构描述主要是描述构件和他们相联系的连接件数据;它是对 体系结构层的行为进行描述。 c b d s a m 中,每一层都有一个执行部分,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论