




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河海犬学硕士研究生论文基于反射的移动a g e n t 系统中至操作框架研究 摘要 近几年,基于移动a g e n t 的分布式系统不断受到大家的关注。移动a g e n t 是 一种可以保持内在状态的封装良好的实体,可以很好地被复用,而且可以在分布 式系统的主机之间移动。就像很多专家指出的那样,这种能力将使得未来的中间 件能够比现在拥有更大的灵活性。但是,现在的移动a g e m 平台的灵活性和扩展 性并不好。本文分析了反射中间件的现有研究成果,并且利用了开放实现的设计 思想以及反射技术,提出了一种适用于移动a g e n t 系统的互操作框架。为移动 a g e m 系统下的互操作提供了良好的灵活性和可扩展性,并且为以后进一步设计 具有良好扩展性的移动a g e n t 平台提供了基础。 本文的主要工作是: 1 分析比较了当前主流的反射中间件模型,指出它们之间的差异,并分析 了其中的设计思想及模式。 2 运用开放实现的思想和反射的角度,来探索互操作框架的设计思路。并 在此基础上设计一种透明的,可扩展的互操作框架,取代现有方式,以 更好适应移动a g e n t 的运行环境。 关键词:反射中问件、 移动a g e n t 、分布式系统、互操作 河海犬学硕士研究生论文 基于反射的移动 g e n t 平台中互操作框架研究 a b s t r a c t i nr e c e n ty e a r st h e r eh a sb e e na 孕o w i i l gi n t e r e s ti nd i s t r i b u t c ds y s t e m sb a s e do n m o b i l ea g e m s ,w h i c ha r ew e l l e n c a p s u l e da n dr e u s 曲l ee n t i t i e s ,w i t hi t si m e m a ls t a t e a ss o m ea u t h o r sp o i n to u t ,t h e s ea b i l i t yc a nb eu s e dt oa c h i e v eg r e a t e rf l e x i b i l i 可o v e r t r a d i t i o n a ld i s 埘b u t es y s t e m n e v e r t h e l e s s ,m o s tm o b i l ea g e n tp l a t f o r m sa r en o t e x t e n s i b j ea n df l e x i b l et h e m s e j v e s i nt 1 1 j sp a p e r ,w ea n a l y s et h ee x i s t i n g 坨n e c t j v e m i d d l 洲a i e ,a 1 1 d u t i l i z e o p e ni m p l e m e n t a t i o n a n dr e n e c t i o nt o d e s i 口 a i l i i l t e 卜o p e r a t i o n 丘锄e w o r k f o rm o b i l ea g e n ts y s t e mw h j c ha r ew e l ln e x i b l ea i l d e x t e n s i b l e f u n i l e 肿o r e ,ae x t e n s i b i ep l a t f b nc o u l db ed e s i 口e do nn l eb a s i so ft h i s 6 咖e w o r k t h ef o l l o 、v i n gc o n t e n t sa r ei n c l u d e di n 廿1 et h e s i s : 1 a n a l y s et h em o d e l so fe x i s t i n gr e n e c t i v ei i l i d d l e w a r c p o i n t o u tt l l ed i 饪b r e n c e s b e t w e e nm e m 如dr e s e a r c h l e i rp r i n c i p l e si nt h e i rd e s i g nm o d e l s 2 u m i z eo p e ni m p l e m e n 诅t i o na 1 1 dr e f l e c t i o nt od e s i 朗a ni n t e r - 0 p e r a t i o f a i 玎e 、v o r kf o rm o b i l ea g e ms y s t e mw 1 1 i c ha r ew e l ln e x i b l ea 1 1 de x t e n s i b i ei n s t e a do f 吐l e 订a d i t i o n a lw a y k e y w o r d s :r e f l e c t i v em i d d l e 、v 盯e , m o b i l e a g e n t , d i s t r i b u t e d s y s t e m , i n t e 卜o p e m t i o n 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。如不实,本人负全部责任。 论文作者( 签名) : 学位论文使用授权说明 蛰煎盘 0 6 年6 月1 6 日 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期 刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文 档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允 许论文被查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权河 海大学研究生院办理。 论文作者( 签名) :益坐蕴墨 。6 年6 月1 6 日 河海大学硕士研究生论支基于反射的移动a g e nl 平台中互操作框架研究 第一章引言 1 1 研究动因 随着信息技术的迅速发展,尤其是i n t e r n e t 和w w w 的普及,必然使软件的 开发和使用面对的是复杂的网络环境。在这样的网络环境中运行着各种各样的系 统平台,如大型主机、u n i x 工作站和p c 机等,而各种平台所采用的操作系统和 网络通信协议也是千差万别的。这就对软件开发,尤其是对大规模软件开发提出 了新的挑战。如何在这样的异构环境下充分利用资源并开发新的应用,是一个非 常现实而困难的问题。传统的面向数据流,面向数据结构,以及面向对象等软件开 发方法已经难以完成对现实世界实体的更全面,更形象的描述,以及提供更高的 系统服务能力。 近几年,基于组件的中间件系统不断受到大家的关注,主要是因为他们比原 来的集成系统具有更大的灵活性。组件系统的改进和维护变得简单,而且具有良 好的适应性。目前,人们认为组件复用和基于组件的软件开发是软件生产产业化 的必然趋势。基于组件的软件开发是软件复用思想的具体体现,是软件产业化的 迫切需要,与其他软件复用方式相比,它更为可行和实用。 另外一个值得关注的方面是,移动a g e n t 系统在9 0 年代后,也成为分布式 系统的研究热点之一。移动a g e n t 具有良好的智能性和适应性,并且可以很好地 被复用。它的另一个优势是可以在分布式系统的主机之间移动。就像很多专家指 出的那样,这种能力将使得未来的中间件能够比现在拥有更大的灵活性。一个基 于移动a g e n t 的分布式系统可以在几乎不需要中断应用的情况下进行动态修改, 只需要结束一些a g e n t s ,然后向等待更新的节点派遣新的a g e n t s 。 但是,大多数移动a g e n t 系统中使用的中间件的灵活性停留在集成式系统的 水平。这么做有很多坏处。一方面,这些平台一旦部署就很难再重新配置;另一 方面,这些系统的可扩展性很差。在现有的a g e n t 平台中,往往还使用一些传统 的互操作方式来完成分布式应用的交互,如利用j a v ar m i 来支持客户服务之间 的连接。然而,像j a v ar m i 这样的基于黑盒抽象的互操作协议有不少缺点,不 能为a g e n t 系统原本希望得到的灵活性,扩展性提供完全的支持。存在着一些缺 陷,比如j a v ar m i 需要把经过预编译的静态客户桩和服务骨架分别部署在客户 端和服务器端。还有,在编译阶段,j a v a r m i 的客户桩及服务骨架中就嵌入了单 一的传输协议。所以,要想在运行时,连接非j a v a r m l 实体是不可能实现的。 反射中间件是近年来中间件的研究热点之一。国内外很多研究机构利用了反 射的设计思想来设计中间件,提出了一系列的解决方案,来提高中间件的灵活性。 河海大学硕士研究生论文 基于反射的移动a g e nl 平台中互操作框架研究 为此,本文研究了当前一些反射中问件的模型,借鉴了其中利用反射及开放实现 的思想来增加组件之间互操作灵活性的经验。针对移动a g e n t 系统设计一套互操 作框架,使得其更加适复杂的分布式网络环境,提供良好的灵活性和可扩展性。 1 2 研究现状 1 2 1 移动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 中的可移动性的概念来源于代码的可移动性,随着分布式计算技 术的发展,移动性从早期的数据移动发展为控制、代码和运行环境的移动。早期 的数据移动的典型代表是利用文件传输协议方式在网络节点之间传送文件,随后 出现的远程过程调用( r p c ) 。1 扩展了本地过程调用,把控制流作为数据在网上传 输,使得一台机器可以调用其他机器的方法或过程,扩展了单机的计算能力。无论 是数据传播还是r p c ,实质都是数据移向代码。按照代码移向数据的思路,代码 移动的概念出现了。代码的可移动性是可以动态改变代码和其执行环境之间绑定 的能力。 移动船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 组 成。移动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 的智能性、自治性和移动性的技术特征满足了下一 代网络开放的、自适应的体系结构的要求。 1 2 2 移动a g e n t 系统 不同的移动a g e n t 系统的体系结构各不相同,但几乎所有的移动a g e n t 系统 2 河海大擘硕士研究生论文基于反射的移动“g e n t 平台中互操作框架研究 a g e n t 系统的操作,包括:接受,创建,暂停,恢复等,它详细定义了方法名 参数类型,含义,数量,返回值等,这些方法提供了a g e n t 传输的基本功能。 如图( 图1 1 ) 表示了一个简单的符合m a s i f 标准的移动船e n t 系统。 图11m a 系统 1 2 3 现有移动a g e n t 平台的比较 我们可以将移动a g e n t 平台分为两大类:一类是基于解释性语言的移动 a g e n t 平台;另一类是基于j a v a 语言的移动a g e n t 平台。每个平台都会通过一 些通信技术来实现a g e n t 系统中各个a g e n t 之间的交互。相比来说,基于j a v a 的系统具有更强的功能和更大的灵活性,而且更易于c o r b a 实现无缝集成。下面 我们将分析几个著名的移动a g e n t 平台,从中可以得出一些启示。 ( 1 ) t e l e s c r i p t “1 平台是用t e l e s c r i p t 语言来完成的,该语言是一种用于开 发大型分布式系统的面向对象的解释性语言,它有点类似于j a v a 和c + + ,可以 被编译成字节码运行在宿主机的虚拟机上。t e l e s c r i p ta g e n t 之间的通信有两 种方式:两个a g e n t 运行在同一个空间,互相调用对方的方法;在不同的空间之 间建立连接,两个a g e n t 可以相互传递对象。尽管t e l e s c r i p t 是一个比较成功 的移动a g e n t 平台,它的安全性,容错性,执行效率都非常好,但是由于j a v a 的迅速流行,必然导致它的失败。 ( 2 ) d a g e n t “3 ( 以前称为a g e n tt c l ) 是美国d a r t m o u t h 大学研究的移动 a g e n t 系统。它从支持单一语言t c l 发展到目前支持多种语言:t c l ,j a v a ,s c h e m e d a g e n t 提供一个g o 指令( 仪适用于t c l 和j a v a ) ,可以自动捕获和恢复移动 a g e n t 的完整状态,即意味着a g e n t 可以在任意点中断执行,然后移动到其他环 4 河海大学硕士研究生论文基于反射的移动 g e n t 平台中互操作框架研完 境中执行。d a g e n t 服务程序的实现采用的是多线程方式,相比于多进程方式, 虽然实现难度增加,但是进程问通信大大降低,提高了系统的执行效率。d a g e n t 采用公钥系统来管理a g e n t 对资源的访问,但是可以授权访问某种资源,还可以 限制使用( 如:c p u 使用超时) 。d a g e n t 的通信方式可采用r p c ,r m i 等不同的 方式,而且支持异步或同步的通信模式。 ( 3 ) g r a s s h o p p e 一是i k v + + 公司的产品。g r a s s h o p p e r 环境包括a g e n t 处 ( a g e n c y ) 和域注册器,通过专有的0 r b ( g r a s s h o p e r0 r b ) 互联。a g e n c y ( 相当 于 l a s i f 中的p l a c e ) 是a g e n t 实际的运行环境,数个蟾e n c y 结合构成域,由域 注册器( 相当于m a s i f 中的m a f f i n d e r ) 提供名字服务。g r a s s h o p e r 的通信基础 设计非常巧妙,可以通过c o r b a 来进行通信,还可以通过j a v ar m i 和s o c k e t 连 接进行通信,整个通信结构实现采用插件技术,具有很好的扩充性,并同时支持 异步或同步的通信,动态消息机制和多点发送。g r a s s h o p p e r 的安全服务中采用 x 5 0 9 证书实现身份认证,采用s s l 来保证传输中的安全性,通过用户定制的安 全管理器来完成资源访问控制,并实现了数字签名。 ( 4 ) v o y a g e r ”1 的最大特点是以v o y a g e r0 r b 作为核心,将a g e n t 和分布式计 算紧密结合在一起的。但v o y a g e r 只支持纯j a v a 的对象的通信,与c o r b a 和m a s i f 不兼容,它还支持异步或同步的通信,动态消息机制和单向多点发送。 ( 5 ) 蟾l e t ( b 】是由i b m 公司用纯j a v a 开发的移动旭e n t 技术,并提供着实用 的平台a 9 1 e tw o r k b e n c h ,让人们开发或执行移动a g e n t 系统。a g l e t 是一个较 为成功和全面的系统,它提供了一个简单而全面的移动a g e n t 编程模型;它为 a g e n t 间提供了动态和有效的通信机制;它还提供了一套详细且易用的安全机制。 不过,它目前还只支持a g e n t 的弱迁移。 下图( 图1 2 ) 以旭l e t 为例给出了一个a g e n t 系统的框架。 5 河海是学颠士:露两珥冀理1 - 厍饽渖缔喱o _ ;习莘三一硐时弹浮州强 蜜室薹一耋茎麦蚕耄雾妻j 摹薹耋薹霎辇冀鏊薹鍪薹雾善鹌辩j 理誉终篇g 往 地嚣蚍型磐用犟丁:鞋商匙蚓霾鼎淀翼1 运焉。于反射娘则的公攀; 是雒铿遵碴刭稚仃和即坯栉;麒爨碱托¥鲥醚熊豁i 雏铭撼斜鐾球辨霉琵稀 酮驶弘醺。鞲雕冀蠢霉蛋趔韩i 引貉箝譬里豆碉吲基誊 爵! i ;i 舢甲完摹整重 剐彬秘| g f 目1i i i d ;& i ;l 垂j # ; 自置鉴军赢靼莲i := 主 ;l i ;萎j 刚中善系彰小 别良型r b 曩二 掣;新鞘蹦篇拦一引 昏h 掣剿强蒯群誊卧争封幽囊鬃露登,铹零裂鬈 筻唾后胆臻佬系统芬葙紊臻酣;纠印口酾警拍i :甚峨倒塑产掣引蹦暮棼弘割 刘抬举莲? j 岱矗氆撼罐瑗唾垮嚆型j 翳可誊萌醋睾静警 葚誊鋈苈薹掣乏薹誉璺 | 曼薹墓垂至囊萋蠹 囊:= i 墓囊嚣_ 积堑篆 萋,羹囊囊霪囊羹耄 耀笛纠髭华售岱掣震镨速盘算 熏随鞠讯蠢! 莲曩鹄= 秀錾氇咎缢裂车毒晶: 毯裂蓦箔;貉爱藤嚣紫占笠匍箭洲砥朱商韬侮箫:庋射迸囊鲍斋龆醣挪锚理薯i 丝癣型鑫孺掣攫;嶝喀能嶝毛廖嚆翳| 压阿懈撼限e 趔涛维曦镬囊韩募辩麓籀载 删;鞭弱能,赫胃赫。酚胃解粲球:湛量丑j i 更噬厚嗡硎墁瓠醒秘韭举涩瞎; 掣虿萎莲雨矗州剐鞋画阁i 燮鏊;i 洒塾甜冀啦中翁琴一i 辫珐那“蜊i ;毒 x 河海大学硕士研完生论文 基于反射的移动a g e n t 平台中互操作框架研究 实现角度看,前一部分组成基层实体,后一部分组成元层实体,基层实体与元 层实体之间具有因果关联( c a u s a lc o n n e c t j o n ) ,即,基层实体状态或行为的 任何变化均立即导致相应元层实体的变化,反之亦然。因此,本文对反射性的定 义是:反射性是指计算系统通过与自身状态和行为具有因果关联的系统自述以描 述、推理和操纵自身的能力,而且,描述、推理和操纵自身的方式与该系统描述、 推理和操纵其问题域的方式类似。 理论上,一个反射系统必须能够观测自身状态、发现变化、决定调整的时机 与内容、并执行具体的调整动作。对于操作系统、编程语言以及中间件等不特定 于具体应用的系统软件和支撑软件而言,系统的状态及其调整动作易于确定,而 变化的定义、发现以及相应的调整指令往往与具体的应用语义相关。如,调整一 个操作系统往往需要观测c p u 负载、线程数目、网络连接等状态,执行的调整 动作往往针对线程最大数、线程调度、分配和回收策略、网络连接最大数、缓冲 区大小等。但是,这些状态达到什么样的状况才需要调整,以及执行什么样的调 整以满足何种目标,则依赖于管理员或应用软件。 因此,以编程语言、操作系统和中间件等为代表的反射系统的研究与实践, 往往强调如何使能对自身状态和行为的观测与调整,而调整的时机与内容则在实 例研究中针对具体的应用语义由人或程序手工或自动地实现。 2 2 面向对象技术与反射模型 大多数反射语言和系统的研究都采用了面向对象的计算模型。k i c z a l e 等“” 指出,在反射与面向对象的计算之问,有一种重要的协同性:“反射技术使开放 一种语言或一个系统的实现成为可能,但不应暴露不必要的实现细节或影响可移 植性:而面向对象技术允许语言或系统实现的模型能被局部和渐进性地调整。” 而且,鉴于面向对象的概念在分布式系统中,特别是中间件中的重要性,本文集 中讨论面向对象的语言和系统的反射问题,我们称之为面向对象的反射。 2 2 _ 1 面向对象中的反射技术 就如在传统0 0 p ( o b j e c t o r i e n t e dp r o g r a m ) 中对象代表了现实世界中的 实体样,对象本身也可用其它对象来表现,后者又称为元对象( m e t a 一0 bje c t ) 。 元对象的计算( 又称为元计算,i i 】e t a c o m p u t a t i o n ) 用于观测和修改它们的指示物 ( r e f e r e n t s ,即所代表的对象) 。元计算常常是通过捕获( t r a p ) 它们的指示物的 正常的计算、由元对象执行的:换句话说,指示物的行为被元对象所捕获,后者 执行元计算,这样就替换了或封装了指示物的行为。当然,元对象自身也可由其 它对象来表现,即它们是二重元对象( m e t a m e t a o b j e c t ) 的指示物,以此类推。 这样,一个反射系统可以是一种多层结构,形成了一个反射塔( r e f l e c t i v e 河海大学硕士研完生论文 基于反射的移动a g e n t 平台中互操作框架研究 实现角度看,前一部分组成基层实体,后一部分组成元层实体,基层实体与元 层实体之间具有因果关联( c a u s a lc o n n e c t j o n ) ,即,基层实体状态或行为的 任何变化均立即导致相应元层实体的变化,反之亦然。因此,本文对反射性的定 义是:反射性是指计算系统通过与自身状态和行为具有因果关联的系统自述以描 述、推理和操纵自身的能力,而且,描述、推理和操纵自身的方式与该系统描述、 推理和操纵其问题域的方式类似。 理论上,一个反射系统必须能够观测自身状态、发现变化、决定调整的时机 与内容、并执行具体的调整动作。对于操作系统、编程语言以及中间件等不特定 于具体应用的系统软件和支撑软件而言,系统的状态及其调整动作易于确定,而 变化的定义、发现以及相应的调整指令往往与具体的应用语义相关。如,调整一 个操作系统往往需要观测c p u 负载、线程数目、网络连接等状态,执行的调整 动作往往针对线程最大数、线程调度、分配和回收策略、网络连接最大数、缓冲 区大小等。但是,这些状态达到什么样的状况才需要调整,以及执行什么样的调 整以满足何种目标,则依赖于管理员或应用软件。 因此,以编程语言、操作系统和中间件等为代表的反射系统的研究与实践, 往往强调如何使能对自身状态和行为的观测与调整,而调整的时机与内容则在实 例研究中针对具体的应用语义由人或程序手工或自动地实现。 2 2 面向对象技术与反射模型 大多数反射语言和系统的研究都采用了面向对象的计算模型。k i c z a l e 等“” 指出,在反射与面向对象的计算之问,有一种重要的协同性:“反射技术使开放 一种语言或一个系统的实现成为可能,但不应暴露不必要的实现细节或影响可移 植性:而面向对象技术允许语言或系统实现的模型能被局部和渐进性地调整。” 而且,鉴于面向对象的概念在分布式系统中,特别是中间件中的重要性,本文集 中讨论面向对象的语言和系统的反射问题,我们称之为面向对象的反射。 2 2 _ 1 面向对象中的反射技术 就如在传统0 0 p ( o b j e c t o r i e n t e dp r o g r a m ) 中对象代表了现实世界中的 实体样,对象本身也可用其它对象来表现,后者又称为元对象( m e t a 一0 bje c t ) 。 元对象的计算( 又称为元计算,i i 】e t a c o m p u t a t i o n ) 用于观测和修改它们的指示物 ( r e f e r e n t s ,即所代表的对象) 。元计算常常是通过捕获( t r a p ) 它们的指示物的 正常的计算、由元对象执行的:换句话说,指示物的行为被元对象所捕获,后者 执行元计算,这样就替换了或封装了指示物的行为。当然,元对象自身也可由其 它对象来表现,即它们是二重元对象( m e t a m e t a o b j e c t ) 的指示物,以此类推。 这样,一个反射系统可以是一种多层结构,形成了一个反射塔( r e f l e c t i v e 河海大学硕士研究生论文基于反射的移动“g e n t 平台中互操作框架研究 性属性。如前所述,典型的方式是,基层对象用来满足应用程序的功能性要求, 而元层用于保证非功能性属性。这种方法的优点在于:首先关注分离增强了系统 的可修改性。根据系统要修改部分涉及的是功能性属性还是哪种非功能性属性, 可以只改动对应的分层。而且,关注分离还从两个方面提高了可重用性:一是同 样的基层对象,既可以通过与一些元实体相关联而具备某些额外属性,也可独立 使用:另一种形式的重用性体现在,同样的元实体,可以被重用于为不同的基层 实体附加同样的非功能性属性。 2 3 2 相关工作 2 3 2 1d y n a i c t a o 1 1 1 i n o i s 大学的研究人员最早开始这方面的研究,他们开发的d y n 鲫i c t a o 是与c o r b a 兼容的反射o r b ,它支持运行期的重配置。d y n a m i c t a o 维持了o r b 内 部组件及它们间动态交互的显式自表示,即对其内部结构进行具体化。 d y n a m i c t a o 中的具体化是通过一组被称为组件配置器( c o n f i g u r a t o r ) 的实体来 实现的。一个组件配置器维护了某个组件与系统中其它组件间的依赖关系。 每个运行d y n 鲫i c t a oo r b 的进程包含一个被称为d o m a i n c o n f i g u r a t o r 的组 件配置器的实例,它负责维护在这个进程中运行的o r b 实例和侍服程序 ( s e r v a n t s ) 的引用。而且每个o r b 实例包含一个定制的组件配置器: t a o c o n f i g u r a t o r 。t a o c o n f i g u r a t o r 包含许多挂口,这些挂口可以看作是0 r b 所使用的具体策略实现的安装点。这些策略包括:并发策略、调度策略、安全策 略、连接管理策略等。如图( 图2 1 ) 展示了只包含一个o r b 实例的进程的具体 化机制。如有必要,一个策略可以利用组件配置器记录它与0 r b 实例和其它策略 之间的依赖关系:这些配置器也可以存储依赖于某些策略的客户请求的引用。通 过这些信息,就有可能在对策略进行重配置的对候,保证系统的一致性。 1 5 河海走学硕士研究生论文基于反射的移动 g e n t 平台中互操作框架研究 图2 1d y l l a m i c t a o 反射体系 2 3 2 20 p e n o r b l a n c a s t e r 大学的研究者正在为构造开放的多媒体平台而开发通用的反射结 构( o p e n 0 r b 等项目) o “。 中间件平台的基层被看作它所提供的一组服务。这些服务包括:对象之间的 交互通信及所涉及的活动( 消息的编码、分派、优先权机制、资源分配等) :支持 性的服务( 名字的解析和定位、界面引用的管理、分布式对象生命周期的管理等) : 以及其它通用的服务( 如:安全、事务处理、容错、交易服务等) 。这些服务通常 以对象的形式建模和实现,而平台维护了这些对象的配置。 元层包含了具体化这些服务配置的编程结构,并允许反射计算。o p e n 0 r b 中 的元层被细化为四个独立的元模型,即e n c a p s u l a t i o n ,c o m p o s i t i o n , e n v i r o n m e n t 和r e s o u r c 。元模型。每一个元模型代表了平台的不同方面,并可 以进行递归细化。 e n c a p s u l a t i o n 元模型提供了对具体界面的关键特性的访问,比如这个界面 包括哪些方法、界面的继承结构及其它特性。通过e n c a p s u l a t i o n 的m o p 甚至可 以增添或删除界面的某些元素( 如方法、屙陛等) 。 c o p o s i t i o n 元模型提供了对复杂对象的组件配置的访问。复杂对象的内部 结构被表示为对象图的形式,节点代表了组成对象,边表示这些组成对象之间的 绑定。而且图中的一些对象可以是( 分布式) 绑定对象,从而允许刨建分布的配置。 c o m p o s i t i o n 的m o p 提供了查看和操作对象图的结构的设施,并允许访问单个组 1 6 河海大学硕士鸯砷 遵一 蔓1 埠瞄曙 耋缨g # ;薹l 利暂剖露即矗 嚣翼蠢篓鍪翼茎萋| 耋。l 萋囊囊冀 麓秘弧缌鞋群蒋爿筑裂鞴椭逛一。薹窭瀵m 翻懈啸罐涌赋耍甄雾篓砖 表了平台:中对:i 蚕l | l ;j 善 i 琴爷;酊盎禾荆* 谴元禳剩葡否一嘉 斟副吵秦焉出醵蝉吼亡,纯m ;鞲善糍辫镀签径,丰盘魁;但擘飘型婚裂w 箱鞲的 酗苛以对环境中已有l | ! i 删茶j 薪鬻荇葫曹一葡蠹桶试觜璇惟溶嚼燃琢掣嗡浩 露;s i ! 型孽j 璺t 凹n 醚一鲰赔职越箱拨鞋鉴;疆羹器掣撕g g g h3 南蠢嚼萄 国赎捌峻3 : 麓臻瞪惜高孪堆鲁一哩磅善墨萋融蠹蔚纂钳幅辩黝拍稿酬;蘸琵娃麓疆保罢 黧型雾m 睦蓬臁型二翘比蓥磊瑁惩高健苗融置;j i ? if 警嚣到i 舯静琵拦 元囊i 女商诣稀弹醐瞄辫甜鞠蚓型艇蓝 剃笙;叁錾吲虱鳓直菱瑚鼎匿j 彰嘲孓 受鹩盼彭兰氲暑啦蠡耍 辅弧确, 藿i 耋羹一囊薹蕊霆 薷胥旧澎菇嶷涤幽揣忸曜嗝习。瓒璎霪瞬引筮燃隈;型墼基荆茁囊强刚捌 刻爨蜓! 跫露非;| ;! 疆r 孙曲佣甜爷熙鞠攀一必”髀:贮翼业州醵麓旧键蟹 静驳船樊r 蚱驰科艇;甜磐禽舅辇望凳瑟矗唯滋。 ;耱蝤。餮彰警莹爿犟鸳銎磐目型鍪舀蜡i 覆垄萄驯薹哑罩萤强黔甄面; 亍 :鳃翮剥拄引受惩葡赋卧帮豁f 斟面馨秉。瞬潞噜瞎凌幂纂筝一箭掣砷躺影磊 制刚疆薄确锩“为牲;蜂稚觞融“礁赫一再飘甜副荫拍;讨獯鞭韵隔搿盔 淄臻耀浦镁惺怎氅嚣卿霸高撕瞬蜴绑咿;r 绑定配茸的垂万i 蔗馕浪荡髓锋投鞴: 酾霜臻岑盎裂蓦i i i 裹乔叼垛作港叫停澍缚罐摹璇相荫;辱箱搦铺拢酥强 舔雏篓 河海大学硕士研究生论文基于反射的移动 b en t 平台中互操作框架研究 ( 1 ( 2 c a p s u l e m a r i a g e r& 、。竺煌, 图2 2 通过c o m p o s i t i o n 元模型进行元配置 另一个例子是,考虑在两个流界面之间传输音频的绑定对象。为了更好地控 制音频数据流的抖动,对连接到接收端的绑定对象按照f n v i r o n m e n t 元模型进行 具体化。这样,利用e n v i r o n m e n t 元对象可以引人一个队列和分派机制,以缓冲 音频帧并在恰当的时间交付给接收端,从而满足应用对抖动的要求。而且,通过 e n v i r o n m e n t 的m o p 的还可以动态地改变队列的长度和分派算法。 2 3 2 。3f l e x i n e t f l e x i n e t 是一个致力于中间件配置与应用部署问题的j a v a 中间件平台, 其关键在于通过反射机制提供一种基于构件的白盒复用方法。 f l e x i n e t 重点研究了访问透明性,即远程对象调用对应用程序是不可见的。 在f l e x i n e t 中,参数类型为接口则按远程对象引用传递,如果参数类型为类则 按值传递。与r m i 不同的是,f l e x i n e t 并不需要通过“e x t e n d s j a v a r m i r e m o t e ”来显式地指定远程接口的对象调用语义。在客户端,远程对 象的接口表示为一个本地化的代理对象。该代理对象其实是个简单的客户桩, 1 8 河海大学硕士研究生论文 基于反射的移动a 8 e n t 平台中互操作框架研究 现中间件的工作过程和反射机制的类似之处,导出了中间件的反射视图,探索采 用绑定具体化反射模型来设计中间件。然后设计出反射中间件原型r e c o m ,它支 持着不同类型的绑定器,又设计了一个显式绑定协议,允许用户对特定分布式组 件之间的绑定进行配置,包括替换不同的激活器,以及配置请求级反射层和消息 级反射层。依靠反射中间件r e c o m 的实现,可以满足分布式应用的不同服务质量 的要求。 2 4 现有反射中间件的比较和总结 2 4 1 相关工作比较 如表2 1 所示,表中通过平台构件化,反射粒度,反射能力等方面比较了当 前主要的反射中间件研究成果。 反射式中间平台 反射反射能力系统自述的描系统自试验平 件 构件粒度述能力系统自述的关 化 述联性 o p e n c o r b a 无 单个远程调用的观消息蕴含的信无关联 c o r b a 对象测与调整息 d y n a m i c t a o粗粒 所有服务的在线装 服务的配置信无关联 c o r b a 度的对象载、卸载以及动息与应用构件 构件态配置;应用构的装载信息 化 件的在线装载 和卸载 f l e x i n e t互操所有互操作协议在消息蕴含的信单一片c o r b a 作框对象线装载和卸载 息;互操作协 断 架的以及远程调用议配置信息 构件的观测与调整 化 m c h a r m 无 多个组通信的观测消息的蕴含信全局性 r m l 对象 与调整息 0 d e n o r b 无单个资源管理;远程 消息的蕴含信无关联 c o m 对象调用的观测与息;资源配置 调整、应用构件信息;应用构 的在线装载和件接口信息与 卸载实现类的结构 信息 2 。4 2 总结 如何在这样的异构环境下充分利用资源并开发新的应用,是一个非常现实而 困难的问题。为解决这个问题,中间件技术应运而生。近几年,基于组件的中间 件系统不断受到大家的关注,主要是因为他们比原来的集成系统具有更大的灵活 河海大学硕士研究生论文 基于反射的移动“g e n l 平台中互操作框架研究 反射模型( 如:结构、状态和行为、通信等) 在任一种情况下,包含自表示的数 据结构与系统被具体化的那些方面是因果相联的 2 5 小结 反射,是系统的一种对自身进行推理和作用的能力。反射系统,是支持因果 相联的自表示的系统。通过反射,客户可以检查和调整系统的下层实现。可以从 不同角度对反射进行分类:如结构反射与行为反射,过程性反射与说明性反射等。 反射的应用己从最初的编程语言设计,拓展到其它领域。不同的反射系统采 用了不同的反射机制,这一节我们讨论了反射及反射系统的概念,面向对象的 反射以及反射中间件的最新发展。运用反射技术,一方面可以提高系统的灵活性 和适应性,另一方面还可以分离系统的功能性属性与非功能性属性。 把反射应用到中间件设计中,使得中间件越来越需要具有开放的适应性,是 中间件研究的热点之一。 河海大学硕士研究生论文基于反射的移动 g e n t 平台中互操作框架研究 第三章框架设计 本章将运用开放实现的思想和反射技术的角度,来探索互操作框架的设计思 路。该框架利用了r m o d p 的基于组件的框架,加上f l e x i n e t 中协议栈的设计 思想,从而为移动a g e n t 系统这样复杂环境下的分布式应用提供了更高程度的灵 活性,以及访问和重定位的透明性。 该框架是基于j a v a 的。j a v a 既是一种面向对象的语言,又是一个平台。 在j a v a 平台上构造中间件,可以利用j a v a 虚拟机屏蔽下层异质的操作系统和物 理机器。另外,j a v a 语言有一些十分有用的特性用来实现反射式的框架设计, 比如:动态类加载和反射。还有,很重要的一点,现在的移动a g e nc 系统几乎无 一例外地采用了j a v a 来实现。 3 1 反射模型 如前一章所述,在所有反射模型中,一个基本概念就是具体化。具体化就是 将原本隐式的方面显式化。当然,哪些方面被具体化,取决于反射模型( 如:结 构、状态和行为、通信等) 。 在移动a g e m 系统中,在不同地址空间的移动a g e n t 进行交互时,客户首先 需要获得一个远程a 譬e m 的代理,所谓代理就是代表远程对象的个本地对象。 代理具有与所代表的远程对象相同的界面客户通过代理调用服务器的方法,代 理再利用中间件的通信机制将调用请求传递给目标服务器,得到结果后,代理再 将结果返回给客户,这样就完成了一次远程调用。而在调用之前,将系统中的两 个对象联系起来以实现交互的过程,及此过程形成的结果,称为绑定。在本文给 出的反射模型中,要具体化的就是移动a g e m 系统中,移动a g e n t 之间的绑定。 在本文的反射模型中,在客户端,远程对象的接口表示为一个本地化的代理 对象。该代理对象其实是一个简单的客户桩,它可以在客户端动态生成。和其他 客户桩直接把调用请求转化成二进制编码不同,这里的客户桩仅仅将类型化的调 用转换为一种通用的格式并将之传递给协议栈的顶层协议,把剩余的大部分工作 交由协议栈完成。在客户端协议栈的顶层,一个调用包括目标接口的抽象名、被 调用方法及其参数。抽象名在最底层协议将被解析为目标接口所在服务器的通信 地址。 如图( 图3 1 ) 所示,协议栈是一种多层的结构。它可以被看成是一组元对 象。每个元对象,将调用作为一个数据结构依次进行操作,直到最后调用远程目 标对象。因为协议栈是分层实现,所以其中的元对象也可以被称为反射层。这种 河海是学硕士研竞生论文基于反射的移动“g e n 、平台中互操作框架研完 形式的反射是协议相关的,由于不同协议栈有许多共性的东西,在设计一个反射 层时可考虑通用性,使其在多个协议栈中使用,提高代码的重用性。 在服务方不再需要桩或骨架。而是在服务器调用层,利用调用中对被调用方 法的描述,直接调用目标对象。协议栈中的元对象可咀利用j a v a 中的运行时类 型鉴定( m n t j m et y p ei d e n t i 6 c a t i o n ) 或者反射机制( r e n e c t i o n ) ,对调用的参数 进行检查和修改。 其中,协议栈的每一层对其上之层和其下之层都是一种调用抽象。客户端的 协议栈既要能处理客户方调用( 沿协议栈向下) ,又要能处理服务器方的反馈( 沿 协议栈上) ,服务器方的则刚好相反。 嗡具体类型的通信 _ 通用形式的通信 = 无类型的通信 图3 1 协议栈结构模型 3 2 绑定模型设计 将系统中的两个对象联系起来( 以实现交互) 的过程,及此过程形成的结果, 称为绑定。而将这种客户与服务对象之间的绑定,设计为由若干不同的组件组成, 即是将绑定具体化。特定客户与服务器之间的绑定的特性就决定了交互的服务质 量,如性能、安全性、可靠性等等。实现开放式的绑定,也就是将绑定具体化, 使得用户可以对其进行改动( 配置) ,从而实现对分布式应用的服务定制。 2 4 河海大学硕士研究生论文基于反射的移动 b e n t 平台中互操作框架研究 l o w e r ) 。在基层的对象称为基对象( b a s e o b j e c t s ) ,它们对应用领域中的实体 进行计算:在其它层,即元层( m e t a 一 e v e l ) 的对象,对其相邻低层( 指示物层) 的 对象执行计算。 基对象与元对象之间不一定是一一对应的关联:几个元对象可以共享同一个 指示物:单个元对象也可有几个指示物。反射塔的相邻层之间的界面通常称为元 对象协议( m e t a o b j e c tp r o t o c 0 1 或m o p ) “。 每一次反射计算可以被分为两个逻辑部分:计算流上下文切换和元行为。计 算从基层的计算流开始:当基层实体执行某个行为时,该行为被元实体捕获,于 是这时计算流上升到元层( 称之为上移操作( s h i f t u pa c t i o n ) ) :然后元实体执 行完它的元计算,当它允许基层实体执行时,计算流又返回到基层( 称之为下移 操作( s h i f t d o w na c t i o n ) ) 。 在所有反射模型中,一个基本概念就是具体化( r e i f i c a t i o n ) 。为了对相邻 低层的计算执行计算,每一层维护一组支持这个计算的数据结构,即前述的因果 相联的自表示,而创建这种自表示的过程就称为具体化。具体化就是将原本隐式 的方面显式化。当然,相邻低层的哪些方面被具体化,取决于反射模型( 如:结构、 状态和行为、通信等) 。在任一种情况下,包含自表示的数据结构与系统被具体 化的那些方面是因果相联的。在相邻层之间保持这种因果相联关系是反射基础设 施( r e f l e c t i v ei n f r a s t r u c t u r e ) 所具的职责,而元对象的设计者和编程人员并 不必知道如何实现因果相联关系等细节。 河海大学硕士研究生论文基于反射的移动 b e n t 平台中互操作框架研究 图3 r 3 协议栈方案模型 3 2 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育培训心得体会总结简短(汇编10篇)
- 第二章 函数2026年高三数学第一轮总复习
- 职高简单高考题目及答案
- 酒店工作心得体会怎么写(例文10篇)
- 美食餐厅推广营销案例分析
- 体育产业市场分析与投资机会研究
- 医药行业创新发展模式探讨
- 农产品检测技术革新-2025年无损检测技术应用创新报告
- 2025年车工考试题及答案
- 2025年山西省晋城市事业单位工勤技能考试题库及答案
- 产品需求分析模板及开发计划表
- 抗战胜利八十周年纪念-2025-2026学年高二上学期爱国主义教育主题班会
- 2025年成人高考大专试卷及答案
- 2025年安徽省综合评标评审专家库考试历年参考题库含答案详解(5卷)
- 天津市河西区2024-2025学年八年级下学期期末物理试题(含答案)
- 2025年保密教育线上培训考试题带答案
- 中成药合理使用培训课件
- 国企公司合并方案(3篇)
- 2025年海南省通信网络技术保障中心招聘事业编制人员考试笔试试卷【附答案】
- 2025年江苏省昆山市辅警招聘考试试题题库及答案详解(典优)
- 外委人员管理办法
评论
0/150
提交评论