(计算机应用技术专业论文)基于嵌入式组件技术的GUI系统的研究.pdf_第1页
(计算机应用技术专业论文)基于嵌入式组件技术的GUI系统的研究.pdf_第2页
(计算机应用技术专业论文)基于嵌入式组件技术的GUI系统的研究.pdf_第3页
(计算机应用技术专业论文)基于嵌入式组件技术的GUI系统的研究.pdf_第4页
(计算机应用技术专业论文)基于嵌入式组件技术的GUI系统的研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式组件技术的GUI系统的研究.pdf.pdf 免费下载

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

文档简介

西北工业大学硕 i s 学位论文 摘钦 a b s t r a c t i n r e c e n t y e a r s t h e e m b e d d e d s y s t e m h a s b e e n e v o l v i n g t o w a r d s t h e o n e f o u n d e d o n w h a t i s m a r k e d b y i n t e r n e t . w i t h t h e a d v e n t o f p o s t - p c e r a , t h e e m b e d d e d s y s t e m i s b o u n d t o b e f a c e d w i t h i n c r e a s i n g l y h i g h d e m a n d i n t e r m s o f i t s a p p l i c a t i o n , w h i l e i n e v i t a b l y i t w i l l b e b r o u g h t i n t o m o r e a n d m o r e w i d e s p r e a d s c o p e o f u s e i n o u r d a i l y l i f e . m e a n w h i l e , t h e d e m a n d o f t h e e m b e d d e d s y s t e m f o r g r a p h i c a l u s e r i n t e r f a c e ( g u i ) i s l o o m i n g p r o g r e s s i v e l y l a r g e a n d u r g e n t , c o r r e s p o n d i n g t o t h e r i s i n g s o p h i s t i c a t i o n i n h a r d w a r e a n d t o t h e m o u n t i n g d e m a n d f r o m t h e u s e r . n o w a d a y s a n e n o r m o u s c h a n g e h a s o c c u r r e d i n b o t h t h e e m b e d d e d o p e r a t i n g s y s t e m a n d i t s a p p l i c a t i o n p r o g r a m m o d u l e , i n t o w h i c h t h e u n d e r l y i n g i d e a s a n d p r i n c i p l e s o f c o m p o n e n t d e s i g n h a v e b e e n d y n a m i c a l l y i n t r o d u c e d . i n c o n t r a s t w i t h t h e t r a d i t i o n a l o n e c h a r a c t e r i z e d b y a f i x e d a r c h i t e c t u r e , t h e u p d a t e d e m b e d d e d s y s t e m f e a t u r e s f l e x i b l e s t r u c t u r e . t h i s t h e s i s e x p a t i a t e s o n t h e p r e l i m i n a r y r e s e a r c h a c h i e v e m e n t o f g u i o n t h e f o u n d a t i o n o f t h e e m b e d d e d c o m p o n e n t t e c h n i q u e , t h r o u g h w h i c h i s a t t a i n e d s w g u i , t h e c o m p o n e n t - b a s e d g u i s u p p o r t s y s t e m . i n t h e r e s e a r c h p r o c e s s , a r e m a r k a b l e i n s i g h t i s o b t a i n e d i n t o s u c h a c o m p o n e n t m o d u l e o n t h e p l a t f o r m o f h e t e r o g e n e r o u s s y s t e m a s c o r b a , a s w e l l a s i n t o t h e w a y t o d e v e l o p c o m p o n e n t s o f t w a r e . a n a t t e m p t is t h e a l s o m a d e t o p r o b e i n t o t h e r e l e v a n t i s s u e s i n p r a c t i c e t h a t p r o v e s r e w a r d i n g m i d d l e w a r e m o d u l e i s c o n s t r u c t e d i n a c c o r d a n c e w i t h t h e e m b e d d e d s y s t e m b y c u t t i n g d o w n m i c o / c o r b a ; f u r t h e r m o r e , b a s e d o n t h e e m b e d d e d o p e r a t i n g s y s t e m , t h e e m b e d d e d g u i c o m p o n e n t i s d e s i g n e d a n d a c c o m p l i s h e d b y t h e u s e o f o r i e n t e d o b j e c t t e c h n i q u e . k e y w o r d s : c o m p o n e n t c o r b a e m b e d d e d g u i 第 2 页 西北工业大学硕 i s 学位论文 第一帝络论 第一章绪论 11课题的研究背景 嵌 入式系统是以 应用为中 心、 以计算机技术为基础, 并且软硬件可裁减, 适用于 对功能、 可靠性等有严格要求的专用计算机系统。 简而言 之 ,嵌入式系统就是嵌入计算机技术的系 统。 嵌入式系统是 将先进的计算机技术、 半导体技术及其电子技术与各个行业的具体应用相 结合后的产物, 这一点就决定了它必然是一个技术密集、 资金密集、 高度分散、 不断创新的 知识集成系统。 嵌入式操作系统的出 现至今已 有三十多年的历史, 嵌入式技术也经历了以 单芯片为核心 的可编程控制器形式的系统到以 c p u 为基础, 以 简单操作系统为核心的嵌入式系统和以 专用 嵌入式操作系统为标志的嵌入式系统这三个阶段。 目 前已经朝着基于i n t e r n e t 为标志的嵌 入式系统的方向 发展。 这样, 一些嵌入式系统已 不在满足于简单的字符界面。 随着硬件条件 和用户需求的提高, 嵌入式系统对g u i 的需求会越来越迫切。 而现在有些嵌入式系统已经具 有类似于p c 上的美观华丽的g u i 界面。例如mi c r o s o ft 推出的嵌入式系统一w i n d o w s c e .n e i . 组件技术和中间 件技术在软件产业得到飞速发展, 目 前主要应用在大型分布式软件、 电 子商务等应用软件系统的设计之中。 尽管嵌入式软件具有多样化、与硬件密切相关等特性。 但面向 特定领域的嵌入式软件各组成部分, 仍然有其共有特点和构成要素, 能够采用组件技 术,支持嵌入应用系统的高效开发。 1 . 2课题研究的意义 图形界面的出现, 一方面方便了用户对计算机的使用; 另一方面, 也大量消耗了计算机 的存储资源和计算资源。嵌入式系统是比p c 和工作站更加 “ 微型”的系统。空间上的狭小 从物理上限制了 其硬件资源的数量和质量。 无论是c p u 的速度还是存储器的容量, 嵌入式系 统都远不能和桌面系统相比。像 w i n d o w s c e这样脱胎于桌面系统的g u t .尽管针对嵌入式 环境作了一定的 优化, 可是它们依然显得庞大和雍肿, 嵌入式系统硬件资 源的相对贫乏常常 制约了 它们的使用。 因此,嵌入式系统必定要有自己的g u t 。 另外嵌入式系统往 往是一种定 制设备, 它们对g u t 的需求也各不相同。 有些系统只要求一些图形功能. 而有些系统要求完 备的g u 工 支持, 所以,g u 工 也必须是可定制的。 传统的嵌入式系统开发模式大多是针对单一用途、 专门开发, 因而其开发效率往往较低, 开发成本较大, 其质量也难以保证。 一项调查显示在u n i x 系统上开发的应用程序有9 7 %涉及 第 1页 共 5 4页 西北工业大学硕 卜 学位论文第一资绪论 到图 形用户界面。图形用户界面平均占到软件代码量的 4 8 %, 软件开发时间的5 0 % p ,z 1 a “ 提 高代码质量和生产力的 惟一最佳方法就是复用好的 代码” 1 2 0 1 ,组件技术正是这样一种前沿 的软件设计思想。 将组件技术引入嵌入式系统中, 其意义在于 利用组件程序设计方法能方便、 快捷的满足产品不断升级的需要, 因为若要更新应用系统某个部分, 只需用新的组件替换原 来的组件, 而不需从头再来一遍。 这就极大的提高了软件的重用性, 使 “ 一次开发, 多次利 用”成为可能。采用嵌入式组件技术进行应用软件的开发具有广 一 阔的市场前景,将成为i t 产业新的增长亮点。 虽然引入组件、嵌入式中间件技术会增加系统代码量,但脱开应用一味强调系统代码 量大小并没有实际意义, 将组件、 中间件技术引入嵌入式系统将会大大减少各种应用软件与 操作系统的总体资源开销。 本论文旨 在实现将支持嵌入式系统的 组件技术和嵌入式g u i 系统完美结合, 在深入研究 c o r b * 规 范 的 基 础 上 , 通 过 分 析 、 藕m ic o / c o r b a 构 建 基 于 。 o r b a 组 件 技 术 的 嵌 入 式 中 间 件,并以此实现基于组件技术的嵌入式g u i 系统的解决方案。 1 . 3论文的内容及组织 论文士要研究了以下儿方面的内容: . 深入比 较分析了当 今主流的三种分布对象技术,以 及分析比 较了嵌入式中间 件所涉 及到的技术。 . 通过深入分析c o r b a 规范,根据嵌入式系统的具体要求, 通过裁减构建了 一个嵌 入 式中间件。 .研究并实现了组件技术在嵌入式g u t 系统中的应用。 第止章 提出了系统总体设计目 标、分析比较了几种当今流行的组件技术。 第 二 章分 析 并 通 过 裁 旅 m i c o / c o r b a 构 建 支 持 组 件 技 术 开 发 的 嵌 入 式 中 间 件 。 第四章 设计开发了建立在嵌入式组件技术基础之上的 一个嵌入式g u i 系统。 第五章是对全文的总结。 第 2页 共 5 4页 西北t业大学硕 上 学位论文第二章系统设计目标及嵌入式组件技术的研究 跟不上硬件技术的发展, 其中的根源之一是很长 时间内没有找到有效软件构造方法。 可喜的 是七十年代开始出现的面向对象的认知方法和编程语言, 经过二十 多年的发展, 于九十年代 结出累累硕果, 在二十世纪末出现了由面向对象发展而来的组件技术, 它正是软件业期待多 年的一种有效的软件构造方法, 组件模型定义组件的制作方法, 运行方式,以 及相互作用机 制。p7时,嵌入式系统的发展也与时俱进,正在积极引入组件技术的研究。 2 . 3 . 1组件的基本概念 组件是独立的软件实体, 可以运行在不同环境中。 一个组件就是一个不依赖于特定的程 序、 计算机编程语言和实现方法的对象, 可以跨越网络、 应用、 语言、_ 匕 具和操作系统而被 即插即用地使用的对象。 在分布式系统中, 组件就是上 作和发布的基本单位, 分布式系统的 底层结构务必要以提高组件的自 动性、自治性和协作性为目标。 组件同样可以支持继承、多态和封装。这就允许在已有组件的基础上再构造新的组件。 虽然组件具有的 性质有很多, 不同的产品具有不同的 特点, 但是一些基本的性质是都应该具 有的。下面列出了组件具有的基本性质: 1 )组件是可以任意组合的, 一个组件可以 和其它的组件相结合, 完成开发者希望达到的 功能。 ( 2 )组件不是一个完整的应用,一个组件只是被设计为执行应用中有限的一类任务,而不 是实现了整个的应用。 ( 3 ) 组件的存在形式可以多 种多样。 ( 4 )具有良 好声明的 接口, 和类对象一样,组件通过它的接口 来进行控制。 接口 就是组们 和外部环境进行接触的通道。 i d l / c o r b a 的重要特征就是分离了组件的接口 和实现。当接口 定义好后,组件的实现可以使用不同的编程语言,可以使用面向对象或者面向过程的编码 总之,组件就是独立于任何应用的可重用的自 治软件实体。也叫组件对象模型。 2 . 3 . 2 组件技术开发嵌入式应用软件方法特点 组件技术开发软件的方法强调真正的软件重用和高度的互操作性, 它侧重于 组件的生产 和装配。 组件化的生产不仅仅是应用系统的要求, 其本身也可以 进入组件市场直接获取效益。 组件的装配使得软件产品有可能用类似于搭积木的方式快速地建立起来, 是 提高软件的生产 效率和产品 质量、 减少人员流动带来副作用的有效途径。 它不仅可以 缩短软件产品的开发周 期, 同时也提高了系统的稳定性和可靠性。 因为组件可以单独测试。 且必须遵守一定的标准 和规范, 所以 采用组件化程序设计方法可以获得诸多优点: 如独立于编程语言开发环境、 组 件位置和进程透明、 具有良 好的可扩充性和可重用性等等。 第 5页 共 5 4页 西北工业人学硕 卜 学位论文 第二章 系统设计目 标及嵌入式组件技术的1 11 1 究 利用这种组件化的程序设计方法来构建嵌入式应用系统, 特别是对于 应用程序较少、 硬 件配置还不够稳定 ( 即, 成规模的硬件生产线还没有成熟) 这样一个起步相对较晚但又具有 极大发展潜力的嵌入式系统来说, 其益处是明显的,土要表现在 卜 述儿个方面。 第一: 可重复使用、 易于升级、 修改。 投入嵌入式组件的设计和实施上的时间和精力不会自 费,因为以后可在不同的硬件系统中重复使用这些组件。 第二:易r 采用最新的网络技术。从目前嵌入式系统的发展趋势看,面向i n t e r n e t 的应用 将会越来越多。而组件技术已 经成为解决分布式网 络计算的核心技术。 这样基丁 4 时i 技术设计的嵌入式应用系统可以 利用各种网络技术提供大量的增值服务。 第二: 组件化设计方法继承并发展了面向 对象设计方法。 它将对象技术应用于系统设计, 对 面向对象设计的实现过程作了 进一步抽象。可以 把组件化设计方法用作构造系统的体 系结构层次的方法,并且可以使用面向 对象的方法很方便地实现组件。由 此看出, 组 件化设计并没有摈弃现在被广泛采用的面向对象设计方法,而是更好的 利用了对象技 术的固有优势。客观上实现了设计方法上的重用性。 日 前国际上, 分布式组件技术有三大流派一 一 一 c o b r a . c o m / d c o m和j a v a . c o r b a 技术是最早出 现的,1 9 9 1 年o m g颁布了c o b r a 1 .0 标准,再有就是m ic r o s o ft的c o m 系列, 从最初的c o m发展成现在的d c o m , 形成了m i c r o s o ft 一套分布式对象的计算平台; 而s u n 公司的j a v a平台, 在其最早推出的时候, 只提供了远程的方法调用, 在当时只是属 于网络计算里的一种,接着推出的j a v a 日 e a n ,也还不足以和上述两大流派抗衡, 而其目 前 的版本j 2 e e , 推出了e j b , 除了语言外还有组件的标准以 及组件之间协同c 作通讯的 框架。 以下进行详细的分析比较。 2 . 3 . 3分布式组件技术的分析 。 c o r b a 组件模型 4 v c o b b a ( t h e 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 it e c t u r e )是o m g ( t h e o b j e c t m a n a g e m e n t g r o u p ) 制定的开放的、 独立于开发商的体系结构和基础构造, 通过c o r b a , 计算机应用程序可以通过网络协同运作。因为使用标准的i i o p ( t h e i n t e rn e t i n t e r - o r b p r o t o c o l ) 协议, 两个基于c o r b a 的 程序, 不管是来自 任何开发商、 运行在何种机器、 采用 哪种操作系统和编程语言、通过不同的网络,都可以相互操作。 c o r b a 引人注日的特征包括: 1 极j泛的平台和编程语言支持。 2 . 与面向对象方法完全兼容,以保持分布式应用程序的灵活性和可升级性 。 第 6页 共 5 4页 西北工业大学硕 1 : 学位论文 第二章 系统设计目 标及嵌入式组件技术的排究 3 . 具有广泛的开发商、 开发人员、 和用户支持。 4 . 开放的、可互操作的体系结构 。 5包含一种灵活的对象间通讯的互联网协议标准 。 6 . 支持面向对象的分布式应用程序。 了 . 成热的对象概念。 8 . 接口 和实现之间的良 好分隔。 c o r b a组件能运行t任何一种平台之上,特别是在 u n i x / l i n u x 平台上,它已 经成为编 写分布式应用程序以 及中间件的标准组件模型。 c o r b a 是一种跨平台的分布式组件标准, 经 过多 年的发展,己 经成为一种成熟、 完各的组件模型。 c o m / d c o m 组件模型 c o m ( t h e c o m p o n e n t o b j e c t m o d e l ) 是一种平台独立的、分布式、面向对象的系统, 用于创建可互操作的二进制软件组件。 c o m是微软的 o l e( 复合文档), a c t i v e x( 可用于 i n t e r n e t 的组件),以及许多其它技术的基础。 c o m 最初是由微软公司提出并独立发展, 现 在,它己交给一个独立的组织管理。 c o g 不是一种面向对象语言。 而是一种标准。 c o m也不指定一个应用程序应该如何构建。 谙言, 结构,以及实现细节都留给应用开发人员。 c o m 指定一种组件模型以及c o m 组件 ( 或 对象) 之间相互作用所需具备的编程要求。 c a m 组件可以 分布在同一个进程内, 或者在不同 的进程间, 甚至是远端的机器上。 c o m 组件可以是用不同的语言编写, 结构也可以有很大的 不同。 c o m 是一种二进制标准,因为它是一种当程序被编译成二进制机器码后才起作用的标 准。 c o m 对语言的唯一要求就是必须能创建结构指针, 并且能显式地或隐式地通过指针调用 函数。 面向对象语言, 如c + + , s m a l l t a l k 等, 都提供简化c o m 组件实现的 编程机制。其它 语言环境,如c , p a s c a l , a d a , j a v a , b a s i c 等也都能创建和使用c o m 组件。 c o m 定义了c o m 组件的本质特征。 一般来说, 软件是由一组数据以 及操纵这些数据的函 数构成的。 c o m 组件通过一个或多个相关函数集来存取组件的数据,这些函 数集称为接口, 而接口 的函数称为方法。 c o m 组件通过接口 指针调用接口的方法。 除了指定二进制组件标准. c o m 还定义一些基本的接口以 提供所有基于c o m 组件的技术 所公有的函数。此外,c o m 还提供一些所有组件所需要的a p i 函数。 d c o m ( t h e d i s t r i b u t e d c o m p o n e n t o b j e c t m o d e l ) 扩展c o m ,以支持不同 计算机之间 第 7页 共 5 4页 西北工业大学硕 上 学位论文 第二章系统设计目标及嵌入式组件技术的研究 的对象间通信,这些计算机可以是位于局域网,) l 一 域网,甚至是互连网。 d c o m在充分利用己有的基于 c o m的应用程序、组件、_ l 一 具、知识等的基础之上转向分 布式计算。 d c o m 使用户能将重点放在真正的商业应用上, 而不必关心太多的网络协议细竹 d c o m位于应用程序的组件之间,将组件以不可见的方式胶合在一起组成具有完整功能 的应用程序。d c o m 的特性使得编写分布式应用程序变得容易,其特征包括: 1 ,适合从最小的单机环境到最大的集群服务器。 2 、提供组件间的丰富的、均衡的通讯。 3 、可以强有力地扩充以适应功能需求。 4 ,可充分利用已有组件,比 如说c o n组件。 5 、精通不同 编程语言和开发工具的小组可以协同工作。 6 、为终端用户提供最快的响应,同时又有效地 li 省网络带宽。 7 ,固有的安全性。 8 、负载平衡和容错特征。 9 、分发、配置和管理的高效性。 1 0 、可以同 任何网络协议相结合并集成到任何硬件平台。 1 1 、可以充分利用其它i n t e m e t 标准和协议 d c o m规定了网络上组件之间的通信协定,因此d c o m可以说是组件之间的t c p / i p 协 议。 c o m / d c o m组件目 前广泛地用于wi n d o w s 平台,由于wi n d o w s 平台的极人的市场占有 率,囚此c o m / d c o m事实上已经成为一种组件标准。c o m / d c o m的流行还得益于众多优 秀的开发工具的 支持, v is u a l c + + , v i s u a l b a s ic , d e l p h i 等语言工具 都支 持c o m 组 4 i 的 制作。 。e j b 组件模型 采用e j b 开发应用系统有很多优点, 如:( 1 ) 标准的j a v a 技术便利应用系统可以在许 多不同的服务器平台上运行; ( 2 ) 修改应用系统变得容易, 对单个构件进行增加、修改、 删除等操作不会对应用系统体系结构产生很大影响; ( 3 ) 应用系统经过划分之后,使得构 件之间相互独立,又可以 相互协作, 提供给用户的是该用户所需要的 构件: ( 4 ) 应用系 统 的开发变得容易,基本上是即插即用的方式; ( 5 )应用系统从本质上说是可伸缩的,可以 运行在多线程、多处理机的环境中。当然, 和其它的新技术一样, e j b 也存在一些缺点, 土 要有: ( 1 ) e j b 的数量可能非常多,以 致在软件开发库中很难对这些e j b 进行跟踪和管理; ( 2 ) 如果应用开发人员不能正确地使用 e j b , 可能导致不恰当的 应用系统设计,结果使得 第 8页 共 5 4页 两北 下 业大学硕士学位论文 第一章 系统设计目 标及嵌入式组件技术的研九 应用系统的总体性能f 降:( 3 ) 除非1m及编译器的 性能 得到提高, 否则e j b 应用系统的 性 能仍将是个问题; ( 4 )由于e j b 技术出现时间不长,目 前可用的e j b 还不多,要想得到人 量的商业性e j b 还需要一段时间。 应该说,这二者之中, c o b r a标准是做的最好的。c o b r a标准土要分为3 个层次: 对象请求代理、公共对象服务和公共设施。最底层是对象请求代理o r b ,规定了分布对象 的定义 ( 接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“ 软总线,: 在o r b 之上定义了很多公共服务, 可以 提供诸如并发服务、名字服务、事务( 交易 ) 服务、 安 全服务等各种各样的服务: 最上层的公共设施则定义了组件框架, 提供可直接为业务对象 使用的服务, 规定业务对象有效协作所需的协定规则。 总之, c o r b a的 特点是人而全, 互 操作性和开放性非常好。目 前c o r 日 a的 最新版本是3 .0 。 增加了 有关i n t e m e t 集成和q o s 控制等内容。c o r b a的缺点是庞大而复杂,并且技术和标准的更新相对较慢,c o b r a规 范从1 .0 升级到2 .0 所花的时间非常短, 而再往上的版本的发布就相对十分缓慢了。 相比 之下, j a v a 标准的制订就快得多, j a v a 是s u n 公司自 己定的, 演变的很快。 j a v a 的优势是纯语言的, 跨平台性非常好。j a v a 分布对象技术通常指远程方法调用 ( r m i ) 和 企业级j a v a b e a n ( e j b ) 。 r m i 提供了 一个j a v a 对象远程调用另一j a v a 对象的 方法, 与 传统r p c类似,只能支持初级的分布对象互操作。s u n 公司于是基于r m i ,提出了e j b . 基于j a v a 服务器端组件模型, e j 日 框架提供了 像远程访问、 安全、 交易、持久和生命期管 理等多种支持分布对象计算的服务。目前,j a v a 技术和c o r 日 a技术有融合的趋势。 d c o m则是从c o m改造过来的。mi c r o s o ft 把d c o m作为开发i n t e rn e t 和组们的基础,目 前己 搭载到wi n d o w s n t 4 . 0 以上版本和w i n d o w s 9 8 中。c o m 这一技术部分是作为 规范, 它 定义对象实现的二进制标准,用于单机上应用之间的 通信, 对象实现与使用的语言无关。 d c o m 是c o m的分布式扩展,在d c e r p c 之上构造对象的远程过程调用层,支持对远程对 象的访问。一个d c o m对象 ( 又称为a c t i v e x 对象)是支持一个或多个界面的组件,d c o m 界面指预先规定的一组相关函数。 客户程序通过获得指向 d c o m对象的界面的指针与该对象 交互, 通过指针调用其操作。 客户程序从不直接访问 对象。 d c o m 对象不支持对象i d , 因此 客户程序不能与某个特定的对象发生联系。同时,它有一个致命的弱点就是c o m 的 跨平台 性较差, 如何实现与第三方厂商的互操作性始终是它的一大问题。 从分布对象技术发展的角 度来看, 大多数人认为c o m 竞争不过c o 日 r a . 通过以上的分析比 较, 再结合嵌入式系统开发的特点, 可以 看出 将 c o r b a 技术引入到嵌 入式系统的开发中来是非常适合的可行性方案。 第 9页 共 5 4页 西北t业大学硕 卜 学位论文第三章嵌入式中间件模型设计与实现 3 . 3基于嵌入式中间件模型设计 针对嵌入式系统本身的特点内 存容量小、 处理器运算速度等相对于通用计算机来说 还是很慢, 因此, 目 前基于嵌入式开发的中间件通常都不具备完整的中间件特性。 大多都只 是实现了中间件的某一部分特性, 同时为嵌入式软件系统的发展预留了可扩展的接口, 鉴于 以上几点,论文构建了符合嵌入式特点的中间件模型。 3 . 3 . 1嵌入式中间件模型的设计目 标 与u n i x的实现机制相类似, c o r b a规范将那些相对固定的、单一的功能提取出来交由 o r b 内 核实现以保证它的 可靠性、高效性与可重用性。作为整个c o r b a 系统的基础, o r b 内 核通过屏蔽诸如服务器位置、 实现方式、 通信协议等具体细节为客户方与服务器方之间的通 信提供了透明的传输机制。 m i n i m u m c o r b a 即最小c o r b a , 是c o r b a 的制定者o m g 为了使c o r b a 可以应用到嵌入式环 境中 所制定的c o r b a 规范, 该规范实际上是裁减了c o r b a 中对资 源耗费较大的部分, 也就是 说是c o r b a 的一个精简子集。 要实现一个最小的c o r b a 产品至少满足下面几个条件 ( 即设计原则): 1 . 裁减后还是应该具有广 一 泛的适用性。 2 . 应与其它o r b 具有良好的互操作性。 3完全支持i d l 的各种语法类型。 4 . 应该裁减掉c o r b a 动态特性。 嵌入式中间件模型的设计目 标,就是构建一个最小功能集,即完成以卜 动作: 客户端通 过引用向 服务器端发出一个服务请求( 如1 + 1 = ? ) 。 服务器端接受请求, 并对客户端的请求的 进行分析,分析处理后将结果返回给客户端。 3 . 3 .2嵌入式中间件模型的调用方式 对象请求代理( o r b ) 是对象总线, 它在c o r b a 规范中处于核心地位. 定义异构环境f 对象透明地发送请求和接收响应的基本机制,是建立对象之间c l i e n t/ s e rv e r 关系的中间件。 o r b 使得对象可以 透明 地向 其它对象发出 请求或接受其它对象的响应, 这些对象可以 位于本 地也可以位于远程机器。 o r b 拦截请求调用,并负责找到可以 实现请求的 对象、 传送参数、 调用相应的方法、 返回结果等。 中间件的调 用和响应可以 用两种不同的调用方式来实现, 一 种是静态调用方式,一种是动态调用方式。 . 静态调用方式 在静态方式中, 根程序 ( s t u b ) 事先由i d l 接口文件编译生成, 它包括代理对象的定义和 实现。代理对象的定义与工 d l 接口中的定义相一致, 包括名字、操作、阐述等方面, 代理对 象的实现 ( o b j e c t i m p l e m e n t a t i o n ) 封装在代理对象内部, 它实际上并没有执行客 户所期 第 1 2页 共 5 4页 西北下业大学硕士学位论文第派章嵌入式中间件模型设计与实现 3 ) 可移植的对象适配器 p o a c 4 ) 值类型语义 ( v a l u e t y p e s e m a n t i c s ); 5 ) 互联网o r b 之间的协议 i i o p ; 6 ) 在s s l 之上的i i 0 p ; 7 )模块化的o r b 设计: 即使在运行时使用加载的模块, 新的传输协议和对象适配器 也可以很容易地链接到o r b ; 8 ) 支持嵌套调用; 9 ) 监听: 1 0 ) a n y 提供接口 来插入和取出在编译时程序不认识的构造类型; 1 1 ) a n y * g t y p e c o d e 支持r m - o d p 中定义的递归子类型: 1 2 ) 完全的b o a 实现, 包括所有的激活模式, 支持对象转移、 对象持久性,以 及存储 库的实现; 1 3 )在运行时,b o a 可以使用加载模块在客户端加载对象实现; 1 4 )支持使用x 1 1 应用程序 ( x t , g t k , t e l 和q t )内部的m i c o : 1 5 ) 符合公用对象服务规范的可互操作的命名、 事件、 属性、 关系、 时间和交易 服务: 1 6 )图形界面的接口 存储库i r 浏览器允许在任意接口 调用任意方法。 现在m i c o 可以运行在以下平台: 在s u n s p a r c 上的s o l a r i s 2 . 5 , 2 . 6 ,和 7 在 i b m r s / 6 0 0 0上的a i x 4 . 2 在 i n t e l x 8 6和 d e c a l p h a上的l i n u x 2 . x 在 d e c a l p h a上的d i g i t a l u n i x 4 . x 在 p a - r i s c上的h p - u x 1 0 . 2 0 在 。 e c m i p s( 无共享库,没有动态装入)u l t r i x 4 . 2 w i n d o w s 9 5 / n t ( v i s u a l c + +和 c y g n u s c d k ) 近来一些用户还告诉说m i c o 可以运行在以下的平台: 在 i n t e l x 8 6上的f r e e b s d 3 . x 在 d e c m i p s上的s g i - i r i x 在 i n t e l x 8 6上使用 e m x 0 . 9的o s / 2 在 i n t e l x 8 6上的d g / u x l y n x o s 通过以上的分析比较,我们比较倾向于采用以m i c o / c o r b a为嵌入式中件间的方案, 但是,正像上面所说m i c o / c o r b a 本身包涵的功能比 较完善, 体积比较庞大, 不适合直接 在嵌入式系统中使用, 为此, 论文根据组件化嵌入式操作系统的具体要求及m 工 n i m u n c o r b a 规范, 对m 工 c o 进行裁减, 使之符合嵌入式中间 件的 特殊要求。 3 . 5嵌入式中间件实现一裁剪m i c o 系统 3 . 5 . 1实现目 标与实施方法 o m g 对c o r b a 核心部分进行了裁减, 具体的标准见 t h e 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 a n d s p e c i f i c a t i o n - - c o r b a 2 . 6, r e v i s i o n 2 . 6 d e c e m b e r 2 0 0 1 ,规 范同时也给出了 裁减后的系统工 d l : 1 . o r b部分裁减 第 1 7页 共 5 4负 西北工业火学硕l 二 学位论文 第三章 嵌入式中间件模型设计与 实现 2 . d i i ( d y n a m i c i n v o c a t i o n i n t e r f a c e ) : 全部裁减 3 . d s i ( d y n a m i c s k e l e t o n i n t e r f a c e ) : 全部裁减 4 . d y n a m i c a n y : 全部裁减 s . i n t e r f a c e r e p o s i t o r y : 大部分被裁减 6 . p o r t a b l e o b j e c t a d a p t e r : 部分裁减 7 . c o m ,i c o r b a i n t e r w o r k i n g : 全部裁减 s . i n t e r c e p t o r s : 全部裁减 9 . l a n g u a g e m a p p i n g s : 全少支持一种谙言 经 过 裁减, 就 只 剩f o r b 核心, p o a 子 集, 静 态 s t u b , s k e l e t o n , 至 于 各 种 s e r v i c e s 看 具 体 情 况而定,根据c e o s 系统的具体实现要求, 不需要就完全可以 不实现了。 15 . 2裁剪m i c o系统 m i c o 系统结构的类图用u m l 表示如图3 - 5 所示; 万沪 - - - - -一 哪 一 一习 一, 及 s y s t e m f x c e p t io n !u s e r e x cep t io n l- 一 一 下 下 .- 一 三 r 飞 , 一谕。 一 一二 了 二 二 二 二 二二 几二 二 二 1 r一一 . u n k n u - e x c e l t i o n ; 卜一. - 一 一 一叫 一, 一 一 一 一 一 一 一 一_es c o nt e x t p r in c i 州 e x c e p t io n l 竺 日 e q u e s t 一 万一三下 _ 万 月匕 =: -l - -一 - . 一-注 _ 蒸 二 工 图3 - 5 m i c o 系统结构的类图 m a g i c c h e c k e r 是基类, s e r v e r l e s s o b j e c t 类和e x c e p t i o n 类都从它继承而来。 s e r v e r l e s s o b j e c t 接口 类是被o b j e c t 类、 动态框架接口 类和动态调用接口 类、以 及o r b 按 口 类、 o r b r e e q u e s t 接口 类、 b o a 类继承了。 异常处理类e x c e p t i o n 类是s y s t e m e x c e p t i o n 类、u s e e x c e p t i o n 类的基类。 o b j e c t 类是p o a 适配器类、 动态a n y 类 ( l o c a l o b j e c t ) 、 接口 存储库类 ( i r o b j e c t )、 编码类( c d r ) , 互操作对象应用( i o r ) 和策略接口 ( p o l i c y ) , 通用容器类接口( r e c e p t a c l e s ) , 的基类。类图用u m l 表示如图3 - 6 所示: 第 1 8页 共 5 4页 西北工业大学硕士学位论文第三章嵌入式中间件模型设计与 实现 ob j e c t 下 一 刁 - - 子 军 j , 二一 一 一 一- 乙 c c m接口类 l o c a lo b j e c t r cd r io r policy 图3 - 6 o b j e c t 接fa 类图 o b j e c t 类是c c m 接口 类、适配器接口 ( r e c e p t a c l e s )、动态a n y 接口 ( l o c a l o b j e c t ) 、 接口 存储库接口( 工 r o b j e c t ) . 编码接口( c d r ) . 互操作对象应用( i o r ) 和策略接口( p o l i c y ) 等类的基类。 3 . 5 . 2 . 1 o r b 对象请求代理的裁剪 。o r b 中的主要方法 客户端和服务端的对象均可以自 由 选择使用o r b 对象中定义的方法来实现操作。 卜 面举例说 明o r b 对象中的重要方法: ( 1 ) o r b o r 几i n i t ( i n o u t a r g _ l i s t a r g v , i n o r b i d o r b - i d e n t i f i e r ) 作用:o r b 初始化方法。 ( 2 ) s t r i n g o b j e c t _ t o _ s t r i n g ( i n o b j e c t o b j ) 作用: 将对对象的引用转换成客户可以 用字符串 方式存储的对象信息。 ( 3 ) o b j e c t s t r i n g t o o b j e c t ( i n s t r i n g s t r ) 作用: 上述方法的逆过程。将以 字符串 方式存储的对象转换成对对象类型的引用。 ( 4 ) o b j e c t r e s o l v e - i n i t i a l _ r e f e r e n c e s ( i n o b j e c t l d i d e n t i f i e r ) 作用:获取初始对象引用。 ( 5 ) p o l i c y g e t p o l i c y ( i n p o l i c y t y p e p o l i c y - t y p e ) 作用:返回指定类型的服务策略对象。 作为公共对象请求代理体系结构中的核心内 容, o r b 提供了 相当丰富的方法 类o r b 所示: 类的基类是s e r v e r l e s s o b j e c t . 定义于: o r b ee m i c o . h。o r b 类图用u ml 表示如图3 - 7 第 1 9页 共 5 4页 西北工业大学硕 卜 学位论文第三章嵌入式中间件模型设计 j 实现 m a g ic c h e c k e r 一 s e t v e r le s s o b j e c t 一 下不 下尸 下 -、 、 orbor b r e q u e s t 图3 - 7 o r b 类图 根据c e o s 系统的具体要求和m i n i m u m c o r 13 a的裁减原则, 将o 2 b 模块中关于动态 接口的函数裁减掉。 因为位于。 r b .c c 文件中的 c r e a t e es l i s t 和c r e a t e o p e r a t i o n l i s t 操作是用来支持 动态调 用接口

温馨提示

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

评论

0/150

提交评论