(计算机应用技术专业论文)嵌入式软件面向行业应用编程中间件技术的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式软件面向行业应用编程中间件技术的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式软件面向行业应用编程中间件技术的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式软件面向行业应用编程中间件技术的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式软件面向行业应用编程中间件技术的研究与实现.pdf_第5页
已阅读5页,还剩94页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式软件面向行业应用编程中间件技术的研究与实现.pdf.pdf 免费下载

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

文档简介

电子科技大学硕士论宠;嵌入式较件面向行业应用编糕中间件技术的研究和实现 中文摘耍 计算机硬件技术、通信技术、i n t e m e t 技术的发展对嵌八式软件的开发提出 了翔下一些凝嚣求:开放蛙、穆逡季亍业特性的嵌入式应鼷平台以及以客户为导 向的软件设计等等。要顺应这些发展方向就要求:在嵌入式软件开发过程中, 应以缩短秀发周期、实璎麓重翅陡、扩鼹性秘缨妒蛙为残瓣,针对特定的行业 特性采用不同的中间技术,依照致的软件开发框架,以任务或对象为撼本骨 架,透过爨菠缨节的翘范接口寒实现特定的应用。 嵌入式软件的专用性决定了嵌入式平台必须舆备一定的行业特性。阑此, 本论文首先力图紧掘行业的特点,对不嚼撂业的嵌入式平台运行支撑框絮进行 研究,分析和探讨了现有软件平台实现过程中采用的若干中间件技术。在充分 的理论基础上,本文以某十五预磷硬垦之予课题“面向慕工程系统扩展露o s e 研究与实现”和国家8 6 3 项目“面向p d a 手机的嵌入式软件开发平台”为行业 背最,分别用结构化设计方法和隧向对象的中闻 牛技术实现了弱瓣面向不同行 业的可编程中间件。 在十五课题中,本文对操作系统扩展鹰o s e 避芎亍了概述介缨并分析了o s e 的体系结构,然后重点阐述了网络版o s e 库中c o l d 模块的设计和实现过程,最 后篱重介缨了o s e 测试验证系统的设计方案以及在c r t o s 上搭建测试通信环境 韵过程,并给出了相应的测试数掰。针对实时性需求,o s e 采用了传统的面向 过程开发模式,利用接口寝驱动和条件编译等技术封装和扩展了c r t o s 繇统功 能,为应髑程序酌开发提供了致的编程平台。 在8 6 3 项目中,根据平台的可配置、可重用以及应用开发筒雎等需求,本 文朝耨的采用了西向对象的开发模式,翻沼多静谶商对象静中闰停技术,详细 阐述了p d a 平台运行支撑框架的设计方案,提出了客户端和服务端的编程规范, 并且辗据接口窥麓甜装了一些典登组件,验证了该方案静w 行往焉蠢正确程。该 项目设计的创新点在于:一改传统的结构化的嵌入式软件设计模式,利用面向 对象技术,尤萁燕设计模式帮絮狗,蹇圭魏提出了一静嵌入式领躐懿运行支撑 架构,它包括若干撩口规辩和些自身的实现,具有规范化、软件平台可配罨、 蜀移植、方便软静开发、支持多媒体应臻筹优点。 最后本文进行了全文总结,并指出了项目实现中的一贱不足和下一步工作。 【关键词】嵌入式软件平台中间件接口构件面向对象设计模式架构 运彳亍支撵框黎 媳子科技大学硕士论文:嵌入式软件面内行业应用编耀中间件技术的研究鞠实现 a b s t r a c t t h e d e v e l o p m e n to f c o m p u t e rh a r d w a r e s ,c o m m u n i c a t i o na n d i n t e r n e tb r i n g sf o r w a r ds o m e n e wd e m a n d si ne m b e d d e ds o f t w a r ed e v e l o p m e n tf i e l da s f o l l o w s :o p e n n e s st e c h n o l o g y , c o n s t r u c t i o no fe m b e d d e d a p p l i c a t i o np l a t f o m a o r i e n t e dt oc e r t a i nf i e l d ,a n ds o f t w a r e d e s i g np r o c e s s st h a t i s g u i d e db yc l i e n t s ,e t c i n o r d e rt o a d a p t t h es o r w a r e d e v e l o p m e n tt o t h ea b o v ec h a r a c t e r i s t i c s ,w ea i ma t s h o r t e n i n gt h ed e v e l o p m e n t p e r i o d ,i m p r o v i n gr e u s a b i l i t y , s c a l a b i l i t ya n dm a i n t a i n a b i l i t y i n t h el i g h to ft h e c h a r a c t e r i s t i c so fc e r t a i nf i e l d ,i ti sr e q u i r e dt oa d o p td i f f e r e n tm i d d l e w a r e s ,m a dt o i m p l e m e n ts p e c i f i ca p p l i c a t i o n st h r o u g hs t a n d a r di n t e r f a c et h a th i d e st h ed e t a i l s a c c o r d i n g t oc o n s i s t e n ts o f t w a r ed e v e l o p m e n tf r a m e w o r k s a n di nt h ed e v e l o p m e n t , t h et a s ka n do b j e c ta r et h eb a s i ce l e m e n t s t h e s p e c i a l i s mo f e m b e d d e ds o f t w a r er e q u i r e st h a tt h ee m b e d d e d p l a t f o r mh o l d s t h ec h a r a c t e r i s t i c so fc e r t a i np r o f e s s i o n s o ,t h i sp a p e ra n a l y s i sa n dd i s c u s st h e f i e l d - o r i e n t e de m b e d d e d p l a t f o m - d r u n t i m es u p p o nf r a m e w o r k ,a c c o r d i n gt ot h ef i e l d c h a r a c t e r i s t i c s 。a n dt h e nt h em a i n p o i n t so f m i d d l e w a r et e c h n o l o g i e st h a ta r eu s e di n t h ei m p l e m e n t a t i o no fe m b e d d e ds o f t w a r ea r es u m m a r i z e d b e s i d e st h i s p a p e ri s b a s e do nt h es u b - p r o j e c t t h e s t u d ya n di m p l e m e n t a t i o no nt h eo s e o f 1 0 2 “ f i v e y e a rp l a n ”,a n dn a t i o n a l8 6 3p r o j e c t “t h ee m b e d d e ds o f t w a r ed e v e l o ”p m e n t p l a t f o e mo r i e n t e dt op d a 。t h i sp a p e ri se n g a g e di ni m p l e m e n t i n gt w od i f f e r e n t p r o g r a m m i n gm i d d l e w a r e s ,u s i n g s t r u c t u r a l t e c l m o l o g h a n d o b j e c t o r i e n t e d t e c h n o l o g y h at h e “1 0 ”f i v e y e a rp l a n ”s u b - p r o j e c t ,t h i sp a p e r f i r s t l yi n t r o d u c e st h eo p e r a t i n gs y s t e m e x t e n t i o no s e d a n a l y s ei t sa r c h i t e c t u r e 。t h e ni te x p a t i a t e so nt h ep r o c e d u r eo fd e s i g na n d r e a l i z a t i o no ft h ec o mm o d u l ei nt h eo s e l i b a r a r y ( n e t w o r kv e r s i o n ) a tl a s tt h i sp a p e rf o c u s e s o l l d e s c r i p t i o n i no s et e s ta n dv a l i d a t e s y s t e md e s i g na n dh o wt o c o n s t r u c tt h et e s t c o l m a a u n i c a t e o ne n v i r o n m e n to nc r t o s ,s o m e s i m p l et e s td a t a sa r ew o r k e do u t b e c a u s eo ft h e r e a l t i m er e q u i r e m e n t ,w ea d o p tt r a d i t i o n a ls t r u c t u r a ld e v e l o p m e n t i n g p a t t e m ,l l s ei n t e r f a c e t a b l ea n dc o n d i t i o n a l c o m p i l i n gt e c h n i q u e se n c a p s u l a t e a n de x t e n dc r t o s s f u n c t i o n s ,s u p p l y au n i f o r m p r o g r a m m i n gp l a t f o r mt ot h ea p p l i c a t i o nd e v e l o p m e n t i nt h e8 6 3 p r o j e c t ,a c c o r d i n g t ot h e c o n f u g r a t a b t e ,r e u s a b l e ,a n dd e v e l o p m e n ts i m p l e r e q u i r e m e n t so f t h ep t a t f o n n ,t h i sp a p e rn o v e l l yu s eo b j e c t o r i e n t e dd e v e l o p i n gp a t t e r na n d m a n y k i n d so f o b j e c t 。o r i e n t e dm i d d l e w a r et e c h n i q u e s ,d e t a i l e d l yd e s c r i b e sd e s i g n i n g s c h e m eo fr u n t i m e s u p p o r t e d f r a m e w o r k0 1 2ap d a p l a t f o r m i tp u t sf o r w o r d s 电了_ 科技大学硕士论文:嵌入式软件面向行业应用编程中间件技术的研究和实现 p r o g r a m m i n g r u l e sf o rs e r v e r sa n d c l i e n t s ,a n dw ee n c a p s u l a t e s o m e t y p i c a l c o m p o n e n t sa st h ei n t e r f a c es t a n d a r d sa n dp r o v et h ef e a s i b i l i t ya n dv a l i d i t yo f t h i s d e s i g n i n gs c h e m e t h e n e wi d e ao f t h i sp r o j e c ta r ea sf o l l o w s : 1 ) i tc h a n g e s t h et r a d i t i o n a ls t r u c t u r ed e s i g nm o d e lo fe m b e d d e ds o f t w a r e ; 2 ) i tp r o p o s e sa n o v e lr u n t i m es u p p o r tf r a m e w o r ko r i e n t e dt oe m b e d d e d f i e l d ,u s i n g o b j e c t - o r i e n t dt e c h n o l o g y t h e f r a m e w o r ki n c l u d e si n t e r f a c es t a r d a r da n d c o r r e s p o n d i n gi m p l e m e n t a t i o n s ; 3 ) i ta p p l i e st h ef r a m e w o r ki n t h es o f t w a r ep l a t f o r mo r i e n t e dt op d ai th a st h e f o l l o w i n ga d v e n t a g e s :s t a n d a r d ,c o n f i g u r a b l e f o rs o f t w a r e p l a t f o r m , t r a n s p l a n t a b l e ,c o n v e n i e n tf o rd e v e l o p m e n tp r o c e s sa n ds u p p o r tf o rm u l t i m e d i a a p p l i c a t i o n s ; 4 ) i t i sv a l u a b l ei n t h e t h e o r y a n d p r a c t i c e f o rn t u r e s t u d y a n d a p p l i c a t i o n : d j s t r i b u t e de m b e d d e dr u n t i m ef r a m e w o r k k e y w o r d :e m b e d d e d s o f t w a r e p l a t f o r m ,m i d d l e w a r e ,i n t e r f a c e ,o b j e c t o r i e n t e d , d e s i g np a t t e r n ,f r a m e w o r k ,m n t i m es u p p o r t f r a m e w o r k 独创性声明 本人声弱所呈交的学位论文是本人在苷师指等下进行的磷 究_ i 佟及取餐麓研究成果。据我蘑妇,除了文中特别热以标注和 致谢的地方外,论文中不包含其他人已经发液或撰写过的研究成 果,也不包含为获彳爵电子科技大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均己在论文中作了裙确酶说臻并表示谢意。 签名:边拯日期:三口口荜年2t a b or 关于论文使用授权的说明 本学位论文 乍者完全了勰惫子科技大学有关缣留、使用学位 论文的规定,有权保罄并囱国家有关酃门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以 将学位论文的全部或部分内容编入有关数据库进行检索,可以采 糟影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密豹学位论文在解密磊应遵守筵娥定) 签名:违赵 导师签名: 日期:上廖 电子科技大学硕士论文:嵌入式软件面向行业应用编程中间件技术的研究和实现 第一章绪论 1 1 嵌入式应用编程中间件概述 随着信息技术的发展、数字化产品的普及,3 g 数字通信时代的到来,嵌入 式系统已经渗透到信息家电、工业控制、通信和电子设备、人工智能设备等诸 多领域。嵌入式广发的应用前景和发展潜力使其成为2 1 世纪的热点。然而嵌入 式面向特定应用的特征,决定了在嵌入式平台上开发应用软件的过程与通用计 算机差别也很大。 1 1 1 嵌入式计算机和实时操作系统 嵌入式计算机,是一种作为智能部件内装于专用设备系统的高速计算机。 内藏于这种计算机的系统,称为嵌入式系统( e m b e d d e ds y s t e m ) ,是相对于通 用计算机而言,以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适 用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系 统。 实时操作系统是对外来事件在限定时间内做出反应的操作系统。按其使用 方式可分为实时控制系统合实时信息处理系统两种。在实时控制系统中计算机 通过特定的外围设备与被控对象发生联系,被控对象的信息经过加工后,通过 现实屏幕向控制人员显示或通过外设向被控对象发出指示,实现对被控对象的 控制;在实时信息处理系统中,用户通过终端设备向系统提出服务请求,系统 完成服务后通过终端回答给用户。 1 1 2 嵌入式实时操作系统的特点 嵌入式实时操作系统是操作系统领域的一个重要分支,与通用操作系统有 共同的一方面,但在可靠性、稳定性、功耗、环境适应能力上有其独特的特点: 可预测性 所谓可预测性指的是实时系统响应时间是可以预测、可以确定的,它是实 时系统的基础,实时系统的正确性和实时性首先取决于此。 低功耗性 嵌入式系统c p u 计算能力不如通用计算机,存储空间也比较有限,一般不 包含大容量的存储设备,这就要求嵌入式系统尽可能的降低功耗,同时在物理 尺寸上也有一定要求就。 电了科控人学棚卜论文:嵌入式软件面向行业应用编程中间件投术的研究和实现 可靠性和稳定性 实时系统不仅要求在硬件上采取各种可靠措施,如元器件的工艺质量、可 靠性和外部温度环境等,而且力求软件可靠。实时o s 可靠性和稳定性包括两 个方面的内容:一是在正常情况加系统正确的连续工作;二是在异常情况下系 统能及时正确的处理,保证完成任务或最重要的任务。 可配置性 嵌入式实时系统大多面向特定应用,如电子战系统、多功能雷达系统、可 靠安全控制等,这些就使嵌入式应用具有专用性和个性特点,具有可配置和剪 裁的功能。 并发性 物理事件的随机性和物理过程的并发性是实施系统的特性,为适应这种特 征,实时o s 必须具有完善的终端处理和多任务运行机制,为实时应用提供良 好的环境。 实时系统的应用领域十分广泛,不同的应用对时间确定性的要求也是不同 的。基于这种考虑,可以将实时系统分为硬实时系统和软实时系统两种。硬实 时系统用以描述对响应, , - t f a 要求极其严格的实时系统。在硬实时系统中,若输 出由于不能满足响应时间确定性的要求而被放弃,系统的正确性将受到严重影 响。相反,在软实时系统中,只要响应时间超出确定的时间范围的频率低于某 一闽值,则不影响系统的正确性。 1 1 3 嵌入式软件发展及当代新需求 自2 0 世纪6 0 年代以来,嵌入式软件在国防建设和国民经济中得到了日益 普及的应用。从航天飞机上的雷达监控系统到p d a 手机软件,再到日常生活中 的家电控制软件,嵌入式技术一直都代表着当代计算机技术的发展方向。但伴 随着3 g 通信时代的到来,分布式系统的发展,计算机操作系统和硬件配置不断 提高,人们对嵌入式软件的开发规模、周期、性能、质量等方面也相应的提出 了更高、更苛刻的要求,这些都给嵌入式软件的开发带来了新的挑战:( 1 ) 如 何根据不同需求迅速的升级软件,开发新的业务和功能;( 2 ) 如何在异构环境 下增强应用程序之间的移植能力和交互能力。因此面向行业的中间件,正在成 为嵌入式软件平台的一个发展方向,其中基于构件复用和框架复用的软件复用 思想是解决上述问题的主要途径之一。 1 1 4 嵌入式软件开发平台 嵌入式软件开发平台主要致力于解决软件产业的基本矛盾。“用户需求的个 电子科技大学硕士论文:嵌入式软件面向行业应用编程中间件技术的研究和实现 性化与软件产品的通用性之间的矛盾”,针对特定的应用领域,建立一个开放的 通用软件平台和应用开发标准,使得开发者可以更快地编写应用程序进入大众 市场并确保能得到报酬。目前软件平台表现出两种新趋势:一是软件基础架构 平台的兴起,二是行业基础软件平台的诞生( 如下图所示) 。前者是一种为复杂应 用软件系统提供通用技术基础架构的软件平台,我们熟悉的有b e a 的 w e b l o g i c 、i b m 的w e b s p h e r e ;后者是指以业务导向和驱动的、可快速构建应 用软件的软件平台。 图1 - 1 软件平台层次 由此可见,将软件平台技术应用于嵌入式领域,可以从许多方面大幅度的 提升现有嵌入式软件开发的效率,并且大大降低软件开发成本。 1 1 5 嵌入式软件平台的“面向行业”特性 应用行业的多样化特性决定了嵌八式软件平台也是多元化的,其中我们将 不同行业的共性抽象出来,作为平台封装的一个重要目标,其作用体现在: 1 、可移植性。应用软件通过标准规范的接口来实现,平台独立于下层具体的 操作系统,屏蔽下层的实现细节,当根据需要选择不同的操作系统时,应用程 序不用作或只作极小的改动,即应用可以在不同的嵌入式系统之间移植。 2 、支持跨平台操作,为不同操作系统上的应用软件集成提供方便,从而满足 企业内部对系统伸缩性和可扩展性的要求。 3 、缩短项目的开发周期。软件无需修改、重编译、重连接、或频繁的重起运 行中的应用,就可方便的被更新和扩展。 4 、平台具有较好的可维护、可重用和可扩展性。丰富的功能模块和灵活的定 制机制,并且具有规范的开发扩展框架,使得平台开发者可以根据规范的设计 模式对平台功能进行维护、扩展和继承。 电子科拨大学硕士论文:嵌入式软件面向行业应用编程中间件披术的研究和实现 从另一角度看,由于行业的特殊性,嵌入式平台不仅需提供通用的功能和 接口,更应根据行业特定需求提出的解决方案,封装其架构与功能,为上层特 定应用提供一致的开发和运行平台。例如,a p c 公司针对电信行业展出了面 向呼叫中心多业务平台;东方通科技在金融行业完成消息中间件t o n g l i n k 和 交易中间件t o n g e a s y ;深圳阿派斯公司主营产品是基于e j b 技术的w e b e n a b l e d 应用服务器等等,本论文将集中探讨在面向某国防工程和p d a 手机应 用软件领域中中间件技术的应用和实现过程。 1 1 6 中间件技术的引入 在不断发展的网络环境中,无论是硬件平台还是软件平台,都不可能统一。 大型应用软件通常要求在软硬件各不相同的分布式网络上运行。为了更好地开 发和应用能够在异构平台上运行的应用软件,迫切需要一种基于标准的、独立 于计算机硬件以及操作系统的开发和运行环境,中间件技术就应运而生了。 中间件是处于操作系统和应用程序之间的软件( 也有人认为它应该属于操 作系统中的一部分) 。人们在使用中间件时,往往是把一组中间件集成在一起, 构成一个平台( 包括开发平台和运行平台) ,但在这组中间件中必须要有一个通 信中间件,因此可以比较形象地把中问件可以定义为:平台+ 通信。 1 1 7 中间件特点及优势 通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行 于多种硬件和o s 平台:支持分布式计算,提供跨网络、硬件和o s 平台的透 明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。 程序员通过调用中间件提供的大量a p i ,实现异构环境的通讯,从而屏蔽 异构系统中复杂的操作系统和网络协议。 中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接 口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范 的多种实现。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已 成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和 网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环 境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新, 并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了 企业在应用软件开发和维护中的重大投资。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件 电子利技大学硕士论文:嵌入式软件面向行业应用编程中间件技术的研究和实现 在不同的技术之间共享资源。中间件软件管理着客户端程序和数据库或者早期 应用软件之间的通讯。 中间件在客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡 以及基于w e b 的计算等。 1 2 国内外相关技术讨论 随着嵌入式软件在各个应用领域的深入发展,面向领域的嵌入式中间件逐 渐形成了一个新的发展方向。除了规模较大的公司外,专门开发了针对本行业 的中间件( 行业开发平台) 以外,也出现了面向不同行业和领域的嵌入式中间 件,如,欧汽车电子行业推出的o s e k v d x 规范;美国高通高通公司开发的面 向移动终端的b r e w ;s u n 公司开发的j 2 m e 等等。面向行业领域的嵌入式中 间件技术的涌现,一方面反映了嵌入式应用对软件在功能和性能方面提出了更 高的要求,另一方面,也是嵌入式技术在该行业中有较普遍、较深入的应用。 这些行业往往是:个人通信设备、电子设各、复杂的自动控制、过程控制等。 另外,构件复用已经在学术界和产业界得到了广泛深入的实践,其关键是 基于中间件技术的运行支撑框架。中间件技术已经成为了当今软件界研究的热 点,国内外已经推出了不少的标准和实用产品,其中面向对象的中间件技术和 工具发展尤为突出。例如,m i c r o s o f tm f cg u i 构架和o c x 组件是p c 平台上 用于创建图形商业应用的标准;对象管理组( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 针对可移植、分布式应用领域提供了一个完整的体系构架,制定了一套关键规 范一对象管理体系( o b j e c t m a n a g e m e n t a r c h i t e c t u r e ,o m a ) 和它的核心( c o r b a 规范) 【l 】i2 l ;美国a r g o n n e 国家实验室开发出一套针对实时领域的中间件标准 t a o ( t o o l k i tf o ra d v a n c e do p t i m i z a t i o n ) 3 1 ;国内东方通公司的消息中间件、交 易中间件、对象中间件、应用服务器中间件、数据访问中间件等等。 1 3 本文主要工作 本论文是在国家“十五”项目之子项目“面向某国防工程系统扩展库o s e 研究与实现”和国家8 6 3 项目“面向p d a 手机的嵌入式软件开发平台”支持下 展开的,对面向两种领域的平台封装与支撑( 中间件) 的若干关键技术进行了 研究和探索,为后续嵌入式软件开发平台分布式能力的实现做准备。本文的研 究主要围绕面向两个不同领域的中间件技术展开,根据不同的行业需求和设计 模式在以下几个方面进行了重点研究: 分析和探讨中间件实现的核心技术; 通过研究现有的主流运行支撑技术,提出了一种构件化的运行支撑体系结 电子科技大学硕:| :论文:嵌入式软件面向行业应用编程中间件技术的研究和实现 构,即通用的嵌入式平台; 针对某工程,研究、设计和实现了c r t o s 20 的操作系统扩展库o s e 的网 络版和o s e 测试验证系统; 针对p d a 手机应用软件领域,利用面向对象的设计模式和接口封装方式, 实现了p d a 手机软件运行支撑平台。 1 4 本文组织 全文总共分为六章: 第一章:绪论 本章首先介绍了嵌入式系统、嵌入式软件及其发展,从而引出面向领域的 嵌入式软件平台和中间件的重要性,接着介绍了本课题相关概念和背景; 第二章:编程中间件技术要点分析 本章首先介绍了编程中间件的概念,然后结合u n i x 标准接口规范p o s i x 、 移动终端领域b r e w 平台以及0 0 、c 0 d 技术探讨了中间件实现的关键技术; 第三章;某工程嵌入式操作系统扩展库o s e 方案的实现 本章首先介绍了该工程的行业特性,然后介绍了0 s e 重要部分c 0 l d 模块以 及o s e 库应用验证系统的设计和实现过程; 第四章:面向p d a 手机软件开发平台的运行支撑架构设计 本章提出0 0 设计思想,介绍了针对p d a 手机软件平台自行设计的运行支撑 构架以及具体的设计模式; 第五章:p d a 手机软件平台的运行支撑系统模块设计与实现 本章深入第五章,详细介绍了p d a 手机软件平台的运行支撑系统实现细节 及其数据结构,并进行测试验证: 第六章:全文总结 本章总结了全文的工作,重点分析了目前研究成果中的不足,并由此指出 今后工作的方向。 电子利技大学硕士论文:嵌入式软件面向行业应用编程中间件技术的研多e 和实现 第二章编程中间件技术要点分析 应用编程中间件,也成为应用编程接口,是建立在操作系统接口之上的面 向应用领域的编程接口,在应用层和操作系统层之间,编程中间件起着承上启 下的关键作用。嵌入式应用平台的易用性,很大程度上决定于该平台提供中间 件的丰富程度和应用开发的规范程度。嵌入式操作系统面向领域的编程中间件, 可以说是一套规范加上一些具体的实现( 以库的形式体现) ,其技术关键包括: 接口规范性、结构体系开放性可扩展、可重用,本章将作进一步探讨。 2 1 应用程序接口封装的规范性 接口规范定义了一套标准的接口和环境,在更为简洁、健壮、可移植和可 维护的接口中封装低级函数和数据结构,屏蔽下层实现细节,为软件应用平台 提供简单、一致、内聚的可编程接口,它主要分为操作系统适配层和应用层两 大类。接口规范既适于应用程序开发者也适用于系统开发者。对于平台开发者 而言,如何高效地将应用编程接口直接或间接的路由到下层具体操作系统提供 的功能上,是接口技术研究的一个重点,其中将会涉及到编程框架和设计模式 等技术。 2 1 1 接口封装 接口封装采用一定的外观包装模式,应用过程是一个客户调用、转发过程 图2 演示了包装外观模式中的各种协作关系: 1 客户调用( c l i e n ti n v o c a t i o n ) : 客户通过包装外观的实例来调用方法。 2 转发( f o r w a r d i n g ) :包装外观 方法请求转发给它封装的一或多个 底层函数,并传递函数所需的任何内部 数据结构。 函数 接口封装技术是目前研究的热点,因为它作为中间件技术的应用,可以( 1 ) 隐藏各层内部低级的函数和数据结构;( 2 ) 增强嵌入式软件开发环境;( 3 ) 实 现软件的可移植性和可复用性;( 4 ) 提供一致的、简洁的和优雅的编程界面。 目前接口封装方法大致可分为三种:条件编译、接口表驱动和抽象类。 条件编译 该方式主要利用逻辑预处理器指令测试某个符号是否以前用# d e f i n e 指令定 义过,或者检测某个常量表达式是否为真,然后根据检测结果完成抽象层到实 电子科技大学碘士论文:嵌八式软件面向行业应用编程中间件技术的研究和实现 际代码的路由。通常这些常量表达式和符号都须在系统初始化时被各种配置文 件声明或定义。在此,以嵌入式操作系统p o s i x 实时标准接口的封装为例,介 绍这种方式的实现思想。 p o s i x 标准的实时扩展主要包括以下几个部分: 信号是应用程序( 进程) 之间以及应用程序与内核间通讯的机制之一。p o s i x 专门定义了实时信号,信号值位于s i g r t m i n 和s i g r t m a x 之间的信号都 是实时信号,支持信号排队,加快了信号的发送速度。 实时软件中需要高精度的时钟赖触发与时间相关的事件。通常操作系统提供 的软件时钟为1 0 m s 次,而且硬件产生的时钟信号要先触发操作系统的内部 维护过程,然后更新软件时钟。p o s i x 将时钟精度提高到纳秒级,并通过信 号机制直接发送到应用程序。 由于i o 操作速度一般来说较低,所以p o s i x 定义了异步方式i 0 操作调用 后继续其他处理,不再阻塞等待,在i o 操作完成后,进程由信号通知操作 结果。这样,i o 操作可以和其他操作并行,而且减少了i o 操作的不确定性 对其他处理的影响。 以上部分需增加的封装接口大致如下: 其中接口封装方式以条件编译为主,以s i g a c t i o n ( ) 为例,实现思想如下 # i n c l u d e i n t s i g a e t i o n ( i n ts i g ,c o n s t s i g a c t i o n * o a c t ) # i f d e fc r t o s i i 电子科拉大学硕士论文:嵌入式软件面向行业应用编程中间件技术的研究和实现 ) # e l s e i fr t l i n u x i m p l e m e n t s i g a c t i o nw i t hr t l i n u xh e r e ) # e l s e i fv x w o r k s i m p l e m e n ts i g a c t i o nw i t hv x _ w o r k sh e r e ) 接口表驱动 接口表方式常用于各种设备驱动程序中,目的是操作系统或应用提供一致 的操作接口,其中最基本的就是用到了函数指针。“函数指针”指的是指向函数 的指针变量。高级程序语言在编译时,每一个函数都有一个入口地址,该入口 地址就是函数指针所指向的地址。为了工作正确,指针还必须包含其他信息, 即指针所指向的函数的参数列表中的参数类型,以及返回类型。函数指针有两 个用途:调用函数和作函数的参数。声明函数指针的一般形式如下所示: 返回类型( + 指针变量名) ( 参数类型列表) 另一方面,所有的函数变量名可以视作指向函数入口地址的指针,这就使 得我们可以把函数名当作一个指针值赋给声明为函数指针类型的变量,在程序 的执行过程中,这种指针可以在不同时候或不同环境下指向不同的函数,达到 抽象层到实际代码路由的目的。设各驱动利用接口表的思想,采用结构s t r u c t 类型将设备和资源抽象成“类”,封装与设备相关的函数指针,再在具体的环境 中完成具体函数名的赋值。 以v x o r k su g l 图形抽象层为例,该方式实现基本思路如下: 1 声明抽象层:定义结构类型u g l _ u g i _ d r i v e r ,其域为函数指针,专门用来存放 下层具体函数的入口地址,即统一接口可以有不同实现。 “u g l u g i h ”: t y p e d e fs t r u e tu g l u g i d r i v e r i 溶g e n e r a l 卑i u g l _ s t a t u s ( i n f o ) ( s t r u c tu g l u g i d r i v e r 4 p d r i v e t , u g l _ i n f o - r e qi n f o r e q u e s t ,v o i d 十i n f o ) i 电予科技大学硕士堡塞! 堂垒塞婺丛堕塑耍些堕里璺罄生塑! 垫垄塑! 堕塑窭里l 二一 一 2 设备割蕊时,对摘象瑶激行重新斌氇: “u d v g a e ”: t y p e d e fs t r u c tu g l _ u g i _ d r i v e r 肆u g l _ d e v i c e i d u g l _ u g i _ d r i v e r $ u g l v g a d e v c r e a t e ( ) u g ld e v i c e _ i dd e v l d = u g l _ n u l l ; i f ( u g l i u l l 墨p d r i v e r ) ( d e v l d 一 i n f o = u g l v g a i n f o : d e v i d 一 d e s t r o y = u 9 1 v g a d e v d e s t r o y : 3 函数的鼎体实现 “u d v g a d e v ,c ”;“u d v g a i n f o ,e ”; u g ls t a t u su g i v g m n f o ( u g l _ d e v i c e _ i dd e v l d ,u g l i n f o r e 0i n f o r e q u e s t ,v o i d * i n f o ) i m p l e m e n tf u c t i o ni nt h ef i l e “u d v g a i n f o t e ” ) u g l _ s t a t u su g l v g a d e v d e s t r o y ( u g l _ d e v i c e i dd e v l d ) t i m p l e m e n tr u c t i o ni n t h ef i l e “l j d v g a d e v ,e ” ) 4 调是熬象层爨数 声明褒蓬:u g l _ d e v i c ei dm y d e v i e e i d ; 调鼹璐数:r e s u l t :m y d e v i c e i d - i n f o ; 这种方式实现了抽象撩以上成用程序猩底层不同接口间平滑韵移植。 3 纯撞象类 使用纯于由象类封装接鞠一般有两个原因:其一,可以保护系流免受外界变 化的影响;其二,使褥客户可以以网样的方式来处理否黪躲组l 孛。鳃接熬基类 定p 义如下: n 】a s si x 电子科技大学硕士论文:嵌入式软件面向行业应用编程中间件技誉的硒究和实现 v i r t u a lv o i d s t d c a l lf x l0 = 0 : v i r t u a lv o i d s t d c a l lf x 2 0 = 0 : j 定义后,所定义的实际上是一个内存块结构,包括两部分:虚函数表( v t b l ) 和函数f x l 的地址。指向抽象基类的指针则是指向此v t b l 的指针。抽象类定义 的内存只有在派生类中实现此抽象类时才。会被分配: c l a s sc a :p u b l i oi x v i r t u a lv o i d s t d c a l lf x l0 : v i r t u a lv o i ds t d c a l lf x 2 ( ) : ) v t b l 指针在由抽象基类函数指针到函数的过程中额外增加了一个级别,即 c + + 编译器生成代码时,实现抽象类的类可能会将与实例相关的信息同v t b l 一 起保存,如图3 。正是这种特性使得抽象类方式给接口的实现带来了极大的灵 活性。 客户 虚函数表 c a 再利用c + + 语言的多态特性,继承此抽象类接口的所有类均可以被客户按同一 方式进行处理,完成接口的多路分离。 在以上介绍的三种接1 :3 封装方式中,前两种方法被目前大多数嵌入式操作 系统所采用,但随着应用开发规模的扩大,此类面向过程的方法具有强制性、 易出错、不一致等缺点。面向对象的设计模式作为一种崭新的设计理念,正在 逐渐的兴起与盛行起来。 2 1 2 面向行业接口扩展 由于嵌入式产品的设计具有专有性,它必须适应于具体的应用需求,不同 的应用领域,对成本、功能、性能、资源都会提出不同的、多样化的需求,这 就要求嵌入式平台除了提供下层系统基本功能以外,必须针对行业特性,提供 扩展的应用接口功能模块。现以美国高通互联网服务公司面向个人移动终端设 备行业的主要产品b r e w 即无线二进制运行环境( b i n a r yr u n t i m ee n v i r o n m e n t 电予科技大学硕士论文:嵌a 式软件面向行北应用编穰中间件技术的研究和实现 f o rw i r e l e s s ) 为镄分褥箕行业扩篪需求酾行业毪蕊蕊要臻。 行照扩震鼹求 b r e w 楚专为无线设备没计静应震程澎羧露骂浚。对予无线产盐来说,为嚣 户提供小应用软件的最好方法就是要找到一个解决方案,它具有以下行业特点: ( t ) 开放鼹、全球标准纯,硬赞猿立量奁 薹囊网络与移动没备中霖簿连续懿胃 开发性;( 2 ) 提供一个“终端一终端”的方案,包括了一套开放的技术平台和 一个发展良好的、在圊萼亍数闽共享邑毒按零粒蔻攮嫫型;( 3 ) 怠惩了一萃孛在客 户设备上开发、购买、下裁和管理应用程序的方法。 b r e w 方案的应用,成为整个行业的促进力量:开发卷可以更快地编霹应露 程序进入大众市场并确保能得到报酬;0 e

温馨提示

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

评论

0/150

提交评论