(信息与通信工程专业论文)软件无线电核心框架的设计与实现.pdf_第1页
(信息与通信工程专业论文)软件无线电核心框架的设计与实现.pdf_第2页
(信息与通信工程专业论文)软件无线电核心框架的设计与实现.pdf_第3页
(信息与通信工程专业论文)软件无线电核心框架的设计与实现.pdf_第4页
(信息与通信工程专业论文)软件无线电核心框架的设计与实现.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

(信息与通信工程专业论文)软件无线电核心框架的设计与实现.pdf.pdf 免费下载

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

文档简介

软件无线电核心框架的设计与实现 摘要 本文首先描述了软件无线电的历史、发展以及其在我国的研究状况,作为服 务于国防通信装备科研之一,软件无线电技术的研究具有一定的紧迫性,使之成 为我国”十五”军事预研项目。接着,作者研究和分析了软件无线电结构,以及其 重要组成部分核心框架的功能、实现方法。遵循s c a ( s o f t w a r ec o m m u n i c a t i o n sa r c h i t e c t u r e ) 标准,作者就本身用c + + 所编写的d o m a i n p r o f i l e ,d e v i c e m a n a g e r 等模块作了详细的介绍,包括部分具体的代码以及解释。最后,作者把自己参与 测试时,所作的一些具体工作做了一些简单的汇报,包括代码最后在v x w o r k s 上的运行状态以及结论性的分析。 作者在整个项目的研究过程中,涉及到多项技术:c o r b a ,接口定义语言 i d l ,u m l 的建模技术,x m l 语言及x m l 解析器,这些技术在整个项目中具 有重要作用,本文在开头也作了一些简单介绍。 关键词:软件无线电、核心框架、c + + 、s c a 、c o r b a 、i d l 、u m l 、x m l 、 v x w o r k s a b s t r a c t t h i sa r t i c l ei n t r o d u c e s e st h eh i s t o r ya n dd e v e l o p m e n to fs o f t w a r e d e f i n e dr a d i oi no u rc o u n t r y a so n eo ft h es c i e n c er e s e a r c hs e r v i c ef o rm i l i t a r y d e f e n s ec o m m u n i c a t i o n ,t h er e s e a r c ho fs o f t w a r ed e f i n e dr a d i oi s i m p o r t a n ta n d u r g e n ta n d b e c a m et h e “t e n t h f i v e ”m i l i t a r yp r e - r e s e a r c hp r o j e c t t h es t r u c t u r eo fs o f t w a r ed e f i n e dr a d i oa n dt h ef u n c t i o no fi t sf r a m ec o r ea r e a n a l y z e d w i t ht h es c a s t a n d a r dt h ea u t h o ri n t r o d u c e e st h ed o m a i n p r o f i l em o d e la n d d e v i c e m a n a g e rm o d e l w h i c ha l ee n c o d e d b y h i m s e l f u s i n gc + + i n c l u d i n gt h ep a r to f c o d e sa n di t sc o m m e n t a tl a s tt h ea u t h o rr e p o r t e sh i st e s t i n gw o r k s ,i n c l u d i n gt h e s t a t e so nv x w o r k sa n dm a k e sac o n c l u s i o n d u r i n gt h er e s e a r c ho ft h ew h o l ep r o j e c t ,al o to ft e c h n o l o g ys u c h a sc o r b a 、i d l 、u m l 、x m la r ei m p o r t a n ti nt h ep r o j e c t k e yw o r d s :s o f t w a r ed e f i n e dr a d i o ,c f 、s c a 、c o r b a 、i d l 、u m l , x m l 、v x w b r k s 1 l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电 子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示 谢意。 签名: 铥 乞 日期:w 年月3 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:;善! 乞导师签名: e t 期:渺丐年月3e l 软件无线电核心框架的设计与实现 1 1问题的提出,背景 第一章前言 软件无线电( s o f t w a r ed e f i n e dr a d i o ) 是近年来提出的种实现无线通信 的新的体系结构。它是指能够实现充分可编程通信,对信息进行有效控制,覆 盖多个频段,支持大量波形和应用软件的通信设备。 软件无线电是国家“十五”军事预研项目之一,本人所作课题属于该 项目的一部分,即:研究基于软件无线电的软件通信结构,具体开发其中的核 心框架的部分软件模块。 在国外的发展动态以美国为代表,美军从1 9 9 8 年开始,历时5 年开发联合 战术无线电通信系统,以替代目前美国三军使用的7 5 种十多万部战术通信电 台,并作为美军全球信息栅格的基石。具代表性的产品有s d r - - 1 0 0 0 ,以及s d r 一3 0 0 0 等【1 2 】。联合战术无线电( j t r s ) 通信系统强调的一点是软硬件移植性和相 互独立性。在嵌入式系统中要做到这点,需要在应用软件和硬件之间存在一 个基础软件,包括操作系统( v x w o r k s ) 、中间件( c o i 出a ) 和核心框架( c f ) , 为顶层应用软件提供标准的应用程序接口。核心框架是其中的重要内容,对这 方面的研究则是美军在联合战术无线电系统开发前期的重点工作。 我国对软件无线电技术进行了多年的研究,在多个方面取得丰硕成果,我 军通信装备向软件化过渡是必然的趋势,因此对软件无线电基础软件的研究是 保证和促进我军通信装备现代化的关键之一,具有相当重要的意义。 1 2 目的和意义 军事通信装备向软件化发展进程关系到我军在未来战争中保证互连互通, 夺取信息优势的关键。发展软件无线电技术刻不容缓,软件通信结构是软件无 线电的标准体系结构,是保证软件无线电系统具有互操作、软硬件相互移植等 优越性的保证,而核心框架则是其关键组成部分。核心框架开发的质量和进度 对软件无线电装备未来发展有重要影响。 本人所作课题的最终目标是通过消化理解软件通信结构标准,按照软件工 程和面向对象方法设计核心框架软件模块,实现核心框架功能,为应用软件提 供应用程序接口,并且创建验证环境验证功能。 软件无线电核心框架的设计与实现 课题的技术路线是以软件通信结构标准为基准,软件工程和面向对象方法 划分模块,并编写程序,以软件无线电硬件平台为基础创建调试环境,验证各 个软件模块功能以及应用程序接口。 实施方案以r a t i o n a lr o s e2 0 0 2 为行为级设计工具和接口定义语言生成工具, 以v x w o r k s 为实时操作系统,以t o r n a d o 工具包为调试环境,利用实习单位提 供的软件无线电平台,利用c + + 语言编写程序。严格按照软件通信结构标准 ( s c a ) ,紧密结合现有软件无线电平台和各种工具软件,以软件工程和面向对 象方法进行研究。这里需要指出的是之所以采用c + + 语言而不用j a v a ,是因 为c + + 比j a 、,a 拥有更多的实时特性,占用内存较少,c p u 占用率也相对较低。 1 3特色与创新 软件无线电是一个全新的概念,以软件编程实现以往由硬件实现的功能。 特色与创新之处在于在软件无线电嵌入式环境内,按照软件通信结构标准,同 时结合软件无线电平台硬件、操作系统、中间件,为顶层应用软件提供抽象的 标准应用程序接口,以支持对底层硬件的访问、软件模块间互连和系统管理功 能。软件无线电项目属于国家预研项目,核心框架国内尚无实现的先例,而且 属于该课题的重点研究内容。 本研究服务于国防通信装备科研,对保证国家安全具有重要意义,并在型 号立项后会大量生产,从而产生巨大的经济效益。而且该技术在民用通信中也 有光明的发展前景,已经明确在第三代或后三代移动通信系统中使用,社会效 益难以估量。 软件无线电核心框架的设计与实现 第二章软件无线电与s e a 标准 2 1 软件无线电介绍 伴随蜂窝无线个人通信系统服务的快速发展,产生了很多无线通信标准, 如g s m 、i s 9 5 、i s 5 4 1 3 6 、p d c 等。这些空中接口对不同的应用和服务都有各 自约定的波段、调制解调机制、编解码方式、复合接入技术和协议。可以预见, 在不久的将来,无线电通信系统必将把各种无线接入网集成到一个通用系统结 构中,通过一个硬件平台实现多种标准和服务。二十世纪9 0 年代初开始,无线 电的服务正从长期依赖的硬导线连接向软件无线电演进l l “。 2 1 1 软件无线电的由来 软件无线电( s o f t w a r ed e f i n e dr a d i o ) 是近年来提出的种实现无线通信 的新的体系结构。它是指能够实现充分可编程通信,对信息进行有效控制,覆 盖多个频段,支持大量波形和应用软件的通信设备。其含义是系统功能由软件 定义,从系统的应用层到物理层,每个层次的行为都能由于软件的改变而改变, 从而使系统具有动态修改工作参数以适应功能变化的特性和能力。 通信装备从传统电台发展到软件无线电,中间有一个从量变到质变的过程。 由于传统电台的功能完全或主要由硬件决定,功能固定。为了实现互连互通, 最开始人们在设计中尝试将所需要支持的多种不同的设备集成在一个结构里, 由硬件模块完成在不同设备之间的切换。这种连接方法与烟囱相类似,因而被 称为烟囱式系统。如果使用这种方法,系统的体积和重量会随着要支持的设备 种类增加而增加,显然,这种做法难以解决多少问题。 为了避免系统体积无限增大,随着数字信号处理技术的发展,出现了可编 程数字无线电,开始尝试硬件模块复用以降低成本。可编程数字无线电可以进 行部分功能重构,简单地修改电台参数,重构功能主要集中在基带处理部分, 比如选择前向纠错编码的方式等。电台功能,尤其是发射和接收操作,依然主 要由硬件控制,限制了电台向多频段多功能发展的能力。 随着越来越多的基本功能改由软件完成,系统的灵活性日益增强。另外, 器件技术的进步驱使模拟数字接口逐渐靠近天线,可以由软件实现更多的功 能,模拟电路对射频特性的影响不断降低。由此逐渐产生一种全新的体系结构, 诞生出软件无线电。 软件无线电核心框架的设计与实现 软件无线电代表了无线通信系统从单一的硬件密集型向多频段、多功能的 软件密集型转变。 2 1 2 软件无线电基本框图 理想的软件无线电框图如图所示。信号在系统的输a 输出端f 天线和基带 接口) 进行模数模变换,在输a 输出之间,信息都以数字的形式被传递、处理和 控制。 l 兰竺兰r 数字 信号 p 处理 图2 1 软件无线电框图 但是由于目前器件工艺和设计水平的限制,要实现宽频段覆盖,仍然需要射 频模块完成信号放大和频率变换功能。其次,由于软件无线电的射频信号特征 主要由数字部分控制,因此射频模块的设计方法与传统设备有较大差异。 实际软件无线电系统框图如图所示。为了提高灵活性,简化电路,应尽可能减 少模拟电路,使信号在数字域中完成处理。通常在中频进行模拟数字或数字模 拟变换。在接收通道上,信号经过模数变换后,转换成数字信号,用数字滤波器完 成信道滤波和采样速率变换,减小采样数据的冗余度,降低数据率,提高后级数字 信号处理器的效率。发射通道流程与接收相反,工作原理类似。 v 图2 2 实际软件无线电系统框图 4 软件无线电核心框架的设计与实现 2 1 3 系统的功能模块及标准接口点 软件无线电s d r ( s o f l w a r e d e f i n e d r a d i o ) 为以软件方式实现各种空中接口, 提供灵活的无线通信方式以便于实现灵活的传输机制、协议和应用。如图所示 为多模式( 多个性) 的s d r 系统的功能模块及标准接口点约定,其中无线电节点 指基站或移动终端。多模式技术要求可在一个以上的信道r f 频带上接入,在 图中为信道集。【1 2 】 模 拟 倍源熟 僻澈i 特 信橼 缩,解码 无线电节点 网 络 粤每= = 加载执错l = 竿 明文比特1 毫密支比特藏基带渡形 l f 波形丰甚 业务与 网络支持 鐾俐墨h 墨h 堡墨查i -_-_-_- , 倍述端,群码 联台控制 多个性化 图2 3 系统的功能模块及标准接i z l 点 r f 信道接入模块提供多个信号通道及跨越多个r f 频段的r f 频率变换。 i f 处理模块包括滤波、进一步频率变换、空时分集处理、波束成形及相关功 能。多模式无线电产生多个空中接口波形,波形在调制解调器模块确定。信息 安全( i n f o s e c ) 功能在无线应用中越来越重要,该模块主要实现传输安全、身份 认证及保护隐私等功能。调制解调器输出的编码信道比特流在i n f o s e c 被称为 黑色( 密文) 比特流,经由i n f o s e c 变换为红色( 明文) 比特流。然后通过协议栈 加以处理,产生网络比特或源比特。网络比特依从网络协议通过网络接口接入 到远程源;源比特则通过源解码器接到本地源。图中发展支持部分的功能是支 持软件目标的下载及新技术插入。 s d r 的基本宗旨是利用数字信号处理技术代替现在主要的模拟信号处理。 通过智能天线、宽带r f 器件、宽带模数转换器( a d c ) 及数模转换器( d a c ) ,利 用通用可编程处理器实现i f 、基带及比特流处理。因为用可重新编程的软件代 替了硬件模拟电路,通过动态分配射频、中频、a d c 、d p s 硬件和算法,并将 软件对象分配到硬件组件中,使得软件无线电可以在线改变自己的特性。支持 软件无线电可重新配置的技术有: 软件无线电核心框架的设计与实现 可通过重载微程序进行重新配置的可编程门阵列( f p g a ) ; 可通过重载代码在指令存储区进行重新配置的通用处理器。 与软硬相关的程序和代码都运行在嵌入系统某处的通用处理器中,它包含 带有文件系统以及访问f p g a 和处理器的操作系统。这个通用处理器通常也包含 与外部信号处理子系统进行通信的接口,例如用户接口或者临近的监控站【1 2 l 。 2 2s c a 标准的介绍 2 2 1 概述 软件通信体系结构( s o f t w a r ec o m m u n i c a t i o n a r c h i t e c t u r e ,简称s c a ) 是美 国国防部的联合计划办公室( j o i n tp r o g r a mo f f i c e ,简称j p o ) 发布的关于软件 无线电体系结构的唯一标准。软件通信体系结构为软件无线电提供一个统一的、 可移植的框架,软件通信体系结构使用面向对象的方法分别对软件无线电的软 件硬件进行了抽象,采用软件通信体系结构可以提高软件无线电台的互操作性, 同时减低电台的开发费用。 软件通信体系结构的目标是: 提高软件无线电台的互操作性和可扩展性。 降低电台生产、使用和维护费用。 电台易于升级。 s c a 是按照未来军用软件无线电发展的基本需求,采用对象模型,建立的 一个与实现无关的开放系统标准框架。s c a 所规定的是软件开发时的接口和结 构,而不是针对功能如何实现。s c a 允许使用软件或硬件实现所要求的功能。 这就可以在适当的场合使用原有装备,保护已有的投资。 s c a 定义的软件架构基于开放的商业基础软件,管理和连接在嵌入分布式 计算机环境下的软件资源。s c a 的软件电台操作环境由实时操作系统( r t o s ) , 实时对象请求代理( o 】氇) 和核心框架三部分组成【4 j 。 软件通信结构涉及软硬件的多方面技术,是多学科的有机综合,研究的难 度很大。软件方面包含了从软件工程( 建模和管理) ,通用请求代理结构 ( c o 砌j a ) 及i d l 语言编程,到具体实现的语言编程,实时操作系统,板级 支持包技术。其中c o r b a 技术是因为软件无线电的特性而首次从计算机领域 引入无线电台的设计中。 软件无线电核心框架的设计与实现 硬件方面则包含了从宽带模拟射频到基带数字信号处理电路,在其它专题 研究内容中都有体现。 2 2 2 系统软件参考模型 为了使系统具有良好的软硬件的可移植性,通过多层商业软件环境构成了 通用基础软件,不断提高对底层硬件的抽象,达到波形应用与硬件之间最大限 度的独立性,允许应用软件运行在各种形式的软硬件平台上,给系统设计提供 了很大的自由空间,在设计中可以比较随意地选择处理器、总线、网络接口等 类型。 系统软件参考模型如图所示。该软件结构定义了一种操作环境( o e ) 。操 作环境集成了核心框架( c f ) 业务和基础软件( 包括板级支持包、操作系统和 服务、c o b r a 中间件) 。软件的划分图示了波形实现的典型应用【4 1 。 图2 4 系统软件参考模型 1 ) 总线层( 板级支持包) 系统被红黑两级总线划分为两个部分。安全保密将前后两个部分进行隔离, 如果数据要穿越边界,必须经过安全认证。这样网络的安全性能够得到保证。 红总线部分根据业务种类处理分类数据;黑总线处理未分类数据,在黑总 软件无线电核心框架的设计与实现 线部分将任何业务数据视为相同的数据流,不进行分类处理。软件结构能够应 用于商业总线结构上,o e 提供了可靠的传输机制,可以在总线支持级提供错 误检测和纠错能力。 2 ) 网络与串行接口业务 串行和网络接口由大量的商业模块支撑。可选的串行和网络物理接口包括 r s 一2 3 2 ,r s 一4 2 3 ,r s 一4 8 5 和8 0 2 x 支持这些接口需要使用各种低层次网络协议。 3 ) 操作系统层 实时嵌入式操作系统的功能是提供多线程支持的应用( 包括c f 应用) 。为 了简化应用的移植,要求为操作系统业务提供标准操作系统接口。 可移植操作系统接口( p o s ) 被接纳为工业标准并广泛应用。p o s i x 及 其实时扩展兼容支持c o b r a 规范的要求。不同应用条件和规模的设备对操作 系统的功能要求有较大的差异,完整的p o s i x 规范内容对于控制个典型实现 所必需的显得过多,因此,工业界定义了不同层次的p o s i x 框架。其中,最小 p o s i x 框架一般足以满足软件无线电要求。该框架基于实时控制器系统框架 ( p o s i x1 0 0 3 1 3 ) 。 4 ) 核心框架 核心框架是开放应用层接口和业务的核心集合,为软件应用设计提供对底 层软件和硬件更高层次的抽象。进一步简化编程过程和提高软件的可移植性。 核心框架由4 部分组成:基本应用接口,框架控制接口,支持核心与非核心应 用的框架业务接口,描述系统内硬件设备特性和软件组件的域框架。 5 ) c o b r a 中间件 c o b r a 用于核心框架之中,在分布式处理环境中作为消息传递技术。分 布式处理是系统结构的基础。 所有的核心框架接口都由i d l 定义。i d l 定义了作为组件之间联系的操作 和属性。c o b r a 协议完成消息整理,以处理位重组和传递消息的握手信号。 6 ) 应用层 应用层完成用户通信功能,包括m o d e m 级数字信号处理、链路级协议处理、 网络级协议处理,互联网路由、外部i o 接入、保密,和嵌入式应用。高层应 用要求使用核心框架接口和业务。在特殊情况下,高层应用可以直接接入操作 系统( o s ) ,但是要受到p o s i x 框架规定业务的限制。 7 ) 适配器( a d a p t e r ) 适配器用于支持使用非c o b r a 组件。适配器实现非c o b r a 组件与 c o b r a 资源之间的转换。由于适配器实现核心框架c o b r a 接口,转换业务 对于c o b r a 组件来说是透明的。 8 软件无线电核心框架的设计与实现 第三章技术基础 3 1面向对象的软件开发方法 面向对象方法是利用抽象、封装等机制,借助于对象、类j 继承、消息等 概念进行软件系统构造的软件开发方法。 传统的软件设计方法或是面向数据的,或是面向过程的。面向数据的方法 强调信息的表示和全局之中各个局部之间的关系,而并不看重数据操作的行为。 另一方面,面向过程的方法则强调一个软件执行的行为,却忽略了数据的重要 性。 现在,众人一致认为在处理大而复杂的软件产品设计中产生的复杂性时, 面向对象的设计方法比面向数据或面向过程的方法更为有效。这是因为数据和 过程具有同等的重要性。使用对象可以把数据和操作数据的过程结合起来,从 而充分发挥对象自身的主要优点抽象性和封装性。 面向对象方法吸收了软件工程领域有益的概念和有效的方法而发展起来, 它集抽象性、封装性、继承性和多态性于一体,易于实现模块化、可复用性、 易维护、易扩充的程序。 面向对象的基本思想是:从现实世界中客观存在的事物出发来构造系统, 并在系统构造中尽可能地运用人类的思维方式。软件系统所要解决的问题是软 件的问题域,用面向对象的方法解决问题就是直接考察与研究问题域,从问题 域的观点来考虑问题,从中抽象出所关心的对象的本质特征,将它们自然地表 达成软件系统中的对象,这些对象之间的关系也通过软件系统中对象关系自然 地表达出来,从而以自然的方式表示问题域,完成问题解。 面向对象方法的形成:面向对象的方法起源于面向对象的程序设计语言 o o p l ,在o o p l 得到充分发展与应用时,面向对象方法也逐步得到发展,发 展成熟的面向对象方法又拓过来为面向对象的编程提供先期设计与指导。 第一个完善、实用的纯面向对象的语言是s m a l l t a l k 。从2 0 世纪8 0 年代中 期到2 0 世纪9 0 年代,大批实用的面向对象语言不断出现,这些语言大致可分 为两类:纯粹的和混合的;纯粹的典型代表是j a v a ;而混合的代表可以是c + + 、 v b 等【1 6 】。 软件无线电核心框架的设计与实现 3 2c o r b a 和t a o 概述 3 2 1 分布式对象计算 分布式计算可使两个或多个软件互相共享信息,可以拥有稀有资源共享,平 衡机器负载、稳定( 如:一个机器崩溃,整个系统还可以运转) ,可扩展等优点。目 前,大部分分布式计算是基于客户一服务器模型的。一般说,对象模型是考虑问题 及其解决方案的概念性框架,对象模型的基础是对象这一基本概念,对象是有特 定的行为和属性的实体。基于对象的分布式计算所面临的挑战是建立一个系统, 让软件对象间透明地进行通信,彼此使用对方的服务,而不管这些对象是处于同 一编址空间,还是不同的编址空间,或是根本不同的机器上。如果没有一种方法让 对象在网络间可相互调用( 借助于对象通道) ,应用就会被限定在某一桌面上。现 有的分布式对象技术主要有:对象管理集团( o m g ) 的c o r b a 和微软的分布式 组件对象模型( d c o m ) 。d c o m 包含在w i n d o w sn t 4 0 中,可作为一个附件下载 到w i n d o w s9 8 。但从服务的角度来看,它只能在nt 下使用,将u n i x 对象放置 到链路上则很困难。相反,c o r b a 技术通过在客户端和服务器端加入一个代理, 从而屏蔽了不同计算机和不同软件系统的差异,实现了异构环境下的客户端和 服务器端的通信“。 3 2 2 中间件 中间件是为了解决分布式网络环境应用程序相互通信的兼容性问题而产生 的一种分布式计算技术。 中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来 屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够 比较平滑地运行于不同平台上,以透明方式实现对象间互连、互通和互操作, 免去繁琐易于出错的底层工作,使分布式软件开发相对地提高速度并增加可靠 性。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使大型网 络应用的性能得到大幅提升,满足了关键业务的需求【1 ”。 在三大分布式对象技术流派c o b r a 、c o m d c o m 和j a v a 当中, c o b r a 被认为是最有前途的。 c o b r a 标准主要分为3 个层次:对象请求代理、公共对象服务和公共设 施。最底层是对象请求代理o r b ,规定了分布对象的定义( 接口) 和语言映射, 实现对象间的通讯和互操作,是分布对象系统中的“软总线”;在o r b 之上定义 软件无线电核心框架的设计与实现 了很多公共服务,可以提供诸如名字服务、事务( 交易) 服务、安全服务等各种 各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使 用的服务,规定业务对象有效协作所需的协定规则。 c o r b a 对象接口由接口定义语言( i d l ) 描述,i d l 与编程语言无关,可 以映射到任何一种c o r b a 软件开发商所支持的语言,如c 、c + + 、j a v a 、a d a 和s m a l lt a l k ,或对象系统。同样地,c o r b a 对象可以运行在任何一种c o r b a 软件开发商所支持的平台上,如v x w o r k s ,p s o s ,s o l a f i s ,w i n d o w s 9 5 i 4 t 。 i d l 通过描述对象的接口来定义c o b r a 对象类型,接口包括一系列被命 名的操作以及这些操作所需的参数。利用i d l ,一个特定的对象实现可以向其 潜在的客户描述本身可提供的操作,以及如何利用这些操作。 随着计算机网络技术和应用的发展,分布对象技术也逐步成为热点。 c o r b a 作为其中的一种重要技术,也得到了快速发展。目前,国际范围内已经 有大量企业、政府和银行等运用了c o r b a 技术,取得了显著效益【1 4 】l ”。 3 2 3c o r b a 原理及特点 c o r b a 的全称是“公共对象请求体系结构”,o r b 是其核心部分。单个o r b 的结构如图所示。 图3 1o r b 的结构 o r b 内核提供了客户一对象间实现透明通信的方法,可屏蔽对象实现位 置、方法、状态、通信机制等细节及不同实现问可能存在的差异。对象适配器 位于o r b 内核和对象实现之间,负责服务对象的注册,对象引用的创建、解释, 对象实现的服务进程的激活、反激活,对象实现的激活、反激活及客户请求的 分发。i d l 桩为客户提供了静态调用方式;i d l 构架为客户提供了静态实现方 式。i d l 编译器编译描述服务对象接口的i d l 文件,生成对应于具体编程语言 的i d l 桩和i d l 构架程序。i d l 桩负责把用户的请求进行编码,发送到对象 实现端,并对接收到的处理结果进行解释,把结果或异常信息返回给用户。i d l 构架对用户请求进行解码,定位所请求的对象方法,执行该方法,并把执行的 软件无线电核心框架的设计与实现 结果或异常信息发送回客户。动态调用接口di i 和动态构架接口d si 提供了 动态调用方式和动态实现方式。c o r b a 作为一种技术得到快速发展是因具有 如下特点: c o r b a 定义了一种面向对象的软件构件构造方法,使不同的应用可以 共享由此构造出来的软件构件; 每个对象都将其内部操作细节封装起来,同时又向外界提供了精确定义 的接口,从而降低了应用系统的复杂性,也降低了软件开发费用; c o r b a 的平台无关性实现了对象的跨平台引用,开发人员可以在更大 的范围内选择最实用的对象加入到自己的应用系统之中; c o r b a 的语言无关性使开发人员可以在更大的范围内相互利用别人的 编程技能和成果,是实现软件复用的实用化工具i l 七”j 。 3 2 4一种实时c o r b a 的实现软件t a o t a o 体系结构如图所示。t a o 基于底层的中间件a c e ( a d a p t i v e c o m m u n i c a t i o ne n v i r o n m e n t ) 之上,而a c e 框架也是华盛顿大学开发的一个可 移植的面向对象的中间件框架,它为通信软件实现了核心的并发和分布式功能 式功能。t a o 能以实时特性在多种操作系统之上运行,其中包括v x w o r k s 、 c h o r u s 、s o l a f i s 及w i n 3 2 。t a o 的目标是在分布式系统中提供多层次端对端实 时应用的可确定性及稳定的q o s 需求。为了执行这个目标,系统主要由四个主 要部分组成 o r b ;调度服务;事件服务;实时输出输入子系统。高性能 的o r b 和i o 子系统提供了快速的、有效的对客户请求的处理。调度服务在动 态和静态的调度环境中为表达和强调客户的q o s 请求提供了一个机制。事件 服务提供的机制允许客户详细描述和强调时间要求,并且能流线型的把事件传 递给感兴趣的客户 1 4 , 1 5 o 软件无线电核心框架的设计与实现 3 2 4 1t a o 的o r b 图3 2t a o 系统 t a o 的o r b 是t a o 系统的核心,它通过最小化和优化一些必需的请求特征 ( 存储管理、网络协议、代码产生) 来支持实时特性。t a o 的o r bc o r e 基于a c e 框 架,是一个能被扩展到适应新系统环境和应用请求的有效的o r bc o r e 。t a o 的 o r bc o r e 支持一定范围的传输协议,包括用q o s 属性扩展g i o p i i o p 得到的 r i o p ( r e a lt i m ei n t e ro r bp r o t o c 0 1 ) 。r i o p 是一个g i o p 的映射,是用户化与 g i o p 相兼容的传输协议的实时实现,允许应用端对端的从客户到服务器传输他 们的o o s 参数( 优先级、计算时间、执行周期、带宽和延迟要求等) 。为了优化,t a o 的映射能选择性的省略传输层功能而直接运行于a t m 虚拟环路的顶层之上。 t a o 提供了r o a ( r e a l t i m eo b j e c ta d a p t e r ) ,r o a 根据实时应用特征调 度策略分发( d i s p a t c h ) 客户请求。r o a 包含了一个指向运行调度的对象引用。 这个运行调度根据整个系统的实时调度策略分发客户请求,并把客户请求映射 为实时线程优先权。 t a o 的o r b 的一个关键特征是性能优化。t a o 通过一个优化的i d l 编译器一 f l i c k 来优化操作参数的打包( m a r s h a l l i n g ) 与解包( d e m a r 2 s h a l l i n g ) 。t a o 用 f 1 i c k 来从i d l 中产生优化的客户存根与服务器构架。另一个t a o 提供的优化 是存储管理。它优化了表示层,并采用最新的编译技术和有效的缓冲区管理机 制,在系统的多层次中最小化及减少数据拷贝。 3 2 4 2t a o 的调度服务 t a o 提供了保证客户请求的硬实时q o s 的调度服务。这个调度服务同时 支持通过离线调度性分析的静态调度与通过策略( 比如允许进入控制策略) 的动 软件无线电核心框架的设计与实现 态调度。调度服务有两个主要组件:离线调度性分析器;运行期调度器, 它通过r o a 分发客户请求。离线的调度服务,使客户请求的优先级和调度特性 保持固定的实时期限。r o a 支持各种分发策略和延迟分发。 3 2 4 3t a o 的事件服务 t a o 的事件服务扩展了公用对象事件服务规范去满足实时应用的q o s 需要。 特别地,事件服务为了更好的支持实时调度,用c o r b a 事件的实时调度代替了 典型的先来先服务调度。为了能让客户详细描述和强调时间要求,t a o 的事件服 务提供了以下机制:使用者和软件开发商用q o s 参数说明他们的执行要求和特 征。这些参数和调度策略一起去决定优先级和抢占策略。提供了过滤机制和纠 错机制以允许客户对它们所接收的事件有更多的选择性。允许客户预定一个特定 的事件子集,然后,事件服务用这些预定去过滤提供者事件,只把它们传递给 感兴趣的客户。也允许客户说明他们将要接收的事件的a n d 和o r 从属关系。当 一个联合事件集通道代替了一个中心事件通道而被用于系统中时,t a 0 的事件服 务提供了一个网关服务去联合它们。这个在一个特定节点上的网关可以让所有对 它的消耗性的事件通道感兴趣的事件使用。 3 2 4 4 t a o 的实时i o 子系统 t a o 的实时输入输出子系统运行在操作系统内核,通过高速的a p i c ( a t m 端 口互联控制器) 网络接口以实时方式从客户那里发送或接收请求。 3 3接口定义语言i d l 本节讨论接口定义语言( i d l :i n t e r f a c e d e f i n i t i o nl a n g u a g e ) ,它是c o r b a 定义的语言,用于以语言无关的方式指定对象的特征( 方法、属性) 。 3 _ 3 1i d l 是什么? 为允许不同的编程语言( 和机器,操作系统) 来处理c o r b a 对象,必须对 描述对象暴露在外的特征( 方法、属性) 的标准的概念记号达成一致的协定。 c o r b a 提供这样的标准概念记号:接口定义语言( i d l ) 。i d l 看起来很象c + + ( 或j a v a ) 的类定义吼注意i d l 在m i c r o s o f t 的c o m 上下文中的意思同c o r b a i d l 不一致,但非常类似。 】4 软件无线电核心框架的设计与实现 除了作为给人们用的说明语言2 _ p b ,i d l 也被一个叫i d l c o m p i l e r 的编译器 使用,i d l c o m p i l e r 从i d l 文件生成s t u b 和s k e l e t o n 的样本,这就把编程者从大 量的编写大量的样板代码的枯燥的任务中解救了出来。 注意i d l 只指定对象支持的方法和属性一只要尊重i d l 文件中的定义, 对于如何实现它们、编程者有完全的自由。 3 3 2i d l 基础 3 3 2 1i d l 模块和接口 在任何项目中( 亦或名字空间中) 都可能存在大量的c o r b a 对象,如果所 有这些对象需要有唯一的名字那么一定会有名字空间冲突。所以i d l 允许定 义模块( m o d u l e ) ,模块指定一个独立的名字空间,类似于c 抖的名字空间的功 能性。现在对于任何接口都可以指定模块,就像下面例子展示的那样: m o d u l e c r i n t e r f a c ed o m a i n p r o f i l e ) ; i n t e r f a c ed e v i c e m a n a g e r ) ; ) ; 在这里,我们在c f 模块中定义了两个对象:d o m a i n p r o f i l e 和 d e v i c e m a n a g e r 。如果我们要从其他模块中引用一个对象,我们必须给出完全的 对象引用,即c f :d e v i c e m a n a g e r 。 3 3 2 2 i d l 类型 因为i d l 的主要目的是实现在不同的语言、机器和操作系统之间的可移 植性,他是强类型的。这里是最基本( 标准) 的c o r b a 类型:s h o r t ,u n s i g n e d s h o r t ,l o n g ,u n s i g n e dl o n g ,l o n gl o n g ,u n s i g n e dl o n gl o n g ,f l o a t ,d o u b l e ,l o n g d o u b l e ,b o o l e a n ,o c t e t ,c h a r ,w c h a r ,s t r i n g ,w s t r i n g 。它们的使用是非常直 接的,例如: i n t e r f a c ed e v i c e m a n a g e r a t t r i b u t es t r i n gi d e n t i f i e r ; ) ; 使用t y p e d e f 关键字就可以定义你自己的类型( 还是很象在c 和c + + 中) 。例如:t y p e d e f u n s i g n e di o n gp r o e e s s i d _ t y p e 我们也有标准的c c + + 结构,枚举和阵列。像t y p e d e f 一样简直就是c 代码: 软件无线电核心框架的设计与实现 s t r u c ts e r v i c e t y p e s t r i n gs e r v i c e n a m e ; ) ; e n u ml o a d t y p e k e r n e l m o d u l e , d r j v e r s h a r e d _ l i b r a r y , e x e c u t a b l e ) ; 变长:( v a r i a b l e - s j z e ) 阵列在c o r b a 中叫序y o ( s e q u e n c e ) :t y p e d e fs e q u e n c e s e r v i c e s e q u e n c e ; 3 3 2 3i d l 方法 所有这些标准的类型允许编程者定义对象的属性和方法。对象方法( 函数) 这样声明: i n t e r f a c ed e v i c e m a n a g e r v o i dr e g i s t e r d e v i c e ( i ni n ti ) ; ) ; 除了i n 修饰,这些声明非常像c + + 代码:参数由i n ,o u t ,i n o u t 三种类型 之一来修饰。它们的语义如下:i n 参数是客户向对象发送的数据,o u t 参数是 对象向客户发送的数据,i n o u t 参数先从客户发送到对象,再被返回给客户。 也可以定义异常( e x c e p t i o n ) ( 类似于c + + 的异常类) : e x c e p t i o ni n v a l i d p a r a m e t e r s s t r i n gm s g ; ; 最终,可以象下面这样声明有能力引发( t h r o w i n g ) 异常的方法。 i n t e r f a c ed e v i c e m a n a g e r v o i dr e g i s t e r d e v i c e ( i ni n ti ) r a i s e s ( i n v a l i d p a r a m e t e r s ) ; ) ; 象c + + 的类( 或j a v a 的接口) ,接口可以从其他的接口继承,并且支持多 继承( m u l t i p l ei n h e r i t a n c e ) 。语法类似于c + + 的语法。一个重要的不同是i d l 不支持重载或不同的方法可以有相同的名字和不同的参数说明。 i m e r f a c e d e v i c e m a n a g e r :p r o p e r t y s e t ,p o r t s u p p l i e r ; 软件无线电核心框架的设计与实现 3 3 3i d l 及其c c + + 映射 3 3 3 1i d l 编译器 在上面的章节,我们看到了i d l 描述对象的力量,允许从任何语言访问 它们。i d l 封装了所有的对于一个对象必须的信息。这样任何语言都可以建造 这些对象的表示( r e p r e s e n t a t i o n ) 并象本地对象一样访问它们。把c o r b a 对象 变成本地对象叫做一个语言映射1 5 j 。 一些语言映射是c o r b a 标准的一部分。现存有的映射有c 、c + + 。、j a v a 、 s m a l l t a l k 和c o b o l 。c + + 和j a v a 映射是在教程和实践中最常见的。c 映射 没有被广泛的使用和在涉及c o r b a 的书中解说。g n o m e 几乎完全用c 语 言写成、这意味着我们将只看c 映射。 o r b i t 有一个i d 】编译器用来自动的生成c 头文件,其中声明对应于对 象的i d l 定义的函数( 它依从标准的映射) 。用法是o r b i t i d lf i l e i d l 。如果你有 一个a p p l e i d l 文件,运行i d l 编译器将生成a p p l e h ,这个头文件包含所有函 数和

温馨提示

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

评论

0/150

提交评论