(计算机软件与理论专业论文)无线环境下软件按需移动体系结构研究及仿真实现.pdf_第1页
(计算机软件与理论专业论文)无线环境下软件按需移动体系结构研究及仿真实现.pdf_第2页
(计算机软件与理论专业论文)无线环境下软件按需移动体系结构研究及仿真实现.pdf_第3页
(计算机软件与理论专业论文)无线环境下软件按需移动体系结构研究及仿真实现.pdf_第4页
(计算机软件与理论专业论文)无线环境下软件按需移动体系结构研究及仿真实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

山东师范大学硕士学位论文 无线环境下软件按需移动体系结构研究及仿真实现 摘要 由于无线移动计算是无线通信、网络技术与移动计算设备相结合的产物,它具有独 特的性质,如:设备的移动性、频繁断接性、无线连接的低带宽、低可靠性和资源有限 性等,因此对移动硬件设备、移动通信、传统的联网技术以及应用层的各种软件技术提 出了新的要求和挑战。 其中最突出的是一些巨大的应用软件无法适应计算能力较弱、存储容量较小的移动 设备。移动设备的计算能力受限于自身处理器速度、存储器容量和电源电压等计算环境, 而需要高速处理器和大容量存储器的开发技术以及应用软件已经不能适应在大规模分 布式环境下的小型移动设备,这无疑制约了无线移动计算环境下新应用的推广与普及 为了解决小型移动设备能够运行大型应用软件的问题,我们提出了无线环境下软件 按需移动的体系结构,改变软件开发计划,把巨大的功能软件改为能够按需移动或下载 到移动设备的小功能组件,这就根本地改变了应用程序限制功能的观念。不同的功能可 以因为上下文的改变而按需移动或下载。这些改变包括移动设备的资源、网络连接状况、 环境和用户的偏好等。 本文的主要工作如下: 1 提出了一种无线环境下软件按需移动的体系结构,该体系结构主要包含3 部分: 客户端系统、智能代理系统以及分块服务器。一般情况下,客户端的请求被送往智能代 理;智能代理知道分块服务器提供了哪些分块,也清楚客户端的需求,因此,它可以返 回一个最能满足客户端请求的功能分块。分块服务器拥有很多分块或者叫做组件。他们 在网络上为分块提供永久的存储区域。分块提供者设计和实现分块以后,他们把这些新 的分块传送到分块服务器,并发布到智能代理系统,可以利用网络公开地使用这些分块。 2 根据提出的软件按需移动体系结构,设计了基于分块的编程。应用软件是由分 块构成的,这些分块放在众所周知的分块服务器中。在智能代理的帮助下,分块下载到 客户端运行。运行时,每个分块为客户端执行一个特定的功能。每个分块不必自己执行 整个的功能,可以请求其它分块的帮助来完成它的功能,也就是说分块有依赖。几个分 块可能具有相同的功能,但是,他们的实现和运行期间的行为不同,到底使用哪个分块 是在运行期间动态决定的每个分块除了提供服务的代码之外,还提供一些描述信息。 山东师范大学硕士学位论文 3 设计实现了一种软件按需移动体系结构中的智能代理系统,智能代理负责从客 户端接收请求,按照当前分块的描述进行匹配,其中包括资源可用性、现场和用户偏好 等。随后,代理把最合适的分块返回给客户端。为了提高性能,智能代理还采用很多其 他机制,像预取和合作缓存等。 关键词:移动计算,智能代理,软件按需移动,组件 分类号:t p 3 1 1 山东师范大学硕士学位论文 a r c h i t e c t u r eo fs o f t w a r em i g r a t i n go nd e m a n di nw t r e l e s se n v i r o n m e n t r e s e a r c ha n de m u l a t ei m p l e m e n t a t i o n a b s t r a c t a l lt h i n g sa a f f e c t e db yc h a n g e t h i si s e s p e c i a l l yt r u ef o rm o b i l ec o m p u t i n g e n v i r o n m e n t s e v e r y t h i n g ,f z o md e v i c e su s e d , r e s o u l v 七sa v a i l a b l e ,n e t w o r kb a n d w i d t h st o u s e rc o n t e x t s c a l lc h a n g ed r a s t i c a l l ya tr u n - t i m e i tt h e r e f o r eb e c o m e si m p e r a t i v ef o rs o f t w a r e s y s t e m sa n da p p l i c a t i o n st ob ea b l et oa d a p tt ot h e s ec h a n g e si no r d e r t op r o v i d eas u i t a b l ea n d r e l a t i v e l ys t a b l ew o r k i n ge n v i r o n m e n tf o ru s e 侣 s o r w 龃eu s e r sh a v eb e e np a y i n gf o rm u c hm o r et h a nt h e yn e e d e d t h i si sb e c a u s e s o r w a r ed e v e l o p e r sh a v ec h o s e nt 0b u n d l ea l lt h ep o s s i b l ef u n c t i o n si n e s s e n t i a l l ya m o n o l i t h i cc h u n ko fc o d e m a n yo ft h e s es o f t w a r ep a c k a g e st u r no u tt ob em u c ht o o o v e r - s i z e df o ram o b i l ed e v i c e w ei n t r o d u c ea r c h i t e c t u r eo fs o f t w a r em i g r a t i n go nd e m a n di nw k e l e s se n v i r o n m e n t ; m o b h ed e v i c e sb yt h e i rd a 嘛h a v el i m i t e dr e s o u r c e s t oa l l o wa sm a n yu s e f u la p p l i c a t i o n s a sp o s s i b l et o 咖o nam o b i l ed & c i c e w ep r o p o s ec h a n g i n gt h es o f t w a r ed e v e l o p m e n t p a r a d i g m 矗_ 0 mm o n o l i t h i c c h u n k st os m a hf u n c t i o n a l i t i e sw h i c hc a nb ed y n a m i c a l l y d o w n l o a d e do nd e m a n dt ot h em o b i l ed e v i c e ,a n dd i s p o s a b l e t h i sc h a n g e sf u n d a m e n t a l l yt h e c o n c e p tt h a ta na p p l i c a t i o nh a sc o n f m e df u u c t io n a l i t i e s d i f f e r e n tf i m c t i o n a l i t i e sm a yb e d o w n l o a d e db a s e do nt h ec h a n g m gc o n t e x tw h i c hc o u l db eaf u n c t i o no f d e v i c er e s o u r c e s ,t h e n e t w o r kc o n n e c t i o n , t h ee n v i r o n m e n t , a n dt h eu s e r sp r e f e r e n c e s t h em a i nw o r ko f t h i sp a p e ri sa sf o l l o w s : f i r s t ,w ep u tf o r w a r da na r c h i t e c t u r eo fs o f t w a r em i g r a t i n go nd e m a n di nw t r e l e s s e n v i r o n m e n t t h e r ea r et h r e ep a r t si no l l ra r c h i t e c t u r e ;t h e y 黜c l i e n ts y s t e m , i n t e l l i g e n t p r o x ya n dp i e c es e r v e s u n d e rl 加r m a lc a s 部t h er e q u e s ti ss e n tt ot h ep r o x y n 圮p r o x y p o s s e s s e st h eo v e r a l lv i e w :i tk n o w sw h a tp i e c e sa a v a i l a b l ei nt h es e r v e r sa n di tk n o w st h e r e q u i r e m e q t so f t h ed e v i c e i tm a s h e s t h er e q u i r e m e n t so f t h ec l i e n tw i t ht h ep l d p 硎e so f t h e a v a i l a b l ep i e c e s ,c 翘t i e so u ts o m eu s a g ep a t t e r na n a l y s i sa n dd e t e n n i n e sw h i c hp i e c ew o u l db e m o s ts u i t a b l ef o rt h ec l i e n tt ou s e i tt h e nr e t u r n st h ep i e c et ot h ec l i e n t p i e c es e r v e r sh o s t p i e c e s ,i e c o m p o n e n t s t h e yp r o v i d eap e r m a n e n ts t o r a g ea r e af o rp i e c e so nt h en e t w o r k s e c o n d , a c c o r d i n gt od e s i g n e da r c h i t e c t u r e 。w ed e s i g n e dp i c e e - b a s e dp r o g r a m m i n g a p p l i c a t i o n sc a nb eb r o k e nu pi n t op i e c e s e v e r yp i e c ep r o v i d e sc e r t a i nf u n c t i o n a l i t y t h e r e m a yb em o r et h a no n ep i e c ea c h i e v i n gt h es a m ef u n c t i o n a l i t y a tr i m - t i m e ,t h ea p p r o p r i a t e 山东师范大学硕士学位论文 p i e c ei sb r o u g h ti na n de x e c u t e d t h i se n a b l e sa p p l i c a t i o n st ob el i n k e db yf u n e t i o n a l i d e s m t h e rt h a nb ye x a c tc o m p o n e n t s i no r d e rt oa c h i e v ei t sf u n c t i o n a l i t y , a p i e c em a yc a l lu p o n o t h e rp i e c e s i no t h e rw o r d s ,ap i e c em a yd e p e n do no t h e rf i m e t i o n a l i d e s t h ep r o x i e sa r et h em a i ni n t e l l i g e n c eo ft h en e t w o r k t h e yr e c e i v er e q u e s t sf r o m c l i e n t s m a t c ht h er e q u i r e m e n t sw i t hd e s c r i p t i o no ft h ec o m p o n e n t sa n dr e t u r nt h em o s t a p p r o p d a t ec o m p o n e n t st ot h ec f i e n t s n 圮p r o x i e sa l s oi n c o r p o r a t et e c h n i q u e st oi m p r o v e p e r f o r m a n c es u c ha sp r e - f e t c h i n ga n dc o o p e r a t i v ec a c h i n g k e y w o r d s :m o b i l ec o m p u t i n g ,i n t e n i g e n tp r o x y ,s o f t w a r em i g r a t i n go nd e m a n d ,c o m p o n e n t c l a s s i f i c a f i o n :t p 31l 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得( 注:如没有其他需要特别声 明的,本栏可空) 或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:王珍 导师签字: 学位论文版权使用授权书 衫缈 本学位论文作者完全了解堂撞有关保留、使用学位论文的规定,有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权登 蕉一可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:王珍 签字日期:2 0 0 7 年午月刁日 山东师范大学硕士学位论文 1 1 研究背景及意义 第一章绪论 2 0 世纪9 0 年代,随着无线通信技术的迅速发展和广泛使用、无线设备的大量普及以 及嵌入式技术的进一步发展,许多计算节点已经可以在自由移动的过程中与网络建立连 接,于是无线移动计算的概念应运而生。无线移动计算环境的出现,使人们看到了能够随 时随地访问任意所需的信息的希望。 无线移动计算通过无线网络连接,相对于有线网络有很多优势,如无线网传输距离远, 覆盖面积大,无线网络灵活机动,可按用户需求任意组网,受城市规划、地理条件、外界 系统等因素制约小,扩容方便,移动性好,易于安装并易与现有的基础设施结合,维护方 便,通信抗自然灾害能力强等,因而迅速发展起来。 九十年代,面向对象技术出现并逐渐成为软件开发的主流技术,为软件复用“1 提供了 基本支持,软件复用技术研究成为热点。应用软件的使用者和开发者希望能像电子类产品 部件的消费者和制造商那样即插即用各种应用软件,这种即插即用的应用软件称为组件或 软件组件啪,由此就产生了组件技术。 由于无线移动计算是无线通信、网络技术与移动计算设备相结合的产物,它具有独特 的特点嘲,如:设备的移动性、频繁断接性、无线连接的低带宽、低可靠性和移动设备的 资源有限性等,因此对移动硬件设备、移动通信、传统的联网技术以及应用层的各种软件 技术提出了新的要求和挑战嘲。 其中最突出的是一些巨大的应用软件无法适应计算能力较弱、存储容量较小的移动设 备。移动设备的计算能力受限于自身处理器速度、存储器容量和电源电压等计算环境,而 传统的需要高速处理器和大容量存储器的开发技术以及应用软件已经不能适应在大规模 分布式环境下的小型移动设备,这无疑制约了无线移动计算环境下新应用的推广与普及。 目前,非嵌入式领域典型的组件体系结构包括c o m d c o m , j a v a b e a n s e 1 b 和c o r b a , 但是这些组件模型主要运行于非嵌入式平台,适用于嵌入式平台的软件组件正处于研究和 发展阶段。 ” 1 2 研究现状 目前,国外的嵌入式组件模型主要有旧旧啪嘲叫: 比利时1 w r 协会赞助的s e e s c o a 项目提出的c c o m 模型; a b b 等公司参与、用于现场设备中嵌入式系统的p e c o s 组件模型; 飞利浦公司用于消费电子嵌入式系统的k o a l a 组件模型; 国内相关的研究尚处于起步阶段,主要有北京科泰世纪研发的e z , c o m 4 t 组件模型和 北京科银京成公司推出的i ) e i t a c o r b a 嘲组件模型等。 山东师范大学硕士学位论文 根据以上对现有嵌入式组件的分析,我们发现它们都存在一些不足,非功能性约束是 嵌入式系统中的一个非常重要的方面,但是目前的嵌入式组件软件还不能完全满足非功能 性约束的要求,因此有必要对嵌入式软件组件技术,尤其是对其非功能性约柬方面进行研 究,以满足当前嵌入式系统的软件开发的需求。 1 3 研究内容 为了使能力有限的移动设备能够运行功能强大的软件,我们提出了无线环境下软件按 需移动的构想。将软件划分为很多的小功能组件( 我们称之为分块) 。移动设备根据需要 下载它所需要的功能组件就可以。如图1 1 所示。 图1 1 软件分块 这里的软件按需移动的概念就是:应用软件不需要全部下载到本地就可以在移动设备 上运行。当需要时,应用软件的一部分可以从服务器端移动到本地,使小型移动设备环境 中可以运行大型复杂的应用程序。也就是说,移动设备只需要少量的预安装软件,大型应 用程序并不需要在本地存储。当需要时从服务器上调用软件或软件的一部分。 本文主要研究无线环境下软件按需移动的体系结构。该体系结构主要有三部分组成: 智能代理、分块服务器和客户端设备。正常情况下,客户端的请求被送往智能代理。因为 智能代理可以纵观全局:它知道在分块服务器中哪些分块是可利用的,而且知道客户端的 需求,因此,它可以返回一个最能满足客户端的请求的功能分块。如果客户端不能连接到 智能代理,那么它可以向附近的对等点发送请求,查看有没有满足这个请求的功能分块。 如果有,那么它就可以委托这个对等点来完成执行。 2 山东师范大学硕士学位论文 1 4 论文组织 本文主要研究一种无线环境下软件按需移动的体系结构,组织如下: 第一章绪论。主要介绍了论文的研究背景和意义、研究现状、研究内容以及论文组织。 第二章首先介绍了移动计算的相关知识,包括它的概念、典型环境及系统的组成等。 其次介绍了一下关于组件的内容,包括组件起源和几种通用的组件模型。最后阐述了通用 组件模型与嵌入式系统,还介绍了几种主要的嵌入式组件模型。 第三章提出一种无线环境下软件按需移动的体系结构,并简单介绍了该体系结构的组 成部分:客户端系统、智能代理和分块服务器。接着介绍了该体系结构的一些基本术语和 定义,像分块、功能、服务、分块依赖以及容器等。最后将分块模型与当前的组件模型以 及w e b 服务进行了比较,可以发现我们的体系结构更适合无线环境下的资源受限设备。 第四章重点介绍了无线环境下软件按需移动编程的部分实现,主要是基于分块的编 程,包括分块中的描述文档、代码段、分块打包、分块请求和调用的编程实现。最后还介 绍了容器的实现。 第五章主要介绍了软件按需移动体系结构中的智能代理系统的实现,包括功能过滤、 资源过滤、得分系统以及预取的实现以及它的交互模型作了详细的说明,最后对该体系结 构进行了仿真实现,实验结果表明:应用软件的一部分从服务器端移动到客户端,使小型 移动设备可以运行大型复杂的应用程序是可行的。 第六章总结了本文的主要工作和进一步的研究方向。 山东师范大学硕士学位论文 第二章移动计算和组件技术 2 1 移动计算 2 1 1 移动计算的概念 “移动计算”指的就是“无论何时何地,只要你需要,就可以通过某种设备访问到所 需的信息”。从计算技术角度来看,人类已经由网络计算逐步延伸到了移动计算。 一般来讲,移动计算的含义十分广泛,所涉及到的技术包括移动通信技术、小型计算 设备制造技术、小型计算设备上的操作系统技术及软件技术等。移动计算是指无所不在的、 随时随地的可以进行计算的一种方式;主要针对移动设备汹】,比如信息家电或某种嵌入式 设备,如掌上电脑、b p 机、车载智能设备、笔记本计算机、手表、智能卡、智能手机( 具 有掌上电脑一部分功能) ,机顶盒、p o s 销售机、屏幕电话( 除了普通话机的功能外还可 以浏览因特网) 等新一代智能设备。移动计算设备可以间断或持续地连接网络。与i n t e r a c t , i n t r a n e t 及e x t r a n e t 连接,使用户能够随时随地获取相关的各种信息,并做出回应。无论 使用何种移动计算设备,用户将能轻易访问信息,得到服务。移动计算降低了设备使用的 复杂性,帮助提高在外办公人员的工作效率和人们的日常生活水平。 从软件系统的角度来讲,移动计算是指使用小型计算设备在位置不断移动的过程中, 或在地理位置分布很广的范围内,在不稳定的通信条件下,实现联机事务处理和企业核心 数据访问0 1 。这些小型计算设备具有多种通信手段,如移动通信网络、卫星、无线局域 网、微波、电台等,能与互联网或企业内部网相连,但这种连接不是固定的连接,而是间 断的连接。移动计算的软件技术使用户可以使用这些设备进行复杂的联机事务处理和信息 访问。因为用户所使用的设备体积小,可用的计算资源( 内存、存储设备和c p u ) 都相当 有限,所以大部分处理工作由计算中心的数据服务器和应用服务器完成。 i n t c r n e t 与网络迅速普及,并向家庭领域不断扩展,使消费电子、计算机、通信一体 化趋势日趋明显;信息时代的来临,使嵌入式系统日益受到市场和厂家的关注,嵌入式设 备越来越普及,这也促进了移动计算的发展。 2 1 2 移动计算典型环境 在移动计算环境中系统的典型模型可用图2 1 描述。图中移动计算系统主要由三类结 点组成嘲蜘: 服务器( s e r v e r ,简称s v r ) :一般为固定结点,用于存储大量信息,每个服务器维 护一个本地数据库( l o c a ld a t a b a s e ,简称l d b ) ,服务器之间由可靠的高速互联网络连接在 一起。服务器可以处理客户的联机请求,并可以保存所有请求的历史记录。 移动支持结点( m o b i l es u p p o r ts t a t i o n ,简称m s s ) :m s s 也位于高速网络中。并且 4 山东师范大学硕士学位论文 有无线联网能力。每一个m s s 用于支持一个无线网络单元( c e l l ) ,该单元内的移动主机既 可以通过无线链路与一个m s s 通信,从而与整个固定网络( f i x 以t n e t w o r k ) 通信,也可以接 收由m s s 发送的广播消息。服务器与m s s 可以是同一台机器 移动主机( m o b i l eh o s t ,简称m h ) :m h 用于客户的日常操作处理和移动通讯,它 的处理能力与存储能力相对子服务器来说是非常有限的,且具有移动性( 即可以出现在任 意一个无线网络单元中) ,经常与服务器处在断接状态( 即m h 无法与服务器联机通信) 。 即使在与服务器保持连接时,由于m h 所处的网络环境( 即当时可用的无线网络单元) 是 多变的,v l l i 与服务器之间的网络带宽相差很大,因此m h 的可靠性低、网络延迟大n 帕 图2 1 移动计算的典型环境 。 所有主机通过网络连接在一起,固定网络中的每个m s s 负责建立一个无线网络单元, 单元内的m i - i 与m s s 之间通过无线网络连接。相对于可靠性不高的无线网络单元,我们 将固定网络部分成为可信部分。这些无线网络单元的覆盖范围取决于他们采用的无线通信 技术,例如无线l a n 单元只能覆盖一幢大楼,而采用卫星通信的无线网络单元只需几个 即可覆盖整个地球。总之,在图2 1 所示的移动计算环境中,m h 可以从任何一个无线网 络单元经m s s 联接到固定网络中,从而实现了自由移动性m “。 2 1 。3 移动计算的特点 与基于固定网络的传统分布式计算环境相比,移动计算环境具有以下一些主要特点: c 嚣】【2 钉【衢】 1 移动性 在移动计算环境中最突出的特征是设备的移动性。一个移动设备可以在不同的地方连 通网络,而且在移动的同时也可以保持网络连接。这种计算平台的移动性可能导致系统访 问布局的变化和资源的移动性 2 频繁断接性 5 山东师范大学硕士学位论文 移动设备在移动过程中,由于使用方式、电源、无线通信费用、网络条件等因素的限 制,一般不采用保持持续联网的工作方式,而是主动或被动地间歇性入网、断接。 3 网络条件多样性 移动设备的移动性使得不同时间可用的网络条件( 如网络带宽、通信代价、网络延迟 以及服务质量等) 是变化多端的,甚至相差悬殊;移动设备既可以联入高带宽的固定网络, 也可以工作在低带宽的无线广域网中,甚至根本无网可上,处于断接状态。 4 无线连接的低带宽 和固定网络相比,无线连接的带宽要小得多,无线w a n 的带宽只有几十k b p s ,目前 最新的无线l a n 产品带宽可达上百m b p s ,但与核爆炸式增长的数据相比,这些带宽是不 够的。对于需要传输多媒体数据的应用场合而言,更是如此。 5 网络通信的非对称性 由于物理通信媒介的限制,一般地无线网络通信都是非对称的,表现在固定服务器节 点可以拥有强大的发送设备,而移动设备的发送能力非常有限,于是下行链路( 服务器到 移动设备) 的通信带宽于代价和上行链路( 移动设备到服务器) 相差很大。 6 低可靠性 无线网络与固定网络相比,可靠性较低,更容易受到干扰而出现网络故障;此外,移 动计算由于其便捷性和工作环境,也带来潜在的不安全因素,包括失窃、遗失、损坏等。 7 移动设备的资源有限性 与固定设备相比,移动设备的资源是相对有限的,如c p u 速度、存储容量、电源能 力。移动设备主要依靠电池供电。 2 2 组件 2 2 1 组件技术起源 2 0 世纪8 0 年代,面向对象技术为客观世界过渡到软件系统提供了途径和编程的思维 方法。面向对象给出了软件系统的体系结构,引入了软件复用的思维方法,吸引了越来越 多人的关注,提出了多种对象模型、语言,设计了各种基类型库,使得面向对象程序设计 逐步成为热点n 8 1 。面向对象技术虽然被大家接受,公认为当前的发展主流,然而在实际应 用中还存在着一系列问题“”嘲: 模型和概念尚未统一:不同的人对系统和对象的理解不一致,导致了各种对象语 言有很大差异,且语言自身与纯面向对象理论有许多不致的地方,难以形成统一的标准 和开发规范; 对象复用处于初级阶段:该阶段未提出任何模式和规范以及相应的管理机制; 对使用者要求高;如要熟练掌握m i c r o s o f tv i s u a lc + 斗聊f c ) ,就必须了解大量的 i v f c 类库,并要了解每个类的细节; 大型工程难以实施:目前面向对象能很好应用的领域有限,真正用纯面向对象技 6 山东师范大学硕士学位论文 术来开发大型软件的并不多,因而软件界提出了基于面向对象的组件软件技术。 2 2 1 通用组件模型介绍 目前,通用组建模型主要有微软公司的c o m d c o m , o m o 组织的c o r b a 模型和 s u n 公司的j a v a b e a n s e 1 b 等。 1 c o m ,d c o m c o m 是m i e r o s o t 【提出的组件标准,是一种以组件为发布单位的对象模型,这种模型 使各软件组件可以用一种统一的方式进行交互嗍。c o m 既提供了组件之间进行交互的标 准,也提供了组件程序运行所需的环境,它是o l e a e t i v e x 技术的基础 c o m 组件满足信息封装性和动态加载的要求,它满足下面的一些限制咖: 语言无关性,从a d a 到c 到j a v a 到c - h 等均可用来开发组件: 组件可以以二进制的形式发布: 位置透明性,c o m 所提供的服务组件对象在实现时有两种进程模型:进程内对象 和进程外对象。如果是进程内对象,则它在所在进程空间中运行;如果是进程外对象,则 它运行在同一机器上的另一个进程空间; c o m 组件可以在不妨碍旧客户的情况下被安全升级。 c o m 组件发布嘲时,它可以用一个动态连接库l l ) 的形式发布,被称为进程内组件 ( i n - p r o c e s sc o m p o n e n t ) ;也可以用一个可执行程序( e x e 程序) 发布,被称作进程外组件 ( o u t - o f - p r o c e s sc o m p o n e n t ) 满足动态加载的要求。 c o m 接口:附着于特定的组件上,定义了该组件对外公开的一组相关的功能服务的 集合。接口的定义使用二进制规范,因此接口的实现和定义都不会限制使用任何语言;同 时接口的定义是公开的,允许任何第三方使用,也可以由任何第三方实现。这些都给第三 方编写使用接口的程序或接口的实现提供了方便,有利于鼓励第三方参与开发和完善现有 软件。 i u n l m o w n 接口:c o m 规范说明,c o m 定义的每一个接口都必须从i u n k n o w n 继承 过来,其原因在于i u n k n o w n 接口提供了两个非常重要的特征:生存期控制和接口查询。 i u n k n o w n 包含了三个成员函数:q u e r y i n t e r f a e e ,a d d r e f 和r e l e a s e 其中函数q u e r y i :n t e r f a c e 用于查询c o m 对象的其它接口指针,函数a d d r e f 和r e l e a s e 用于对引用计数进行操作。 客户程序通过接口与c o m 对象进行通信,需要控制对象的存在与否。i u n k n o w n 引入了 “引用计数”方法,可以有效地控制对象的生存周期。 c o m 组件的动态加载:c o m 的实现与操作系统平台密切相关。因为c o m 最初源于 m i e r o s o t ! tw i n d o w s 平台,所以c o m 实现部分( c o m 库) 很多地方直接用到了w i n d o w s 系 统的一些特性,比如系统注册表,动态连接库等。 d c o m 是指支持分布式的远程调用的c o m ,是对c o m 技术的延续。d c o m 的技术 特点在于每个程序模块无需存储各客户端,更无需下载程序本身在客户端运行,只要在服 务器内存放一份d c o m 部件,不同地方的用户即可通过网络来访问这一d c o m 部件。 7 山东师范大学硕士学位论文 d c o m 还可以把处理相同工作的部分分割出来交给一个专门的软件模块完成,而其它程 序或其它d c o m 部件只需对其进行调用,即可获得所需信息。当程序流程发生变化时, 程序员只要对变更的部分进行修改,即可同时对其他单位的程序更新,有效地提高了整个 系统的灵活性。 当今的c o m + 可以理解为c o m 的新发展,或者为c o m 更高层次上的应用。c o m + 的底层结构仍然以c o m 为基础,它几乎包容了c o m 的所有内容。 2 j a v a b e a n s ( 1 ) b e a n s 组件 j a v a b e a n s 是一个基于j a v a 语言的组件技术。具有j a v a 语言“一次编写,到处运行” 的特点,j a v a b c a n 的优势还在于j a v a 带来的可移植性嘲。j a v a b e a n s 组件规范中规定了大 量支持可视化配置的接口和属性命名的规范。j a v a b e a n s 内部的接口或与其相关的属性可 以通过j a v a 的内省机制获得,以便不同人在不同时间开发的b e a n 可以询问和集成。b e a n 对复用有很好的支持,我们可以构建一个b e a n ,而在以后构造过程中将其与其它b e a n 绑 定。这种过程提供了先构建,然后重复使用的方法,在部署时可以将其部署到a c t i v e x 组 件或在浏览器中。 f _ 豫c e n t e r p r i s e j a v a b e a n ) 是j a v a b e a n 在服务器端应用的扩展。k i b 一般由四部分组成: h o m e 接口、r e m o t e 接口、b e a n 类和x m l 配置描述文件。h o m e 接口声明j a v a 客户用于创 建新e j b 、定位现存l i b 、销毁e j b 的方法。r e m o t e 接口声明e j b 在运行时j a v a 客户所 调用的商务方法。b e a n 类封装e j b 的应用逻辑并实现了r e m o t e 接i z i 中声明的商务方法。 配置描述文件是以x m l 形式存在的文件,用于描述e j b ,并给出e j b 运行时属性,其中 这种属性依赖于目标服务器。e j b 开发者需要完成这4 部分的工作,并把它们打包成一个 j a r 文件用于发布到目标服务器上。 , e j b 的主要优点在于,构建b e a n 时b e a n 开发人员只要规定需要什么类型的行为,而 不必规定如何去做。开发分为两部分:程序员开发b e a n ,然后验证,它可与构建工具一起 工作,并包括标识所需服务质量行为种类的部署描述符;另一个程序员可以采用这个b e a n , 并使用读取e j b 部署描述符的部署工具,然后将该b e a n 安装到e n t e r p r i s ej a v as e r v e r 上的 容器中。 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 是f _ f i b ( e n t e r p r i s ej a v ab e a n ) 组件架构的基础。它是一套 开发企业级中间件的规范嘲,它提供了一个多层次的分布式应用模型和一系列开发技术规 范。通过j 2 e e 标准,可以快捷的创建分布式的、可扩展的、可靠的和安全的服务器端应 用程序。 ( 2 ) j a v a b e a n s e j b 的开发 为了简化组件的开发过程,就需要有一组标准的方法来建立、管理和维护组件,主要 有嘲: 开发组件的工具:这类工具可以使开发者的主要精力集中在编写组件的逻辑代码 上,好的开发工具可以提高应用开发速度,流行的主要有母m 公司的v i s u a l a g ef o rj a v a 和b o r l a n d 公司的j b u i l d e r 等。 山东师范大学硕士学位论文 管理已经部署组件的容器:容器为组件的运行提供运行环境,这类工具一般都同 服务器集成在一起。 部署和维护组件的工具:为组件定制特定的运行环境 3 c 氇a 随着软件市场的激烈竞争,开发、部署和维护复杂的软件系统变得越来越重要。许多 公司开发了专用软件,以在网络上进行应用分布,但这种方法对于复杂的软件生命期来说, 昂贵而费时。1 9 8 9 年以来,对象管理组织( o m g ) 一直在标准化一个支持分布式应用的开 放的中间件规范,c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ,公共对象请求代理 体系结构) 应用而生。c o a 是一种分布式对象处理体系结构,它很好地结合了面向对 象分布处理技术,使得软件应用能调用对分布对象的操作,而不必关心对象的位置、编程 语言、操作系统平台、通信协议互联方式和硬件环境, ( 1 ) c o i 退a 组件模型( c o r b ac o m p o n e n tm o d e l ,c c m ) 鉴于传统的c o r b a 对象模型,即c o r b a2 4 具有:没有标准的方法进行对象实现 的部署:对通用c o r b a 服务器编程模式只有有限的支持:对象功能的扩展受限:未预先 定义c o r b a 对象服务的可用性;没有标准的对象生存期管理的局限,o m g 采用c o r b a 组件模型,以扩展并包含c o r b a 对象模型。c c m 定义一些设施和服务,使应用软件开 发人员能在一个标准环境中,实现、管理、配置、并部署集成了通用c 0 r b a 服务的组件, 这些通用服务有事务、安全、持久状态以及事件通知。另外,c c m 还允许更多的软件重 用,提供对c o r b a 应用进行动态配置更大的灵活性。 c c m 组件是c c m 系统的基本构造块。应用c c m 的组件开发人员,定义组件实现要 支持的i d l 接口。然后,他们使用c c m 供应商所提供的工具对组件进行实现,所产生的 组件实现可以被打包成一个装配文件,并进行动态连接。最后,使用由c c m 供应商提供 的部署机制把组件部署到一个组件服务器中,该服务器加载装配文件,作为组件实现的宿 主。这样,组件在组件服务器中执行,并用于处理客户请求。 c c m 组件提供四种称为端口的机制删,和其它的程序制品互操作。这些端口机制描 述了不同的视图和所需要的组件暴露给客户的接口。与组件的属性一起,这些端口机制为 组件定义了供应接口、插座、事件,容器和属性能力,显著地增强了组件的可重用性。 c 0 ;a 对象引用是一种抽象手段,用来引用一个c o 砒认对象的实例 c c m 接口类似于c o m 中的i u n k n o w n 接口,客户能够使用c m m 的n a v i g a t i o n 接口, 检查一个组件是否提供了某个特定接口,n a v i g a t i o n 枚举组件所提供的全部插座。另外, 由于c c m 允许把若干无关的接口与一个组件实体相捆绑,所以,客户不需要知道组件的 实现细节就可以访问它所提供的替代接口。 ( 2 ) 咖的开发 通过定义公共技术实现c o r b a 服务器,c c m 雎订解决了c o r b a 3 0 版本以前的缺陷。 c c m 扩展了c o r b ai d l 以支持组件组件开发人员使用i d l 定义描述组件所支持的操 作,就像传统的c o r b a 模型中所定义的对象接口那样。c c m 定义若干接口支持组件的 结构和功能。c c m 组件可以把无关的接口组合起来,并支持接口导航。 9 山东师范大学硕士学位论文 c c m 定义了一个说明型语言,组件实现定义语言( c o m p o n e n ti m p l e m e n t a t i o nd e f i n e l a n g u a g e ,c l d l ) ,来描述组件和组件h o m e 的实现和持久状态。c 球( c o m p o n e n t i m p l e m e n t a t i o nf r a m 0 使用c i d l 描述来生成编程骨架,它们自动化核心组件的行为。此 外,c i d l 负责生成组件描述,它与正在描述的、组件所要求的服务类型一起,以定义组 件的能力。 2 3 嵌入式组件技术 2 3 1 通用组件模型与嵌入式系统 通用组件模型并不适用于嵌入式系统,主要在于旧”1 : 在二进制的复用基础上,由于嵌入式平台的多样性,难以实现重用和移植。同时 c o m 、c o r b a 组件提供了支持组件的动态加载功能且在运行时对接口进行迟绑定的支 持。无论用户是否使用了组件中实现的所有接口功能,组件实现的目标码都需要被保存在 磁盘上,这对于嵌入式系统有限的存储容量是一个很大的浪费。运行时还可能被全部加载 入内存,这需要消耗大量的内存。c o m 中接口实际上可以看成函数指针数组,当程序中 使用的接口数量很多时,这种指针数组带来的负担就很大,所以我们需要高效的复用方法, 当提供的接口不被使用时或者接口中有些函数功能没有被使用时,都可以从程序中去除而 且没有接口指针数组的消耗。 c o m ,c o r b a 组件生命周期管理、引用计数、垃圾收集( j a v a 虚拟机) 等功能是 非常有吸引力的,但是嵌入式平台上有限的处理器能力、内存容量无法承受这种消耗。 通用组件模型在运行时需要大量的底层基础的支持,如c o m 需要c o m 库的支持、 c o r b a 需要o r b ,p o a , n a m es e r v i c e 等机制支持。 通用组件模型中没有考虑非功能性限制如内存消耗、实时特性、可靠性、稳定性 等,这在嵌入式系统中是非常重要的方面。 综上所述,基于嵌入式系统的系统要求和通用组件模型的特点,将通用组件模型直接 应用于嵌入式系统软件开发是不可能的。 2 3 2 主要嵌入式组件模型介绍 嵌入式市场的快速增长,竞争日益激烈,导致嵌入式

温馨提示

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

评论

0/150

提交评论