APP下载

SCA 4.0规范概述

2013-10-31张小琼

通信技术 2013年7期
关键词:中间件体系结构电台

蔡 卓,张小琼

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

软件通信体系结构(SCA,Software Communications Architecture)规范是美军在实施联合战术无线电系统计划过程中提出的一个标准规范集,它为软件无线电台的设计提供了一种与实现无关的开放式架构。SCA的目的是实现无线通信装备硬件模块化,软件具有可移植性、可重用性和互操作性。

尽管SCA来自于军方项目,但随着时间推移,SCA提出的规范方法和目标正日益受到军方和非军方的重视,并进入商用和民用的领域。

1 SCA标准发展

SCA的核心思想是采用面向对象的方法来设计一种标准化的软件系统,通过将不同的软件波形加载到通用的硬件平台中来实现不同的功能,使无线电台的更新换代只需要更换其中的软件波形就可以实现,达到了软件可重复使用的目的。软件的重用性不仅缩短了无线电台的开发周期,也在一定程度上降低了开发成本。

SCA标准最初发布于1999年,到目前为止发布了多个版本。目前SCA的最新版本为2012年2月发布的SCA4.0规范。

SCA4.0[1-2](早期发展阶段被称为SCA Next)是SCA标准的重要修订。SCA4.0可以通过裁减以更好地适应每个电台及其任务的具体功能。内存和处理功耗可以得到显著降低。体系结构的增强也提高了安全性,并且使得电台能够更快地启动和重新配置。

2 SCA4.0规范特征

2.1 轻量级组件

轻量级组件和功能单元是SCA4.0的两种机制,可以用于更好地将任务需求和基于SCA的产品结合在一起。轻量级组件提供了一种灵活的结构化方法,以适应各种平台的需求(移动的与固定的,单信道与多信道,单个波形与多种波形等),而不是一个大小用于所有结构。

SCA2.2.2中的接口功能齐全,导致部分组件比需要的大。例如,一个SCA2.2.2的资源组件包括了测试对象、属性等特性。但是如果一个组件不需要自检测试或属性呢?SCA2.2.2仍然要求组件实现那些功能。

SCA4.0引入了一种新的设计模式——选择性继承。图1以资源(Resource)接口为例说明选择性继承的特征。继承线上有注释的表明接口为可选性继承。对于Resource接口,只有一个接口是必须的——生命周期(LifeCycle),其他接口根据需要来使用。接口描述语言(IDL,Interface Definition Language)中的预编译定义允许开发者规定一个具体的组件需要哪些接口。因为这个特征,SCA组件比之前的版本要小。

图1 Resoure接口的选择性继承

选择性继承设计模式已经扩展到其他核心框架接口内。例如,加载能力(LoadableCapacity)接口之前对所有的加载设备(LoadableDecives)都是需要的。在一些实现中,由这个接口提供的功能可以不使用,因此SCA 4..0 允许组件创建时没有该接口。

SCA4.0引入了一个新的接口,端口访问(PortAccessor)接口。PortAccessor接口包含了早期版本的端口(port)和端口提供者(PortSupplier)接口功能。继承SCA2.2.2的波形将需要更新为新的PortAccessor,而不需要做其他的改动。

2.2 推模型(Push Model)

SCA之前的版本使用图2的提取模型(pull model)。为了获取需要的信息,需要使用调用返回(callback)方式。例如:

1)getPort用于提取使用和提供的端口。

2)提取属性:如用getDeviceID得到设备的ID,用getRegisteredDevices得到注册的设备。

3)用resolve从一个命名服务提取应用组件。

图2 pull model 示意图

SCA4.0引入了一个“push model”。图3中,体系结构允许信息直接交换,而不使用调用返回方式,这个模型的主要好处在于能有更好的保证和性能。更好地保证通过限制仅使用push访问来获得,并且消除了对命名服务的需求。更好的性能获得是通过减少了调用的总次数。这可以减少启动和初始化时间。它也允许调用返回的属性和操作成为可选的,当不使用的时候,减少了需要的实现。例如,图3中,registerComponent用于组件或设备的注册,registerDeviceManager用于设备管理器组件的注册。

图3 push model 示意图

2.3 中间件和数据传输

SCA2.2.2和它之前的版本规定公共对象请求代理体系结构(CORBA,Common Object Request Broker Architecture)作为中间件,对电台开发者延迟了具体的传输机制。历史上的数据传输机制已经有TCP-IP和共享内存。TCP-IP协议可能引入了实际的等待时间。更快的传输如共享内存通常对高速数据率波形可以获得可接受的延迟。

SCA4.0已经删除了CORBA要求,定义了独立的中间件应用程序接口(API,Application Program Interface),尽管API仍然是通过IDL规定的。电台开发者可以使用CORBA,或者选择一个不同的中间件,例如安卓平台使用的轻量级远程过程控制(RPC,Remote Procedure Control)。对不同中间件的实现,波形应该需要重新编译,但是API仍然是相同的,维持了波形的可移植性。

2.4 增强的应用连通性

在SCA4.0发布之前,SCA仅支持配置单个的、独立的应用的能力。当多个应用配置在一个平台时,SCA组件框架不提供直接的连接支持或者逻辑上将这些应用分级的能力。因此,创建应用的客户端被留下人工进行,通过使用外部端口的组合以及应用可扩展标记语言(XML,Extensible Markup Language)文件中收集的硬编码的连接或自动连接。然而这种方法非常受限,需要客户端实现更多。

在SCA4.0中,分级应用支持和应用连通性已经被增加以支持多个应用。

分级应用源自简单的需要:想将封装的复杂的应用结构进一步分解为一个分级的结构。然而早期的SCA中,一个应用结构是“扁平的”,简单地由叶子节点的组件构成,在SCA4.0中不再有这个限制。因此,可以形成复杂的组件,并抽象为子应用,然后使用这些组件形成应用。这种体系结构技术可以使得一个组件能用于不同的情况下,提升了如在软件产品线中使用的库的重用。分级应用的示意图见图4。

SCA4.0定义了一种正式的机制,利用软件装配描述文件(SAD,Software Assembly Descriptor)中的外部端口(externalports)元素作为管道,通过它框架能管理那些交互应用连接的形成和销毁。外部的端口连接创建为这个问题提供了一种好的解决办法,因为这个问题的本性——两个需要连接的应用彼此互相依赖于将被创建的连接,但是它们被独立创建而且不保证它们将被一起创建。连接机制需要知道怎样处理这种情况:当连接的一边存在、而另一边不存在。然而,如果应用的两边都被创建,那么应用总是被连接的。

图4 一种简单的分级应用

3 结语

SCA规范自提出以来,就被软件无线电论坛接受作为未来无线电开发的标准。各国也对SCA规范展开了大规模的研究工作。近年来国内对软件无线电也进行了许多的研究及开发[3-6]。中国SCA4.0对之前的规范进行了重要修订,使之可以裁剪,更加轻量级、灵活。SCA4.0可以兼容从小的单信道电台到大功率、多信道电台等各种大小的电台。SCA4.0提供了一个增强的集合特征,以支持波形的移植性和互操作性。了解SCA4.0,对于软件无线电的研究开发工作有着重要意义。

[1]JTRS JPEO. Software Communications Architecture Specification, Version 4.0[EB/OL].(2001-12-19)[2013-03-11].http://jpeojtrs.mil/sca/Pages/port abilityguidelines.aspx,2012

[2]JTNC. Software Communications Architecture Specification 4.0 User’s Guide[EB/OL].(2010-11-30)[2013-03-11].http://jpeojtrs.mil/sca/Pages/port abilityguidelines.aspx,2012

[3]马子骥,郑善贤,刘宏立.一种基于软件无线电的数字解调方法研究[J].信息安全与通信保密,2008(03):34-35.

[4]王烁,周家喜,王庆华.SCA架构软件无线电台设计与实现[J].通信技术,2011,44(06):40-42.

[5]张海燕,丛键.一种新型SCA电台的分析与设计[J].通信技术,2012,45(09):21-24.

[6]王赢.基于SCA规范的跳频通信波形设计与开发[D].杭州:杭州电子科技大学,2010.

猜你喜欢

中间件体系结构电台
亲戚
足球机器人并行行为组合控制体系结构分析
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
作战体系结构稳定性突变分析
GSM和CDMA系统对铁路机车电台的干扰分析
基于DODAF的装备体系结构设计
基于云计算的航天器控制系统自组织体系结构
荔枝FM
中间件在高速公路领域的应用