SCA配置文件自动生成工具的设计_王琦
- 格式:pdf
- 大小:162.56 KB
- 文档页数:3
SCA配置文件自动生成工具的设计王 琦1 胡永扬2(1.解放军理工大学通信工程学院,江苏南京210007;2.总参第63研究所,江苏南京210007)摘 要:软件通信体系结构(SCA)提供了一种标准、开放、可互操作无线电通信软件平台,是联合战术无线电系统(JT RS)的顶层设计规范。
SCA核心框架中的XM L描述文件描述了SCA系统域中的硬件设备和软件组件的属性,在SCA的波形开发中占有非常重要的位置。
SCA配置文件自动生成工具能够方便高效地自动生成和维护配置文件,提高开发效率,缩短开发时间。
以软件组合描述符文件为例,说明了SCA配置文件自动生成工具的设计思想和实现过程。
关键词:软件通信体系结构规范;XM L语言;配置文件;软件组合描述文件中图分类号:T N92;T P31 文献标识码:A0 引言现代战争对军事通信提出了很多更高的要求,如何对军用无线通信装备进行通用化、系列化、模块化设计,是各国军队都在研究的问题。
软件通信体系结构(SCA)正是在此背景下提出的一种规范,实现了软件定义无线电(SDR),摆脱了集中硬件设计的无线电设计方法,实现波形生成、处理、加密、调制解调及其他通信功能的软件化,使软件具有可移植性,可重用性和可互操作性。
SCA是一个体系结构框架规范,是联合战术无线电系统(JT RS)的顶层设计规范。
它描述了可编程电台的软件体系结构,硬件体系结构和安全体系结构,以及应用程序接口(A PI)规范。
SCA软件体系结构中的核心框架要求构成系统的每个软件组件提供称为域描述体(Domain Profile)的公共信息,它描述了组成系统的硬件设备和软件组件的标识、容量、接口、特性、相互关系和逻辑位置等信息。
对象管理组织OM G(Object M anagement Gr oup)制定的CORBA组件规范定义了面向对象的框架中软件组件的交付配置过程,交付格式采用扩展标记语言XM L。
所有描述系统的数据由XM L词汇表述,这些词汇都基于CORBA组件规范。
SCA规范关于域描述体的约定遵循CO RBA组件模型原理,域描述体使用文档类型定义(DT D)格式,文档后缀为 .dtd。
1 主要设计方案一个基于SCA规范的电台要实现其电台的波形功能一般需要50个~100个XM L配置文件。
配置文件在SCA波形开发中占有非常重要的地位。
这些配置文件的生成和维护的工作量很大,而且往往同一类型的XM L配置文件框架都是相同的,只是文件元素的内容和属性不一样。
面对SCA规范中定义的各种繁杂的配置文件,所要开发的 SCA配置文件的自动生成工具必须能够帮助用户方便高效地生成和维护这些配置文件。
即使用户不了解XM L 语言,不会编写XM L配置文件,也能够顺利并且有效地继续进行SCA波形开发的工作。
即使对于了解并会使用XM L的开发人员,也能够在短期内提高他们的开发效率,缩短开发时间。
这个工具能够使每一个用户对文件的结构一目了然,十分清楚地了解文件的各个元素的内容、属性意义、用途、特殊定义等,以便用户根据自己的特定需要填写或修改这些内容和属性。
用户可以不需要记住那些烦琐的代码,直接在友好的中文系统界面提示下输入、选择或修改文件中各个元素的内容和属性值。
SCA配置文件的自动生成工具应该提供以下配置文件的生成和维护功能:生成和维护组件的SPD、SCD、PRF配置文件。
生成和维护设备的SPD、SCD、PRF、DPD配置文件。
生成和维护波形的SAD配置文件。
生成和维护域管理器的SPD、SCD、PR F、DM CD配置文件。
生成和维护设备管理器的SPD、SCD、PRF、DCD配置文件。
该工具可根据不同的DT D生成或修改相应的XM L配置文件,使用户能够方便地获得符合DT D规范且便于修改和维护的XM L配置文件,同时该工具还可以维护波形、设备、组件、节点所需的配置文件,用户可以对波形、设备、组件、节点进行修改和维护。
子系统按项目的类型,根据各类型所要求的DT D,给出XM L文件各节点内容及属性的中文提示,用户按照中文提示输入或修改节点内容和属性值。
子系统根据用户输入及DT D的缺省值,自动生成或更新项目中的X ML文件,同时更新项目。
2 具体实现下面将举例来说明,SCA配置文件自动生成工具的具体山西电子技术2006年第2期软件天地收稿日期:2005-10-16 第一作者 王琦 女 26岁 硕士研究生实现。
软件组合描述符(Softw are Assembly Descriptor! SAD)[1],是SCA配置文件的一种,表达了组合中的多个组件是如何配置和相连的。
每个软件组合描述符与一个或多个软件包描述符关联。
软件组合的目的在于提供一种方法来描述组合功能应用及通过它实现的SCA组件的特性互联。
2.1 SA D文件的XM L元素SAD文件的模版如下表示:<!EL EM ENT softwareassembly(description?,componentfiles,partitioning,assembly controller?,connections?,externalports?)><!A T T L IST softwareassemblyid I D#REQ U IREDname CDAT A#IM PL IED>SAD文件通过索引组件的SPD文件获得相应组件的配置信息。
softw areassembly元素的id属性内容为一个唯一识别组合的DCE U U ID,softw ar eassembly元素的name属性内容为CF A pplicatio nFactory名称属性定义的名称。
2.2 数据结构可以将SA D文件的元素结构视为树型结构,元素从最低级的叶结点开始嵌套,然后向上伸展,直到到达根结点。
数据结构如下:XM L-Parser类,用于解析和生成XM L文件。
XM L-Node类,用于表示XM L节点。
XM L-A ttr类,用于表示结点属性。
XM L-A ttr类用于表示结点的一个属性项,保存属性名称、属性值和指向节点下一个属性(XM L-Attr类)的指针。
XM L-Node类用于表示一个结点,保存结点名称、结点值,指向其第一个属性(XM L-Attr类)的指针,以及指向其父结点、首子结点和下一个兄弟结点(XM L-Node类)的指针,提供各种结点的信息和操作。
在遍历树结构的过程中,将建立一个以本结点为根结点的子树,生成并返回一个结点列表。
当使用结点列表时,此类作为结点列表中的首个结点;同时提供结点列表的信息和操作,包括保存指向结点列表下一结点的指针,提供获取列表长度的方法及获取列表中一个结点的方法。
XM L-Parse类用于解析一个XM L模版,形成以XM L-Node类和XM L-A ttr类表示的结点及其属性所组成的结点树,提供用户输入或修改操作,将输入信息添加至XM L-Node类和XM L-Attr类表示的结点及其属性,形成并另存为新的XM L文件。
2.3 实现的具体流程首先,用户在菜单中选择创建新的SAD文件,输入自定义的组件组合名称,系统自动分配唯一识别组合的DCE U U ID ID号。
载入系统中的SAD模版,调用M SXM L进行解析,找到根结点softwareassembly,将组合名称和唯一ID号填入id和name属性中。
找到softw ar eassembly的第一个子结点description,询问用户是否需要输入有关组件组合的说明信息,如需要则系统在用户提交后填入元素descr iption。
找到description的兄弟结点compo nentfiles,在界面上列出所有的SPD文件的组件名称,对于这个组件组合,用户选中想包含的组件名称,系统将相应的SPD地址填入到元素componentfiles的子结点lo calfile。
找到下一个兄弟结点partitioning,询问用户此组件组合中选定的组件,哪些需要组成一个设备。
由用户指定一个设备名称,列出上一步用户选定的组件,由用户选取组成设备所需要的组件。
实例化所选定的组件,自动生成一个唯一标识的id号填入componentinstantiation元素。
这里的id被后面提到的usesport元素和prov idespor t元素索引。
找到下一个兄弟结点assemblycontr oller,列出所有实例化组件的id号,提示用户选择哪一个组件为CF Resource主控制器组件,填入component instantiationref。
找到下一个兄弟结点connections,因为usesport端口必须和providesport端口互联,所以如果列出所有的实例化组件id号和SCD文件中描述的可用组件端口id号,让用户先后选择两者,搭配方式会有很多种。
一旦选定了一个uses port端口,再选择另一个相连pro videspo rt端口的组件id号和端口id号组合时,要去除很多usesport端口类的候选数据,效率太低。
所以采取分类列出端口,一类为可用的uses port端口,即为组件id号+端口id号的组合方式供用户选择。
另一类为可用的providesport端口。
用户选择一对组合后可以输入该端口组合的名称,提交后填入connectinter face 子元素的id属性中。
选定的端口id号填入usesidenfier元素,组件id号填入componentinstantiationref元素。
找到最后一个兄弟结点externalports,提示用户是否有可视端口,如果有的话列出所有端口的id号,选择后输入por ts子元素。
这是SCA配置文件自动生成的基本过程,这些输入的元素属性或选择都可以随时根据用户的需求进行更改,删除。
此外,还可以进一步丰富此工具的功能。
可以提供用户生成和维护的波形、组件、设备及节点的管理功能,包括对生成和维护的波形、组件、设备及节点所涉及的配置文件及二进制文件进行封装、保存、另存、重新打开等等。
还可以提供用户下载功能。
3 结束语本文根据软件通信体系规范指导下的波形开发,提出了SCA配置文件自动生成工具的设想,并举例说明了具体数据结构和实现方法。
此工具能够方便高效地自动生成SCA配置文件,在短期内帮助波形开发人员提高开发效率,缩短开发时间。
(下转第9页)4 山 西 电 子 技 术 2006年计[5]。
2)在数据库概念设计基础之上,利用DBM S (如SQ LServer2000)将概念设计转换为逻辑结构设计,并在此基础上创建数据库表的关系、存储过程和触发器。
3)利用I DL 编译器对生成的构件IDL 文件进行编译,得到构件的框架文件,包括Stub 桩文件和Skeleton 文件,然后在框架的基础上用具体的编程语言(如Java,C++)来实现构件。