APP下载

面向显控领域的软件框架设计及应用

2015-04-23杜智远武心安

指挥控制与仿真 2015年6期
关键词:指控构件框架

杜智远,武心安

(1.解放军92493部队,辽宁 葫芦岛 125000;2.江苏自动化研究所,江苏 连云港 222061)

指控系统经历了多年的发展已经日趋成熟,但随着作战样式的变化,包括训练、试验、护航、支援、登陆作战等,以及作战规模的变化,从单舰到编队,从编队到岸基一体化作战,指控系统还是面临着投资成本高,利用率低下,开发周期长,可靠性差的问题,因此通过应用软件复用技术来提升系统软件的重用能力、扩展能力、维护能力,显得尤为重要。

当前指控系统软件研发过程中,已经通过方法继承、功能封装、接口调用等传统复用技术,提升了诸如算法、独立功能、固定数据转换等方面软件的重用能力,但显示控制类软件重用困难的问题仍然困扰着设计和开发人员。由于显示控制类软件具有不同格式信息接收、不同类型信息处理、不同任务态势显示、不同形式间联动、不同人工干预命令分发等特点,使得显示控制类软件通过传统的软件复用技术难以具备良好的重用和扩展能力[1]。从而,开展面向指控系统显示控制软件设计与开发复用技术研究显得十分必要。

软件框架技术是实现软件复用的有效途径,一个设计良好的软件框架,能够节省开发成本,提高系统的可靠性、扩展性和一致性。但软件框架的开发比一般应用软件要复杂得多,是一个长期和反复的过程。之所以长期,是指任何一个软件框架都是面向某特定领域,必须在该领域软件设计与开发过程中获取领域知识,才能进行软件框架的设计和开发;之所以反复,是指软件框架包含应用软件的公共功能,必须经过面向不同需求的软件设计和开发具体实践,才能总结共性功能,在共性功能逐渐清晰基础上进行软件框架的设计和开发[2]。

本文是在掌握了指控系统显示控制软件领域知识的前提下,通过研究指控系统显示控制软件的体系结构和功能,引入软件框架技术,设计和开发指控系统显控框架软件,形成显示控制软件插件式体系结构,实现显示控制软件功能构件的配置调度、运行管理、访问控制、功能扩展和构件之间交互等功能,为指控系统显示控制软件功能复用设计与开发提供有力的平台。

1 软件框架技术

软件框架首先是面向特定领域的,是对特定应用领域中系统功能的部分设计和实现,其不仅分割了应用领域中的功能类,定义了主要责任和类与对象的协作关系,还规定了功能控制流程,记录并实现了应用领域的主要公共设计决策,是支持软件设计复用和实现功能开发与复用的技术。

框架的设计、开发和使用主要有两种:面向对象的框架(object-oriented framework,简称OOF)和基于构件的框架(component based framework,简称 CBF)。OOF是通过对框架中的抽象类进行特殊化方式类定义框架行为来实现复用,每个抽象类派生一个子类,并在子类中明确所有纯虚方法的具体实现,进而就可以复用这些具体的子类调用具体方法来开发特定的应用系统,因此,OOF框架是基于继承的框架,也称为白盒框架。而CBF是将基于继承的面向对象框架通过用构件接口中方法的调用来替换对象类中方法的重用,转换为基于构件的框架,即CBF中开发者在固定格式方法前提下负责方法的具体实现和生效,不关心方法的调度过程,是一个完全解耦过程。基于构件的框架由相互协作的构件组成,并通过对构件接口的扩展来实现应用系统,相对基于继承的OOF,CBF又称为黑盒框架[3-4]。

无论是OOF还是CBF,都规定了通信、调度等运行机制,都包含应用领域公共功能的实现,都规定了面向开发者的开发形式。OOF在以往的软件开发中较为常见,可以说只要用到了某种设计模式,就已经接触到了OOF,而CBF的开发实践较少,但商用软件开发中应用得十分广泛,基于框架的软件体系结构如图1所示[5]。

图1 基于框架的软件体系结构

采用软件框架技术进行软件开发,具备缩短产品形成周期、节省软件维护成本、节省软件测试成本、促进软件开发标准化、增强应用系统的可靠性、能够融入专家知识等特点,框架技术在各领域软件设计开发过程中被广泛采用。

2 指控系统显控框架设计研究

2.1 显示控制软件领域分析

指挥控制系统是C4ISR系统的核心部分,是一种实时复杂信息与控制系统,其中的显示控制软件开发面临着需求不确定、技术环境快速变化等诸多特点,难以实现大部分功能软件的重用设计与开发,显示控制软件的主要功能包括三个方面:第一,信息的接收与发送,接收各类目标情报、时统、气象和系统状态等信息,发送人工干预指令等;第二,信息综合显示与控制,包括地理信息、目标状态、装备能力等通过态势、表页等形式的实时刷新显示,面向各类任务的信息显示控制等;第三,作战指挥控制,向各类武器发送目标指示及指挥命令,接收各武器系统状态,接收各武器系统武器指向信息等[6]。

指控系统显示控制软件的基本功能纷杂,功能间信息交互类型凌乱,信息流程复杂,纯粹从功能复用的角度进行重用设计十分困难。要实现显示控制软件的复用设计,就需要采用框架技术进行技术体制和功能构件的设计。从技术体制角度分析,需要设计包括功能构件配置调度管理、信息传输接口、人机交互接口、绘制接口、定时器接口和自定义接口;从功能构件角度分析,需要设计信息接收和发送、信息缓存更新、地理信息、动目标、表页显示、人机界面、状态信息显示和各类业务相关的功能构件,通过统一技术体制结合开发公共功能构件的方法来支撑显示控制软件的复用设计与实现。

结合软件框架技术,针对显示控制软件自身功能特性展开分析。如图2所示,针对显示控制软件功能间信息交互类型多样,需要具备能够对功能间信息进行调度管理的功能,具体包括定义消息、命令、绘制、定时等通用接口,实现功能间的解耦,即图中主控管理功能和功能间的通信机制部分;针对显示控制软件信息可视化基本都依托海地图显示、表页显示等,需要具备海地图、表页显示基本功能,规范可视化手段,即图中的地理构件、表页构件部分;针对显示控制软件依赖图形绘制,需要具备标绘基本功能,实现图形绘制与管理功能,即图中的标绘构件部分;针对显示控制软件接入信息中主要是目标信息,需要具备针对目标的数据组织、显示交互等功能,实现基于标绘构件的动目标显示功能,即图中的动目标构件部分等。针对不同业务需求,需要具备支撑功能构件的开发功能,实现功能的扩展。

2.2 显控框架设计

通过显示控制领域分析可知,指控系统需求的变化,直接带来显示控制软件的设计与开发产生变化,单纯采用CBF黑盒式的框架设计方法难以实现全部业务功能,因此本文采用固定控制流、可选择的应用特性接口和开放的抽象类对象的灰盒框架设计思想进行设计,这也体现了软件框架技术的核心内涵,即框架是面向特定领域的软件产品[7-8]。

1)框架模型设计

指控系统显控框架采用灰盒框架设计方法,由主控模块(黑盒)、固态构件(黑盒)、扩展构件(白盒)、代码生成器软件和相关的配置文件等部分构成,如图3所示。

显控框架主控模块包含功能构件的注册管理、接口定义两大类功能,其中构件注册是通过读取构件配置文件中的应用功能构件集,将功能构件调起并进行容器管理,并对功能构件包含的接口进行调度。接口定义功能包括三个方面的接口,固定、可选和自定义接口。其中固定接口为消息类型的接口,包括消息标识和数据地址等参数,支撑构件之间的数据交互,这类接口要求任何功能构件都要进行接口的实现;可选接口定义为命令、绘制、定时器和工具等类型的接口,包括命令标识、视图绘制指针、时间、事件等参数的定义,支撑界面响应、刷新绘图、定时响应等功能,功能构件根据功能定位选择相应的接口实现;自定义接口为各功能构件提供了构件特殊功能接口,在构件内部通过接口的定义、抽象、注册,实现自定义接口的主控管理,实现具体功能。

图3 显控框架模型

固态构件是根据显示控制领域分析结果,将显示控制软件的一部分公共功能进行封装,实现具体功能,以固定、可选、自定义接口的形式提供给其他功能构件调用使用,该构件功能相对固定,具有丰富的通用功能接口。

扩展构件是根据系统软件的具体需求,进行具体业务功能实现的功能构件,通过代码生成器生成固定和可选接口类,以实现构件间的信息交互。

代码生成器软件面向显控框架下功能构件具体开发,生成标准的接口类代码。

配置文件包括功能构件、交互等相关配置文件,便于功能、界面的定制和适配。

2)框架软件设计

根据显控框架模型进行框架主控类、构件抽象类、固定和可选接口基类的设计。

设计主控类,具备构件注册与管理方法,通过获得构件类指针,实现注册信息的容器存储;具备命令、消息、定时器等管理方法,通过标识和注册信息,实现信息的分发等。主控类是一个黑盒功能类,通过各类方法封装了构件间、界面与构件间数据交换的具体实现,定义了框架构件封装、数据交换机制。

设计构件抽象类,具备功能构件标识的获取接口,支撑主控内部构件定位;具备构件的初始化接口,支持构件初始化功能;具备构件描述接口,支持构件功能说明功能;具备构件界面布局接口,支持构件界面的定位、大小、显隐等控制功能。构件抽象类是一个抽象类,功能构件的开发必须进行继承,进而纳入到主控的管理,才能实现接口类的调度。

设计消息接口抽象类,具备消息个数、标识获取接口,支撑主控内部的消息定位;具备消息响应接口,支撑构件实现订阅消息的响应功能。消息接口抽象类是框架固定接口部分,功能构件必须继承,以支撑构件的基本数据交换能力。

设计命令接口抽象类,具备命令个数、标识获取接口,支撑主控内部的命令定位;具备命令响应接口,支撑构件实现订阅命令的响应功能。命令接口抽象类是框架可选接口部分,功能构件根据需求进行继承,以支撑构件的操作交互能力。

3 框架软件产品开发流程

显控框架软件能够支撑各功能构件的运行,更重要的是它规范了软件功能的开发流程和构建方式,因此功能构件具备较强的重用和扩展能力,如图4所示为显控框架软件产品开发流程示意图,具体开发流程步骤如下:

第一步,根据业务需求设计软件功能,划分共性和业务功能以及相互依赖、信息关联和控制关系,如果已经有储备的共性功能构件,则在共性功能构件基础上进行功能设计;

第二步,以功能构件为单位,通过界面布局工具编辑和存储软件的主体布局,形成软件界面配置策略集,显控框架可在线读取界面配置策略,根据台位需要随时变换软件界面布局风格;

第三步,通过代码生成器,根据功能需求配置相关接口,生成功能开发代码模板,以代码模板为基础,封装能够被框架调起并运行的基本构件;

第四步,以基本构件为基础,根据业务需求,引入相应的显示控件,开发相应的显示、人机交互功能,获取并发送相关信息,形成软件功能构件库;

第五步,通过配置构件库中功能构件的调起顺序和依赖关系,形成功能完备的软件产品。

图4 显控框架软件产品开发流程

通过以上五个步骤,完成了基于显控框架的软件产品开发,形成了构件式的软件产品,便于后期的软件维护和功能扩展。

4 显控框架实现

按照显控框架软件设计内容,进行显控框架软件的具体实现。显控框架产品包括框架主控,每个应用程序开发依赖唯一的主控,应用程序对框架主控进行初始化,实现主控对构件和接口进行调度。

以典型态势显示软件为例,从功能层面划分为为目标分类管理、目标属性显示、目标态势显示、时间任务显示、目标表页显示等五个功能,根据具体功能设计,分别划分为目标分类管理、目标属性显示、地理信息、图形标绘、动目标显示、提示信息显示和目标表页显示等七个功能构件,通过引入树形控件、列表控件、Gis控件、图形控件、时间控件和表页控件,支撑功能构件的开发,如图5所示。

通过布局工具进行界面布局,如图6所示。布局包括标题栏、菜单栏、工具栏、列表区、属性区、态势区、信息区和表页区等八个部分组成,保存形成界面配置策略。

利用框架代码生成器,根据构件的具体功能需求,分别生成相应的框架代码模板。

依托显控框架技术体制,开发目标分类组织管理功能构件,以树形方式将目标按照相关类型进行分类显示和控制,功能界面对应到界面配置策略中的列表区;开发目标属性显示功能构件,以列表形式显示目标的属性信息,功能界面对应到界面配置策略中的属性区;开发地理信息、图形标绘和动目标显示构件,以地理信息显示为基础,叠加显示各种标识符号,功能界面对应到界面配置策略中的态势区;开发提示信息显示功能构件,显示系统时间和各类提示信息,功能界面对应到界面配置策略中的信息区;开发目标表页显示功能构件,以表页形式实时更新显示目标信息,功能界面对应到界面配置策略中表页区;通过标题、菜单、工具配置工具进行配置,实现软件标题的显示、菜单和工具的加载,功能界面对应到界面配置策略中的标题栏、菜单栏和工具栏。

图5 典型态势显示软件结构

图6 界面布局策略

配置构件启动依赖关系,动目标显示构件依赖图形标绘和地理信息构件,图形标绘构件依赖地理信息构件,其他构件无依赖关系。根据构件依赖关系,启动构件,根据界面配置策略,形成软件界面布局,软件启动界面如图7所示。

图7 框架产品应用

5 结束语

本文在指控系统显示控制软件功能领域分析的基础上,结合软件设计与开发重用框架技术,对面向指控系统的显控框架技术进行了研究,实现了显示控制软件功能在统一的框架技术体制下进行功能的设计、开发与运行,提高了显示控制软件模块的复用、扩展和维护能力,满足指控系统显示控制软件产品适应需求不断变化进行修改完善的要求。在整个开发过程中,充分体现了运用框架技术带来的优势和显控软件领域知识,随着显示控制软件业务功能构件功能的不断丰富,积累更多的公共功能构件,逐渐提升指控系统软件的重用度。该显控框架软件,是长期从事指控系统显示控制软件设计与开发的产物,在不同类型需求条件下进行了验证,效果显著,明显提升了软件设计和开发的重用能力,该技术推广到其他软件设计开发中也具有一定的实际意义。

[1]杨芙清,梅红.软件复用与软件构件技术[J].电子学报,1999,27(2):20-25.

[2]梁培明.基于构件的软件框架研究与实现[D].大连:大连理工大学,2007.

[3]汪苏文.基于构件的信息化软件框架研究与实现[D].沈阳:东北大学信息科学与工程学院,2008.

[4]孙昌爱,金茂忠,刘超.软件体系结构研究与综述[J].软件学报,2003,14(4):1228-1237.

[5]丁海昕,陆林生.通用计算流体力学软件框架架构设计[J].计算机技术与发展,2012,22(12):224-227.

[6]廖双全.基于CORBA的舰载指控系统软件实现技术研究[J].舰船电子工程,2001,20(4):11-18.

[7]姚松涛,郭荷清,王涛.用设计模式表示面向对象软件体系的结构[J].华南理工大学学报,2003,31(8):15-18.

[8]董士海,王坚,戴国忠.人机交互和多通道用户界面[M].北京:科学出版社,2000.

猜你喜欢

指控构件框架
钢筋混凝土构件裂缝控制
有机框架材料的后合成交换
框架
地导防空指控系统ZK-K20引关注
BIM模型相连构件获取方法
美国指控汇率操纵的历史、启示与应对
基于构件的软件工程技术与理论方法探讨
关于原点对称的不规则Gabor框架的构造
我国在WYO框架下面对的贸易保护现状及应对
伊朗被指控研发核弹头