(计算机软件与理论专业论文)面向网构软件的软件协同框架研究.pdf_第1页
(计算机软件与理论专业论文)面向网构软件的软件协同框架研究.pdf_第2页
(计算机软件与理论专业论文)面向网构软件的软件协同框架研究.pdf_第3页
(计算机软件与理论专业论文)面向网构软件的软件协同框架研究.pdf_第4页
(计算机软件与理论专业论文)面向网构软件的软件协同框架研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机软件与理论专业论文)面向网构软件的软件协同框架研究.pdf.pdf 免费下载

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

文档简介

江苏大学硕士学位论文 摘要 随着i n t e r n e t 这一新型计算环境的普及,计算机软件所面临的运行环境丌始 从静态封闭走向动态开放。而i n t e r n e t 所具有的无统控制的“真”分布性、节 点高度自治性、节点链接的丌放性和动态性、实体行为的不可预测性以及网络连 接环境的多样性等特征对软件系统产生了巨大的影响,深刻地改变了传统的技术 以及应用,业务和产业模式。因此,如何在开放、动态、难控的网络环境下实现 各类资源的共享和集成已经成为计算机软件技术面临的重要挑战之一。 网构软件( i n t e r n e t w a r e ) 作为一种新型的软件丌发思想一经提出,为网络 环境下实现各类资源的共享和集成的软件方法和技术体系提供了新思路。本文在 对网构软件协同特性分析的基础上,结合一般环境下讨论软件协同机制的经验, 进行了面向网构软件的软件协同框架的研究。 本文的主要工作如下: 1 在对网构软件协同特性分析的基础上,设计了面向网构软件的软件协同 框架的协同模型及体系结构,并对体系结构进行了规约定义。 2 研究了基于p e t r i 网的网构软件实体聚合模型。分析了网构软件实体聚合 模型的设计需求,对基于p e t r i 网的网构软件聚合模型的定义、匹配、组织进行 了深入的研究,并给出了一种可行的方法。 3 设计了基于移动a g e n t 的网构软件实体组装机制。使用移动a g e n t 作为软 件实体之间的灵巧连线,设计了移动a g e n t 路径信息和功能体分离的基于x m l 格式的组装模型,利用基础单元结构嵌套的表示复杂的p e t r i 模型,并以此作为 移动a g e n t 迁移依据,为支持软件实体问的动态装配提供支撑机制。 4 阐述了基于软件体系结构的网构软件动态演化机制,通过影响因子来衡量 实体问拓扑结构演化对系统的波及效应,利用p e t r i 网的动态运行规则规模拟软 件实体之间协调的过程。 5 最后,在论文研究的基础上,对平台的关键技术进行了实现。 关键词: 网构软件;协同框架;p e t r i 网;移动a g e n t ; 江苏大学硕士学位论文 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 no ft h en e wc o m p u t a t i o ne n v i r o n m e n t ,t h ec o m p u t e r a p p l i c a t i o n sh a v ef u l l c a m ei n t ot h ei n t e r n e te r a t h er u n t i m ec o m p u t e rs o f t w a r e f a c e d b e g a nt os h i f tf r o mas t a t i cc l o s e dt od y n a m i co p e n ag o o dm a n yf e a t u r e s p o s s e s s e db yi n t e m e t ,s u c ha st h e ”t r u e ”d i s t r i b u t i n gw i t h o u tu n i f i e dc o n t r o l ,t h en o d e s e l f - g o v e r n i n gi nh i g hd e g r e e ,t h eo p e na n dd y n a m i cn a t u r eo ft h en o d el i n k s ,t h e u n p r e d i c t a b i l i t y o fe n t i t yb e h a v i o r ,t h ed i v e r s i t yo ft h en e t w o r kc o n n e c t i o n s e n v i r o n m e n t ,a n ds oo n ,h a s b r o u g h tg r e a ti n f l u e n c eo ns o f t w a r es y s t e ma n d p r o f o u n d l yc h a n g e dt h et r a d i t i o n a lt e c h n o l o g i e sa n da p p l i c a t i o n s ,b u s i n e s sa n d i n d u s t r ym o d e l s a tt h es a m et i m e ,t h es c a l ea n dc o m p l e x i t yo fs o f t w a r es y s t e m r u n n i n go ni n t e m e tb e c o m em o r ea n dm o r eh i g h s oh o wt os h a r ea n di n t e g r a t ea l l k i n d so fr e s o u r c e sa n dd e v e l o pc o m p l e xs o f t w a r es y s t e m si nt h i so p e n ,d y n a m i ca n d h a r d c o n t r o l l e di n t e r n e te n v i r o n m e n t ,h a sb e c a m eac h a l l e n g i n gr e s e a r c ht o p i c c o m p u t e rs o f t w a r et e c h n o l o g yf a c e d a st h en e w t y p eo fs o f t w a r ed e v e l o p m e n ti d e a sw a sr a i s e d ,i tp r o v i d e san e w i d e ao ft e c h n o l o g ys y s t e mw h i c hr e a c h e ro nh o wt os h a r i n ga n di n t e g r a t i o no ft h e s o f t w a r em e t h o d s w ec o m b i n e dw i t hag e n e r a ld i s c u s s i o no ft h es o f t w a r eu n d e rt h e e x p e r i e n c eo fc o l l a b o r a t i v em e c h a n i s m s ,d os o m ew o r ko nc o l l a b o r a t i v es o f t w a r e f r a m e w o r kf o ri n t e r n e t w a r e t h em a i nw o r ko ft h i sp a p e ri sa sf o l l o w s : 1 b yc o m p a r a t i v e l ya n a l y z i n gc o o p e r a t i v eo fi n t e m e t w a r e ,t h ec o l l a b o r a t i v e m o d e la n dt h es o f ta r c h i t e c t u r ew a sr e s e a r c h e d ,a n dw eg i v eas t a t u t ed e f i n e so fs o f t a r c h i t e c t u r e 2 r e s e a r c ho nt h ei n t e g r a t i o nm o d e lf o ri n t e r n e tb a s e do nt h ep e t r in e t c o m p a r a t i v e l ya n a l y s i s t h e d e s i g n r e q u i r e m e n t s o ft h ei n t e g r a t i o nm o d e lf o r i n t e r n e t w a r e ,a n dp r e s e n t saf e a s i b l em e t h o do fh o w t od e f i n e ,m a t c h ,o r g a n i zt h es o f t e n t i t i e so fi n t e r n e t w a r ew h i c hi sb a s e do np e t r in e t 3 d e s i g nt h ea s s e m b l ym e c h a n i s mf o ri n t e m e t w a r eb a s e do nt h em o b i l ea g e n t , w h i c hu s em o b i l ea g e n t sa st h el i n k e ri ns o f te n t i t i e s d e s i g nt h ea s s e m b l ym o d e l w h i c ht h ep a t hi n f o r m a t i o n so fm o b i l ea g e n tw a ss e p a r a t e df r o mt h ef u n c t i o nb o d y u s et h eb a s i cu n i ts t r u c t u r et oe x p r e s st h ec o m p l e xm o d e lb a s e do np e t f in e tw h i c h i l 江苏大学硕士学位论文 c a np r o v i d es u p p o r tm e c h a n i s m so fd y n a m i ca s s e m b l yf o rs o f te n t i t i e s 4 d e s c r i b e dt h ed y n a m i ce v o l u t i o nm e c h a n i s mb a s e do ns o f t w a r ea r c h i t e c t u r ef o r i n t e r n e t w a r ew h i c hu s et h et h ei n f l u e n c i n gf a c t o r sa n dt h ed y n a m i co p e r a t i o nr u l e st o d e s c r i b es e v e r a lb a s i cs y s t e me v o l v e m e n ta c t i v i t i e s 5 f i n a l ,o nt h eb a s i so ft h i sp a p e r , w ei m p l e m e n tt h ek e yp o i n t sa n dm a j o r m o d u l e s k e yw o r d s : i n t e r n e t w a r e ,c o l l a b o r a t i o nf r a m e w o r k ,p e t r in e t ,m o b i la g e n t 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文 的规定,同意学校保留并向国家有关部门或机构送交论文的 复印件和电子版,允许论文被查阅和借阅。本人授权江苏大 学可以将本学位论文的全部内容或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和 汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密一。 学位论文作者硌捌 指导教师签名:护跏 计年6 月。7 日 年月日 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中己注明引用 的内容以外,本论文不包含任何其他个人或集体已经发表或 撰写过的作品成果。对本文的研究做出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的 法律结果由本人承担。 学位论文作者签名: 日期:如b 年月,7 日 江苏大学硕士学位论文 1 1 研究背景 第一章绪论 目前,计算机应用已经全面进入了i n t e r n e t 时代,计算机软件所面临的运 行环境丌始从静态封闭走向动态开放。而i n t e r n e t 所具有的无统一控制的“真” 分布性、节点高度自治性、节点链接的开放性和动态性、实体行为的不可预测性 以及网络连接环境的多样性等特征对软件系统产生了巨大的影响,深刻地改变了 传统的技术以及应用,业务和产业模式。因此,如何在开放,动态,难控的 i n t e r n e t 环境下实现各类资源的共享和集成以及复杂软件系统的开发已经成为 计算机软件技术面临的一项挑战性研究课题。 软件开发主要经历了3 个发展层次:面向对象、基于构件、面向服务 1 ,2 ,3 一“ 面向对象的软件丌发方法面向具体问题,支撑个体软件开发者,系统 开发呈现一阶段集中式结构,问题和解是按照顺序逐步明确的,比较适合中小型 项目:面向构件的软件开发方法是面向群体问题,由群体开发者进行工业化开发, 构件开发与系统组装呈现两阶段分离式结构,构件在很大程度上支持了共享与复 用:而面向服务的开发( s e r v i c eo r i e n t e dd e v e l o p m e n to fa p p l i c a t i o n s ,简称 s o d a ) 首先以创建和组装服务和服务合同为中心,把设计和实现用于服务的对象 和组件推迟到解决粗粒度服务合同之后,s o d a 开发人员更多地注重应用程序内 部及其相互之问的流程流,而对于创建底层系统的代码就没那么关心了,s o d a 呈现服务发布查询使用三阶段松耦合结构。上述转变体现了软件丌发方法开始 从具体的问题求解层经过群体问题的产业化生产层,开始向面向大量最终用户服 务层的过渡,从而更加适合开放环境的需要。 然而,单纯的面向对象、面向构件以及面向服务的软件开发技术都不能满足 i n t e r n e t 环境下软件开发的需求,其在基础软件模型、软件方法与技术、基本 的支撑机制等方面都存在一定的限制。in t e r n e t 环境下的软件开发通常不能再 假设整个系统中各个部分都遵从统一的设计和管理,不能完全精确地预先确定系 统的结构组成和每个组成的行为。同时由于环境的动态性和管理的分散性,可能 需要在不同的时刻实施不同的协同行为。因此,i n t e r n e t 环境下的软件模型一 方面要有有效的协同机制来支持、管理和控制i n t e r n e t 上的实体间的交互,另 一方面又必须提供足够的灵活性以适应环境和应用的不同需求。 为了适应这样一种开放的环境,出现了以w w w ,计算网格,网络嵌入式系统 为标志的大规模资源共享与集成和多种新型计算模式,如网格计算,移动计算, 江苏大学硕士学位论文 普适计算等等 1 2 - 1 5 。而这些技术都没有很好的解决基于i n t e r n e t 的软件系统 在动态开放环境中自主性,协同性等问题。基于i n t e r n e t 的软件系统可以看成 是由一系列分布式的自主计算资源动态形成的,完成特定任务的软件联盟。与之 相适应,软件系统开始呈现一种柔性,多目标,连续反应式的新的系统形态。从 技术角度来看,以软件构件等技术支持的软件实体以开放,自主的方式存在于 i n t e r n e t 的各个节点之上,任何一个软件实体都可以在开放的环境中以各种协 同方式与其他软件实体进行跨网络的互连,互通,协作和联盟,并能感知外部网 络环境的动态变化,并随着这种变化按照功能指标,性能指标和可信性指标等进 行静念调整和动态演化,以使系统具有尽可能高的用户满意度,文献 1 6 1 7 将 这样一种新的软件形态称为网构软件( i n t e r n e t w a r c ) 。 具体而言,网构软件包括一组分布于i n t e r n e t 环境下各个节点的、具有主 体化特征的软件实体,以及一组用于支撑这些软件实体以各种交互方式进行协 同的连接子这些实体能够感知外部环境的变化,通过体系结构演化的方法( 主 要包括软件实体与连接子的增加、减少与演化、以及系统拓扑结构的变化等) 来 适应外部环境的变化,展示上下文适应的行为,从而使系统能够以足够满意度 来满足用户的多样性目标网构软件这种与传统软件迥异的形态,在微观上表 现为实体之问按需协同的行为模式,在宏观上表现为实体自发形成应用领域的 组织模式相应地,网构软件的开发活动呈现为通过将原本“无序”的基础软件 资源组合为“有序”的基本系统,随着时间推移,这些系统和资源在功能、质 量、数最上的变化导致它们再次呈现出“无序”的状态,这种由“无序”到“有 序的过程往复循环,基本上是一种自底向上、由内向外的螺旋方式 由于网构软件概念框架与逻辑内涵与经典的软件体系在诸多方面存在着差 异,因此,它必然在理论、模型、技术等方面对传统的经典的软件方法与技术体 系提 h 挑战,这些挑战体现在软件协同机制方面具体有: 软件协同的分离化:如何将协同机制从软件实体中分离出来,并提供灵 活多样的协同方式以支撑软件结构模型的协同化。 运行机制的自适应性:如何在开放、动态、难控环境下,使得软件系统 对外部环境的变化具有自适应能力。 核心理论形式化:如何面向开放环境需求,为上述技术找到一套较为合 适的、一致的形式体系作为新一代软件协同方法学的理论基础。 所以面向网构软件的软件协同框架及其理论的研究研究应该紧密围绕 上述关键问题进行。 2 江苏大学硕士学位论文 1 2 研究现状 近年来,有关基于i n t e r n e t 环境下分布式软件及其相关技术的研究逐渐成 为人们关注的检点,为部署在i n t e r n e t 环境下复杂软件系统的丌发寻找新的概 念、模型和方法,北京大学的杨芙清老师和梅宏老师、南京大学的吕建老师等首 先提出了网构软件的概念和思想 1 8 ,1 9 ,2 0 ,并与华东师范大学何积丰老师、 南京大学李宣东老师、中科院金芝老师、陆汝铃老师和黄涛老师,清华大学陈玉 健和王建民老师等丌展了有关网构软件的形式化理论、软件模型、开发方法和平 台框架等方面的研究。主要研究成果如下: 1 基于模型技术。如y o d e r 等人提出了自适应的对象模型a o m ( a d a p t i v e o b j e c tm o d e l ) 口,用户可以在以元模型描述的抽象层次上,应用支撑工具定制 系统,并在运行时应用反射技术将描述系统的配置信息映射为对象模型的运行时 描述。a o m 方法以元数据描述对象模型,元数据是有关业务实体的属性、行为、 实体间关系、业务规则等的配置描述信息。密歇根州立大学b e t t yh c c h e n g 教授提出了基于模型的自适应软件验证方法。该方法支持自适应行为与非自适应 行为的分别规约,可应用于不同的基于状态的建模语言中,方法提供了一种将模 型作为基本的自动产生可执行原型的技术,并且确保模型在高层需求阶段和自适 应程序实现阶段的一致性。 2 基于软件体系结构技术。软件体系结构中的部件和连结子的增加、删除、 替换对应于软件系统自演化的各个方面的行为,从而在宏观层次上体现了软件演 化的行为。同时软件体系结构中的配置和约束方面的工作为软件演化提供了完整 性和一致性检查的呵能。南京大学的吕建教授及其研究小组对软件热演化进行了 研究,提出了自演化软件支撑平台a r t e m i s - m a c ,将软件体系结构内嵌于面向对 象程序设计模型并提供了相应的演化支撑机制。s e u n g h w al e e 等人提出了基于 多a g e n t 的自适应系统的体系结构醯引,基于该体系结构设计的自适应软件系统 可以对预先未知的情况自动进行处理。系统具有自增长引擎,能够更新老的规则 并生成新的规则,并通过对系统资源和用户行为的观察来确定合适的行为来响应 环境的变化。m i c h a e ll u c k 与p e t e rm c b u r n e y 等人提出了基于a g e n tb d i ( b e l i e fd e s i r ei n t e n t i o n ) 认知体系结构来构造自适应软件系统的方法1 通过 该方法设计的自适应软件不仅可以感知环境的变化,也可以感知并适应系统自身 的行为。加州大学i r v i n 分校的t a y l o r 教授领导开发的a r c h s t u d i o 系统,欧 盟资助的a r c h w a r e 项目,以及c m u 的g a r l a n 教授提出的r a i n b o w ,都试图通 过体系结构的途径对可演化、自适应提供支持。以r a i n b o w 为例,它是一种自演 化、自适应的模型。该模型通过一种“外置”的适应方法,在系统运行时保存一 江苏大学硕士学位论文 个或者多个系统体系结构模型,这些模型对运行系统提供一个抽象的、全局的视 点,可以支持对运行系统遇到的问题的原冈和系统所处环境的变化分析和推理, 然后根据既定的策略规则做出改变系统体系结构的决策,并通过中问翻译层将决 策具体作用于系统层,从而实现自适应行为。 3 基于中间件技术。m o u r a 等人提出了使用c o r b at r a d i n gs e r v i c e 支持对 动态组件的选择,并且支持对动态变化的需求的监测。北京大学梅宏教授及其研 究小组开发了基于反射式的j 2 e e 应用服务器p k u a s 比们,该服务器通过中问件束 支持运行时查看并调整内部状态和行为,以实现反射体系对系统整体的表示和控 制。 1 3 研究的内容 在上述分析的基础上,我们提出采用在计算机和自动化界已广泛应用的p e t r i 网技术和移动智能主体( m o b l ei n t e l l i g e n ta g e n t ,在不会引起混淆的情况下,均简 称移动a g e n t 技术) 对网构软件协同机制进行研究。其思路可以简单的表述为: 借助p e t r i 网理论对软件实体服务的组合进行建模,完成开放环境下各软件实体 功能的剪裁和集成;使用移动a g e n t 作为协同机制的实现者,设计了移动a g e n t 路径信息和功能体分离的x m l 格式的组装模型,为支持软件实体问的动态装配 提供支撑机制;通过影响因予来衡量实体演化对系统的波及效应,根据动态运行 规则确定系统演化时所采取的动念调整策略。 本文的主要内容如下: 研究了基于p e t r i 网的嘲构软件实体聚合模型。分析了网构软件实体稽核 模型的设计需求,对基于p e t r i 网的网构软件聚合模弛的定义、匹配、组 织进行了深入的研究,并给出了可行的方法,该网构软件实体聚合模型可 以提供一个能够整合分布的软件实体库的逻辑视图,以完成开放环境下各 软件实体功能的剪裁和集成,为下一步组织调度相关网构软件实体提供依 据。 设计了基于移动a g e n t 的网构软件实体组装机制。使用移动a g e n t 作为软 件实体之间的灵巧连线,设计了移动a g e n t 路径信息和功能体分离的基于 x m l 格式的组装模型,利用基础单元结构( b a s i cu n i ts t r u c t u r e ) 嵌套的 表示复杂的p e t r i 模型,层层递归,逐层剥离,将一个复杂的p e t r i 网系 统表示为若干个简单的,具有类似结构的子网的组合,并以此作为移动 a g e n t 迁移依据,提高系统组装的效率和精确度,为支持软件实体间的动态 装配提供支撑机制。 4 江苏大学硕士学位论文 阐述了基于软件体系结构的网构软件动态演化机制,为框架的动态演化提 供了一个初步的解决方案。通过影响因子来衡量实体间拓扑结构演化对系 统的波及效应,利用p e t r i 网的动态运行规则规模拟软件实体之问协调的 过程,通过学习设定一个影响因子的阈值,根据系统行为一致性的要求调 整系统结构的相关细节,并确定系统演化时所采取的动态调整策略。 1 4 论文结构 本文的内容围绕面向网构软件的软件协同机制等相关理论和技术展丌,共分 六章,具体内容安排如下: 第一章绪论 本章介绍了本文的研究背景,归纳了我们所面临问题的需求,明确了研究的 重点和方向,并简要介绍了本文的主要工作和成果。 第二章网构软件发展与现状技术概述 本章介绍了网构软件的概念和本文所用相关技术的概述,分析了网构软件的 特点和丌发方法,力图帮助读者建立一个比较完整的网构软件理论体系,并对本 文所用相关技术有所了解。 第三章面向网构软件的软件协同框架体系结构设计 本章总结了网构软件协同模型的设计需求,在分析了一般协同框架的特点的 基础上提出了一种面向网构软件的软件协同框架,对框架的组成、架构进行了深 入的研究,详细阐述了基于浚框架的网构软件协同方式。 第四章软件协同框架的基本原理与核心机制 本章分为三个部分,依次介绍了基于p e t r i 网的网构软件实体聚合模型、基 于移动a g e n t 和x m l 的网构软件实体组装模型和框架的动态演化机制。其中网 构软件实体聚合模型主要使用p e t r i 网来形式化描述实体功能,通过实体匹配策 略和聚合建模算法生产网构软件实体聚合模型,并对该算法的部分性能进行了分 析;基于移动a g e n t 和x m l 组装模型在上一部分的基础上,进一步的抽取出模 型中并发与顺序的关系,并依此为组装模型的构建提供依据;通过影响因子来衡 量实体演化对系统的波及效应,根据动态运行规则确定系统演化时所采取的动态 调整策略。最后通过一个示例来验证本章中所给出的相关结论。 江苏大学硕士学位论文 第五章框架关键技术的实现 基于前文的理论研究和设计的成果,对面向网构软件的软件协同框架关键技 术进行了实现。 第六章总结与展望 是本文的最后一章,对全文的工作进行了总结,并建议了下一步的研究方向。 6 江苏大学硕士学位论文 第二章网构软件与相关技术概述 本章主要介绍了网构软件及其相关技术。首先介绍了网构软件技术背景,说 明了网构软件的特征以及发展与挑战,在此之后介绍了面向网构软件软件协同框 架的支撑技术! 其中包括p e t r i 网理论、移动a g e n t 技术理论、软件体系结构的 相关知识,这些为本文下一步的研究工作做了铺垫。 2 1 网构软件基础理论 2 1 1 网构软件的提出 网构软件概念的提出不是偶然地,随着i n t e r n e t 平台的快速发展,人们对 分布式计算机资源,软件形态和软件开发方法有了新的研究,并提出了一系列新 的理论和方法。在基础理论方面j 英国学者在文献 2 5 中提出了g l o b a l u b i q u it o u sc o m p u t e r ( g u c ) 的理念,g u c 包含了u b i q u i t o u sc o m p u t i n g ( u c ) 和 g l o b a lc o m p u t i n g 的观念。s h a wm 等也提出了屏蔽网络的复杂性和异构性,使 我们能跨越网络透明的访问各种分布的信息并且同处理,实现“t h en e t w o r ki s c o m p u t e r ”的概念 2 6 。在新型软件形态方面,s h a w 等从资源集成与共享的角 度提出了o p e nr e s o u r c e sc o a l i t i o n s ( o r c ) 的概念,o r c 是指由分布自主的资源 所动态形成的、面向特定任务的临时联盟,这些资源可以是信息、计算、通信、 控制或服务 2 7 ,2 8 ,2 9 。 北京大学杨芙清教授在2 0 0 2 年于文献 2 5 中首次指出:以软件构件等技术支 持的软件实体将以丌放、自主的方式存在于i n t e r n e t 的各个节点之上,任何一 个软件实体可在丌放的环境下通过某种方式加以发布,并以各种协同方式与其它 软件实体进行跨网络的互连、互通、协作和联盟,从而形成一种与当前的信息 w e b 类似的s o f t w a r ew e bas o f t w a r ew e b 不再仅仅是信息的提供者,而是各种 服务( 功能) 的提供者。由于网络环境的丌放与动态性,以及用户使用方式的个性 化要求,从而决定了这样一种s o f t w a r ew e b 并不能够像传统软件那样一蹂而就, 它应能感知外部网络环境的动态变化,并随着这种变化按照功能指标、性能指标 和可信性指标等进行静态的调整和动态的演化,以使系统具有尽可能高的用户满 意度。我们将这样一种新的软件形态称之为网构软件( i n t e r n e t w a r e ) 。 南京大学吕建教授在文献 2 6 中对网构软件进行了如下总结:网构软件是丌 7 江苏大学硕士学位论文 放、动态和难控网络环境下的分布式软件系统的一种抽象,它包括一组分布于 i n t e r n e t 环境下各个节点的、具有主体化特征的软件实体,以及一组用于支撑 这些软件实体以各种交互方式进行协同的连接子:整体而言,它能够感知外部环 境的变化,通过体系结构演化的方法( 主要包括软件实体与连接子的增加、减少 与演化、以及系统拓扑结构的变化等) 来适应外部环境的变化,展示上下文适应 的行为,从而使系统能够以足够满意度来满足用户的多样性目标。 北京大学梅宏教授也在文献 3 0 中描述了这种新型的软件形态,并给出了 a b c ( a r c h it e c t u r eb a s e dc o m p o n e n tc o m p o s i t i o n ) 方法来有力的支持了网构 软件的开发。a b c 是一种以软件复用为核心思想、以软件构件为基本实体、以软 件体系结构为中心、以软件中问件为运行支撑的软件开发方法;是软件体系结构 ( s o f ta r c h it e c t u r e ) 研究和基于构件的软件开发( c o m p o n e n tb a s e ds o f t w a r e d e v e l o p m e n t ) 途径的结合。 网构软件概念框架见图l : 2 1 2 网构软件的特征 图l 网构软件概念示意图 网构软件是在i n t e r n e t 开放、动态和多变环境下,软件系统基本形态的一 种抽象,它既是传统软件结构的自然延伸,又具有区别于在集中封闭环境下发展 起来的传统软件形态的独有的基本特征。 8 江苏大学硕士学位论文 网构软件自主性是指软件实体具有相对独立性、主动性和自适应性从技术 角度看,网构软件实体一般都足独立开发和管理的,它们可能在不同的网络节 点上独立运行它们的目标和所提供的服务由其所有者来决定,其行为受自身 的目标驱动,而并非单纯地被动用于组装或部署它们在运行过程中可能实时 收集环境的各种变化信息,并根据预先设定好的策略,在必要时自动调整自身 的行为以适应环境的变化。 协同性是指网构软件系统中软件实体与软件实体之问可按多种静态连接和 动态合作方式在开放的网络环境下加以互连、互通、协作和联盟从技术角度看, 传统软件系统在封闭集中环境下往往采用单一静态的连接模式,而网构软件则 支持连接模式的适应性调整,如,不同互操作协议的切换,连接安全级别的升 降,同步异步的转变,消息传递呵靠性的调整等。 反应性是指网构软件具有感知外部运行和使用环境并对系统演化提供有用 信息的能力从技术角度看,网构软件的外部环境山其他网构软件以及底层支 撑平台组成,因此,反应性既要求网构软件能够以某种方式暴露自身的状态和 行为信息,也要求网构软件支撑平台能够丌放底层实现细节及运行状态。 演化性是指网构软件结构可根据应用需求和网络环境变化而发生动态演化, 主要表现在其实体元素数目的可变性,结构关系的可调节性和结构形态的动态可 配置性从技术角度看,演化性要求软件体系结构具备动态调整能力。 多态性是指网构软件系统的效果体现出相容的多目标性,它可根据某些基 本协同原则,在动态变化的网络环境下,满足多种相容的目标形态从技术角 度看,多态性既要求系统丌发过程中需要支持多目标建模,又要求系统运行时 能够基于环境变化进行动态目标的适应性选择基于上述分析,网构软件诸多 特性在技术上的主要共性可归结为自适应性,具体表现为软件实体的自适应性 和软件结构的自适应性,即,网构软件在运行过程中能够在合适的时刻、合适的 场合、准确捕捉变化并进行合理的适应性调整,以满足功能和质量的需求。 2 1 3 网构软件的发展与挑战 在国家重点基础研究发展规划( 9 7 3 ) 的支持下,来自北京大学、南京大学、 清华大学、中国科学院软件研究所、中国科学院数学研究所、华东师范大学、东 南大学、大连理工大学、上海交通大学等单位的研究人员以我国软件产业需支持 信息化建没和现代服务业为主要应用目标,提出了“i n t e r n e t 环境下基于 a g e n t 的软件中间件理论和方法研究,并形成了一套以体系结构为中心的网 构软件技术体系,主要包括3 个方面的成果:在网构软件实体模型方面,剥离 9 江苏大学硕士学位论文 对开放环境以及其他实体的固化假设,以解除实体之间以及实体与环境之间的 紧密耦合,进而引入自主决策机制来增强实体的主体化特性:在网构软件实体 协同方面,针对面向对象方法调用受体固定、过程同步、实现单一等缺点,对其 在开放网络环境下予以按需重新解释,即,采用基于软件体系结构的显式的协 同程序设计,为软件实体之问灵活、松耦合的交互提供可能:在网构软件运行平 台( 中间件) 方面,通过容器和运行时软件体系结构分别具体化网构软件基本实 体和按需协同,并通过构件化平台、全反射框架、自治回路等关键技术实现网构 软件系统化的自治管理:在网构软件开发方法方面,提出了全生命周期软件体 系结构以适应网构软件开发重心从软件交付前转移到交付后的重大变化,通过 以体系结构为中心的组装方法支持网构软件基本实体和按需协同的开发,采用 领域建模技术对无序的网构软件实体进行有序组织。 由于网构软件概念框架与逻辑内涵与经典的软件系统在上述诸多方面存在 差异,因此,它必然在理论、模型、方法、技术、应用等方面对经典的软件方法 与技术体系提出挑战,这些挑战如一f 所示引: 基本理念的开放化:如何从软件的角度来认识开放环境下基础平台、应用需 求、以及软件系统的特征。 软件实体的主体化:如何从开放的开发与运行的角度,使软件实体具有较好 的内容自包含性、结构独立性与实体适应性。 软件协同的分离化:如何将协同机制从软件实体中分离出来,并提供灵活多 样的协同方式以支撑软件结构模型的协同化。 运行机制的自适应:如何在开放、动态、难控环境下,使得软件系统对外部 环境的变化具有自适应能力。 开发方法的群体化:如何使得软件开发活动从面向单个程序员的开发式变为 面向群体最终用户的成长式。 外部环境的显式化:如何从开放、动态、难控的角度对软件系统的外部环境 特征进行分析、建模、以及处理。 系统管理的自治化:如何使得开放环境下的复杂软件系统能够根据管理者的 要求实现自我管理。 系统保障的可信化:如何在经典安全与可靠技术基础上为开放环境下软件系 统的可信性提供可行的支撑。 核心理论的形式化:如何面向开放环境需求,为上述技术找到一套较为合用 的、一致的形式体系作为新一代软件方法学的理论基础。 技术体系系统化:上述方法、技术与系统主要涉及网构软件的某一侧面,如何 面向应用系统的需求,建立相应的方法与技术体系。 l o 江苏大学硕士学位论文 网构软件的宏观设想、基本特征、概念框架、逻辑内涵、关键技术是未来 软件方法与技术的一剃,抽象规约,能够满足上述要求的具体的网构软件与方法 的技术体系应该是多种多样的,它们应该是在某一应用背景或应用模式框架下, 选取上述各类方法、技术要素,进行适当的剪裁,并加以有机融合而成就现阶 段而言,研究工作的主要内容侧重于丌放环境下的局部化的方法、技术与系统的 研究,而系统化的方法与技术体系则比较多的集中于基本理念与探索阶段。 2 2p e t ri 网理论 p e t r i 网是异步并发系统建模与分析的一种重要工具,它是由德国科学家 c a p e t r i 教授于1 9 6 2 年在其博士论文中首先创建的,现己在全世界的许多国 家得到重 ! 1 5 l ,成为计算机界、自动化界的热门研究话题并已经取得了巨大的成就。 其他的多主体建模方法相比,p e t r i 网具有以下优点: ( 1 ) 具有极强的描述能力。已经证明:对于加抑止弧的p e t r i 网,其描述能力 等价于图灵机。 ( 2 ) 对并发、同步等现象可以进行很好的描述与分析。 ( 3 ) 是一种图形化的建模工具。能以直观的方式表达系统的特性。 ( 4 ) 具有一套成熟的数学理论,建立了许多完善的分析技术。 ( 5 ) 应用领域广泛,涉及到人工智能,网络协议的分析与验证,分布式计算, 网格技术等诸多领域。 ( 6 ) 模块化。p e t r i 网可以使用层级建模的方法,实现模块化和逐步求精, 具有很好的町重用性,对软件设计和丌发人员的工作具有重要的指导意义。 2 3 移动a g e n t 技术理论 移动a g e n t ( m o b i l ea g e n t ) 3 1 的概念是9 0 年代初由g e n e r a i m a g i c 公司在 推出商业系统t e l e s c r i p t 时提出的。移动a g e n t 是一个代替人或其它程序执行 某种任务的程序,它在复杂的网络系统中能自主地从一台主机移动到另一台主机 3 2 ,该程序能够选择何时、何地移动。在移动时,该程序可以根据要求挂起其 运行,然后转移到网络的其它地方重新丌始或继续其执行,最后返回结果和消息。 移动a g e n t 是一个独立的计算机程序,它可以自主地在异构的网络上按照一定的 规程移动,寻找合适的计算资源、信息资源或软件资源,利用与这些资源处于同 一主机或网络的优势,就近处理或使用这些资源,代表用户完成特定的任务眵副。 移动a g e n t 技术是分布式技术与a g e n t 技术 3 4 相结合的产物,它除了具有 江苏大学硕士学位论文 a g e n t 最基本的特性自主性、反应性、能动性、通信性以外,还具有移动性。 移动a g e n t 主要的特性口羽包括: ( 1 ) 自主性:自主性是a g e n t 最基本的特性,指行动上的独立性。a g e n t 一旦被 初始化以后便独立执行,无需后来的直接干预,它控制着自身的内部状态和外部 行为,也可以被授权去做出某种决定,完成一些重要的事情。 ( 2 ) 反应性:是指a g e n t 能感知和作用于其所处的环境,从而对环境的变化做 出及时的响应。这些环境可以是物理的世界、使用图形接口的用户、其他a g e n t 集 合或者所有这些的组合。 ( 3 ) 能动性:为了达到目标,a g e n t 不是等着接收指令,而是事先有计划,并 做一些初始化。a g e n t 能探测到适合用户目标的有利场景,通知用户这个场景出 现的时机。也就是说,a g e n t 不仅能对所处环境作出响应,还能主动地展现面向 目标的行为。 ( 4 ) 通信性:通信性是指a g e n t 之间的交互。a g e n t 之间的接口和联系不是固 定不变的,而是随着任务驱动者的改变而改变。为了协作完成一件复杂的任务, 一些a g e n t 可以形成a g e n t 群,a g e n t 之间的接口可以在运行中协商,这样就减 少了a g e n t 之间的耦合性,意味着a g e n t 可以以最小的代价和较小的冲突加入系 统或从系统中删除。 ( 5 ) 移动性:移动性足移动a g e n t 最重要的特性之一,它是指a g e n t 可以在一 个网络上随时、随地、自主的从一台主机迁移到另一台。正在运行中的a g e n t 状 态可以被存储且传送到新主机上,在那里a g e n t 程序被恢复且继续从暂停的地方 开始执行。a g e n t 将代码和数据封装在执行的一个线程中,每个a g e n t 独立于其 他a g e n t 。 移动a g e n t 的上述特性使得移动a g e n t 技术在许多领域中,特别是i n t e r n e t 领域中显示了强大的技术优势 3 6 。 ( 1 ) 节约网络带宽、克服网络延迟 移动a g e n t 的本质是将计算移动到数据端,直接在数据端进行本地处理,只 返回最终结果,从而避免了大量中间数据在网络中的传输。移动a g e n t 一次可以 携带多个服务请求移动到服务器端进行本地调用,避免了多次远程调用,从而节 省了每次远程调用造成的网络延迟。因此在处理数据量大、网络传输频繁、带宽 不足的情况下,使用移动a g e n t 技术可以有效地节省网络负载。 ( 2 ) 封装网络协议 任何网络程序都是建立在特定的协议之上,网络程序的开发要求程序设计者 深刻的理解低层的网络协议;随着i n t e r n e t 的发展,新的协议和数据格式不断 的产生,随着网络协议的升级,程序需要重新编写、编译,这些都给网络应用的 1 2 江苏大学硕士学位论文 丌发和维护带来困难。移动a g e n t 系统是一种中间件,位于操作系统和应用程序 之问,封装了低层网络协议,提供移动、通信、容错、安全等基本功能,开发人 员无需了解低层实现即可丌发网络应用。当网络协议升级时,只需修改移动a g e n t 系统中相关的功能实现而无须修改移动a g e n t 应用程序。 ( 3 ) 支持异步自主执行 传统分布式系统中异步通信机制( 如异步消息队列) 可以异步地处理多个请 求,但要

温馨提示

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

评论

0/150

提交评论