基于软件通信体系结构的波形组件化开发技术研究

时间:2022-04-08 07:55:32

基于软件通信体系结构的波形组件化开发技术研究

摘要 文章简要阐述了软件无线电波形组件化开发的特点,研究实现了一套基于软件通信体系结构(SCA)的波形组件化开发技术,对开发过程各步骤进行了阐述。该技术可以提高组件的开发效率、可重用性和可移植性。

关键词 软件通信体系结构 波形组件化开发 模型驱动架构 MDA 波形封装

1 基于SCA的波形

波形用于描述软件无线电台实现从用户输入到射频输出以及反之的一整套功能,也就是从天线到用户之间的功能集合。软件通信体系结构(SCA)规范全面制定了软件无线电软、硬件体系架构及波形应用程序接口(API)规范,实现了嵌入式与分布式通信系统中波形组件配置、管理及互连互通的标准化。SCA是基于公共对象请求结构(CORBA)的软件无线电协议和技术标准,通过CORBA中间件提供一个分布式的环境,实现了软件总线,把波形应用与底层硬件分开,为各模块之间进行数据传输与联系提供虚拟的公共通道和接口界面。

SCA波形应用采用组件化方法开发,由一系列SCACORBA组件构成,非CORBA组件要通过适配程序封装成标准的CORBA接口。SCA波形应用独立于核心框架、中间件、操作系统和硬件平台,基于SCA的波形系统结构如图1所示:

其中:SCA核心框架定义了开放应用层接口和服务的核心集合,为应用软件设计提供对底层软件和硬件更高层次的抽象。中间件技术是为了实现上层应用组件之间通信协议的标准化(与操作平台的无关性),CORBA是一个跨平台的框架,它由用户接口IDL和核心通信部分ORB组成,IDL和ORB形成一个客户/服务器工作模式。IDL为上层应用组件之间的接入和信息交互提供标准化的接口,而ORB则和具体使用的操作系统相结合,通过操作系统的系统调用(或用户在操作系统的内置协议),完成各个应用软件组件的调用。操作系统采用符合可移植操作系统接口(POSIX)标准的实时操作系统,以使软件无线电电台支持多波段、多模式和多通道的各种应用。

SCA核心框架、中间件和操作系统三部分构成了波形组件化开发运行的软件平台,信号处理模块和射频模块构成了波形组件化开发运行的硬件平台。SCA设备组件与具体的硬件设备相关,为SCA波形应用提供访问硬件的标准接口。

在以往SCA波形应用开发中,波形建模、封装和装配等过程普遍采用的是一些平台绑定的开发模式,存在可重用性和可移植性差等问题。本文研究的波形开发技术采用模型驱动架构(MDA)的组件化设计方式,将波形应用分层建模、封装,能够更准确定义波形设计,提高组件化开发的效率、可重用性和可移植性。

2 SCA波形开发过程

本文将SCA波形开发过程定义为:波形应用UML建模、波形组件描述、组件框架代码生成、添加算法实现代码、编译波形组件可执行程序、组件装配打包成波形应用等几个步骤,如图2所示。

将波形开发过程划分成上述几个步骤,是为了提高波形开发的灵活性,使开发过程中不同步骤之间相互独立且有清晰的界线,提供平滑无缝的接口。

3 SCA波形组件化开发技术

3.1波形应用建模

本文研究的波形设计开发技术是基于SCA架构的,摆脱了传统的面向用途的设计方法,采用面向对象组件化的设计思路,主要遵循可重用、可移植和可扩展等原则,按照具有统一接口定义的类模式来组织系统,为上层应用提供了一个隐蔽实现细节的通用标准接口,使得类的内部实现方式变化不影响系统的总体结构及其它模块设计。波形建模采用分层结构,如图3所示,由不同层次的类模型组成。第一层是属性和端口;第二层的组件类型由属性和端口构成,在这一层中,同时也展现了组件类型和接口之间的关系;第三层的组件是组件类型的某种具体实现,组件至少包括一个实现,并建立与使用设备的关系;第四层装配一个或多个相连的组件,形成节点和应用。

3.2模型驱动架构方法

对象管理组织(OMG)的MDA波形设计方法定义了一个波形应用的开发框架。在MDA中,模型是波形组件的功能、行为和结构的形式化表示,波形应用开发过程是由对系统的建模行为驱动的,它分离出了平台无关模型(PIM)和平台相关模型(PSM)两个抽象模型。其中,PIM是纯粹的不考虑实现技术的分析模型,而PSM可以视为对PIM模型在具体平台上的一种特定实现。由于PSM是针对特定平台,它将随着平台技术的发展而快速地变化;而PIM是描述业务逻辑,它具有很强的可移植性和可继承性,能够很好地满足软件无线电波形应用可移植性的要求。

在波形组件的PIM建模过程中,利用波形的PIM模型表达波形应用的所有业务需求,包括对系统的所有规约,但是中立于任何实现(平台)。因此,在属性、端口、组件类型、组件建模时,都是使用脱离平台约束的PIM建模,这样有利于这些组件元素的可重用。PSM从PIM派生出来,包括了所有PIM中表示的功能,并且还添加了针对实现平台的设计思想。从PIM到PSM的映射是通过一系列系统化规则完成的,在SCA规范中定义了端口、属性和组件的接口,因此PSM根据接口定义将PIM模型转换成PSM模型,按照具体平台将模型映射成代码框架,属性、端口、组件类型、组件模型都继承SCA接口。

波形组件创建和装配过程遵循了MDA设计原理,如图4所示。将每个波形组件看成独立的模块,先对其进行PIM建模,端口和属性是模型的基础元素,按照各自的类别进行分组,在此之上定义组件类型。组件是组件类型的实现子类,组件类型无需考虑物理层详细细节。但是作为实现层的组件模型则需根据实际的物理特性,设置独特的属性。建模的最后一步,是将所有的组件进行装配,这也标志着整个波形应用系统设计的完成。

3.3波形组件描述

波形描述过程是同步于组件建模过程的,也遵循MDA设计原理。波形应用采用XML文件作为域描述文件,域描述文件描述了组件的结构、依赖关系,以及组件之间的装配关系。SCA波形XML文档包括三类域描述文件:

(1)组件描述文件,包括:软件包装文件(SPD),属性文件(PRF),软件组件文件(SCD),域管理器配置文件(DMD)和设备包装文件(DPD)。

(2)装配描述文件,包括:设备配置文件(DCD)和软件装配文件(SAD)。

(3)部署描述文件,包括:属性描述文件(PDD)和装配描述文件(ADD)。

软件无线电台管理程序利用域描述文件远程加/卸载、运行波形,组件完成向设备管理器、域管理器注册的功能,并通过核心框架对波形组件进行动态的配置和部署。

3.4波形封装

在开发过程中,按照建模结构要对不同层次的建模元素进行封装,生成具有标准接口的组件框架代码。波形封装主要包括四个部分:

(1)属性和端口的封装。属性和端口是构建整个波形应用的基础。

(2)组件类型的封装。组件类型包括属性、端口和操作函数,核心框架定义了组件类型的函数结构,并根据其接口不同划分成不同组件类型,如资源、资源工厂、设备、可加载设备、可执行设备等。因此在这层封装过程中,也展现了组件类型与核心框架接口的映射关系。

(3)组件的封装。组件是组件类型的某种具体实现,开发者根据实现要求,将组件属性、具体实现参数(如操作系统、处理器、与硬件关系和组件优先级等)以及所属组件类型一并封装。

(4)波形的封装。即部署组件间的连接或组件与节点的连接,装配后将波形的域描述文件与可执行文件打包导出,完成波形的封装。

3.5波形应用装配

波形应用组件创建完成后要在组件内部添加算法实现代码,编译链接生成可执行程序,之后进行应用装配。对于应用需要确定一个组件为装配控制器,然后建立端口之间的连接,如图5所示。在连接过程中要验证连接的合法性,确定组件的查找方式。查找组件是通过日志服务实现的,因此所有组件都必须与日志服务建立连接关系。完成波形装配之后,将所有波形运行文件包括可执行文件和域描述文件打包导出,即可加卸载运行的软件无线电波形文件包。

4 结束语

本文研究实现的SCA波形组件化开发技术建立了一套规范的波形开发过程和波形建模层次结构,波形的创建和装配遵循MDA设计原理,开发的波形组件元素具有标准封装接口。该技术在国内波形开发领域处于领先位置,采用它能够有效提高组件的可重用性和可移植性。

上一篇:承载TD-LTE的世博传送网 下一篇:HSPA+64QAM性能测试及部署策略研究