基于构件的潜艇作战系统软件体系结构

2009-04-08 12:23:46闵绍荣
中国舰船研究 2009年2期
关键词:体系结构潜艇容器

黄 坤 闵绍荣

中国舰船研究设计中心,湖北 武汉430064

基于构件的潜艇作战系统软件体系结构

黄 坤 闵绍荣

中国舰船研究设计中心,湖北 武汉430064

针对目前潜艇作战系统软件的现状,分析了潜艇作战系统软件的功能需求,提出了基于构件的潜艇作战系统的软件体系结构模型。在此基础上,建立了潜艇作战系统软件的开发模型,对潜艇作战系统通用功能构件进行了划分,并提出了潜艇作战系统软件体系结构的实现途径。

作战系统;潜艇;构件;软件体系结构

1 引言

信息化战争对潜艇信息化装备建设提出了新的要求,潜艇作战软件研制是潜艇信息化建设的核心内容之一[1]。为了充分利用现代潜艇获取信息的能力,加强潜艇作战软件研制与开发是提高潜艇作战效能的重要途径。

从体系结构入手进行软件开发和维护不仅可以控制问题的复杂性,提高开发效率和系统质量;还可以通过结构改善使目标系统的适应性、演化性得到保证。系统的体系结构是任何大规模软件技术的关键基础,一个体系结构从总体上定义了系统总体的不变性,在基于构件的系统中起着至关重要的作用。只有当体系结构被很好地定义和维护时,构件及系统的升级和维护才会有坚实的基础。当构件化软件开发人员没有预先设计清晰的构件体系结构时,非最优化的体系结构就产生了,其结果必将导致系统某些地方不合理、产生重复和不一致,进而导致系统升级和维护变得越来越困难。当前大多数商用软件的研究都集中在基于构件的软件复用及构件的开发、组装,而未见有对构成系统最重要的构件化软件的作战系统体系结构的研究。

根据对国外潜艇作战系统体系结构的设计思路的解读分析,利用商用软件构件化方法,可将潜艇作战系统分解为互相独立协同工作的软件构件,并努力使这些软件构件可反复重用,从而提高了潜艇作战系统的质量与可靠性。将软件构件化研究开拓性地应用于潜艇作战系统,对于潜艇作战系统软件的统一设计具有深远的意义。

2 潜艇作战系统的软件功能需求

无论采用何种软件体系结构,最终都是要实现一定的功能,满足作战系统的需求,所以,首先必须明确潜艇作战系统的软件功能需求才能进行软件体系结构设计。国外的有关资料表明:潜艇作战系统主要通过以下功能实现其作战使命。

2.1 情报处理

情报处理功能包括情报的收集获取和分析综合,其实质就是判明作战环境的问题。一是自然环境,即海域、空域和水文气象等;二是本艇环境,即本艇航行状态和武器装载及准备状态;三是目标环境,即对目标信号的检测、识别,多传感器多目标的航迹处理等。这是作战决策、实施武器射击控制的基础和前提条件[2]。

2.2 决策指挥

作战系统应能根据战场态势、作战目的和自身的作战能力制订或修改战术决策和对策。需要解决的基本问题主要包括以下几个方面。

1)目标搜索

在接受作战任务后,为了及时发现位置尚未确定的目标,应科学合理地选择潜艇的搜索路径、组织相应的搜索探测器对一定的水域进行搜索和探测。

2)目标识别

当探测器发现目标后,应迅速准确地判断目标的敌我属性、类型(水面、水下)属性。

3)威胁估计

分析目标对我艇的危害程度,在多目标情况下则应按其不同的威胁程度予以排序。

4)态势显示

对获取的目标进行融合处理并形成统一态势供全艇使用。

5)攻击或防御决策

对攻击或防御的目标制订攻击或防御的实施方案,包括使用武器的种类、数量,优选射击阵位和战位机动方案。

6)武器通道组织

对拟攻防的目标选择武器和发射装置,建立系统的信息传输流,以控制软硬武器对目标实施攻击。

2.3 武器控制

武器控制的主要任务是求取射击诸元,控制武器迅速而准确地射击。主要包含以下主要功能。

1)解算目标运动要素

综合利用各种信息、按照可行的解算方案、结合人的经验,在最短的时间内,解算满足武器射击精度要求的目标运动要素。

2)计算武器发射诸元

根据敌我态势、目标运动参数和武器弹道方程计算相遇点,进而求解武器发射诸元。

3)控制武器发射

根据射击计算结果,装订武器射击诸元、确定发射时机、控制武器出管的时序等。

4)遥控武器导引控制

遥控武器发射后,对目标继续进行信息测量,并据此对射出的武器进行导引控制。

2.4 作战辅助

作战辅助功能包括模拟训练功能,时统功能,监视、记录、重演功能。在作战系统模拟训练状态下的目标态势的生成、操控命令的模拟、传感器信息的模拟;向潜艇作战系统发送统一时间基准,使全系统(设备)计算机时钟高精度同步,可以方便地采用数学算法校准由于处理、传输延迟带来的误差,提高系统精度以及武器系统的打击效能[3];记录作战系统运行时的数据,回放系统记录的数据,控制整个作战系统的重演速度,控制训练或复现攻击过程。

2.5 故障排除

能定位作战系统比较基本的故障,并提供排除对策。

3 基于构件的潜艇作战系统软件体系结构

3.1 层次化的潜艇作战系统软件体系结构

传统的商用软件体系结构的基本概念是垂直分层,层的概念和层的分解在构件系统中同样十分有用。与传统体系结构有所不同的是构件系统不仅存在垂直分层,而且还存在水平分层。这主要是由构件系统的特殊性决定的。

不同于传统软件的类和模块,构件系统中最小考虑单元是构件,单独的构件是没有意义的,它只有在一定语境下才能被装载、激活和实例化,构件必须被部署到构件容器(构件的运行环境)中;构件容器可以为构件提供必要的协议以连接构件,同时对部署到构件容器内的构件强制实施一些框架决定的策略。较小的系统通常可以通过一种构件容器结构实现;对于大型复杂的系统,则需要用到多个构件容器,多个构件容器的协同,需要更高一层的构件服务器框架实现。构件是实现系统功能的基本单元,类似传统软件的功能模块,由它们的实例组合实现功能的各个层次,构件构成了系统主要的垂直结构,构件容器和服务器框架分别负责管理协同构件和构件容器[4]。

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

在商用构件的设计中,往往提倡两个原则:分层与分离原则。分离与分层有所不同。分层是按照抽象层次的不同来划分和组织系统的关系,各层之间的关系是客户与服务器的关系或者说是请求/服务关系;而分离一般是指同一抽象层次上,将功能相对独立的构件从系统其它部分抽取出来。在对系统进行分层和分离后,还对各个构件的合理性进行分析,其目的在于降低耦合性,增强内聚度,提高构件的适用范围与复用程度。

基于构件的潜艇软件体系结构可以是一个纵横交叉的二维层次结构,横向层次结构由构件、构件容器、服务器框架 (即构件—容器—服务器模型)组成;各个纵向层次均有自己的纵向结构,每一层实现一定的功能,高水平层次通过共享某些垂直层次集成低水平层次,构件容器通过与构件共享交互层集成了构件层次,服务器框架通过共享框架交互层集成构件容器。在潜艇作战系统中,具体的功能构件分布在用户接口层可能比较恰当,可向用户提供相应的服务。

构件在使用前已经被组装成为用户可以直接调用运行的程序,例如,对于潜艇作战系统而言,当操作人员在台位上进行某一项操作时,构件调用请求会动态调用与其操作功能相对应的构件,即应用根据需要实时加载功能构件,当操作完成时,构件会被自动卸载。

采用层次化的潜艇作战系统软件体系结构,实现了作战系统数据和应用的逻辑分离,解决了潜艇作战系统不同台位上的数据共享和应用互操作问题,提高武器通道的精度[5]和系统的灵活性,改善系统的可维护性。能适应潜艇传感器武器及其控制技术不断完善和发展的需要,根据需求可灵活地进行系统配置。

3.2 潜艇作战系统软件体系结构的实现

3.2.1 潜艇作战系统软件体系结构开发参考模型

潜艇作战系统软件体系结构开发参考模型是潜艇作战系统软件开发全部过程活动和任务的结构框架。它能清晰直观地表达作战系统软件开发的全过程,明确规定了要完成的主要任务,是潜艇作战系统软件开发的基础。基于构件的潜艇软件体系结构开发参考模型是一种全新的开发模型,是利用构件技术特征与几种经典模型相结合的产物,如图2所示。

在基于构件的作战系统软件体系结构的开发过程中,可以按7个阶段进行开发,即系统方案论证;需求分析;基于构件的系统设计;功能构件开发;非构件代码的编写;软件集成和软件测试。

图2 潜艇作战系统软件体系结构开发参考模型

3.2.2 潜艇作战系统通用功能构件划分

通过研究认为:潜艇作战系统功能构件大体上可以划分为通用构件和专用构件,在不同的作战背景和作战需求下,潜艇作战系统专用构件的划分方法和划分粒度是不一样的[6],但是对于通用功能构件,我们认为其划分原则应该是一致的。对于常规动力潜艇而言,根据其作战系统的主要功能,可将潜艇作战系统的通用功能构件划分为以下子构件。

图3 潜艇作战系统功能构件

3.2.3 潜艇作战系统软件体系结构的实现途径

利用OMG组织制定的CORBA规范来进行潜艇作战系统软件体系结构的设计[7]。

CORBA一直为广大开放系统平台厂商所支持,它既不局限于特定系统平台,也不局限于特定开发语言,因此,它使用起来比较灵活。ORB是对象总线,它能使对象透明地向其他本地或远程对象发出请求或获得应答[8]。而客户方并不需要了解服务对象的通信激活或存储机制。ORB的任务就是把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户[9]。它提供了客户与目标对象之间的交互透明性。也就是说,潜艇作战系统的功能构件通过ORB总线向调用者提供相应的服务,如图4所示。

图4 潜艇作战系统的CORBA实现

4 结束语

利用构件技术进行潜艇作战系统软件体系结构的设计,可以对潜艇作战系统软件功能构件进行灵活配置,从而实现指控台位的自由定义和跨战位互操作。基于构件的潜艇作战系统软件系体结构提高了潜艇系统的可靠性,构件的复用缩短了软件开发的周期,符合“标准化、系列化、通用化”的设计思想,所以提高了软件产品的质量,节省了软件开发的费用。同时,基于构件的软件体系结构支持软件的灵活分布和独立升级,可以有效提升潜艇作战系统的作战效能。

[1]李本昌,薛昌友.现代潜艇作战软件的需求与技术难点[J].火力与指挥控制,2004,29(6):73-76.

[2]晋朝勃.潜艇火控系统现状及亟待解决的问题[J].潜艇学术研究,1998(3):37-40.

[3]陈璇.网络对时技术及应用方向研究[J].中国舰船研究,2007,2(6):42-45.

[4]陆军,张育平.基于构件的软件体系结构实现技术[J].计算机工程与应用,2002,38(4):115-117.

[5]李蕾,冯浩.作战系统武器通道精度分配方法[J].中国舰船研究,2007,2(4):37-40.

[6]闵绍荣.舰艇作战系统功能划分方法[J].中国舰船研究,2007,2(5):24-29,37.

[7]The Common Object Request Broker:Architecture and Specification,Revision2.2[M].Framingham Massachusetts:USA,Object Management Group,2001.

[8]ORFALI R,HARKEY D,EDWARDS J.Instant CORBA[M].John Wiley Sons,Inc,1997.

[9]ALIEN R J.A formal approach to software architecture[D].PhD Thesis.Pittsburgh,PA:USA,Carnegie Mellon Univ,1997.

Modeling of Component-based Software Architecture for Submarine Combat Systems

Huang Kun Min Shao-rong
China Ship Development and Design Center,Wuhan 430064,China

Based on the current status of submarine combat system software,this paper analyzes demands of software function for submarine combat system,and presents a software architecture model for component-based submarine combat system.From this point of view,the paper establishes the software development model and identifies the general function components.Finally,it gives the implementation approach for the software architecture of submarine combat system.

combat system;submarine;component;software architecture

U674.76

A

1673-3185(2009)02-65-04

2007-11-20

海军“十一五”预研项目(1010306010101)

黄 坤(1979-),男,工程师,硕士。研究方向:潜艇作战系统。E-mail:hkcfan@126.com

闵绍荣(1961-),男,研究员。研究方向:舰艇作战系统

猜你喜欢
体系结构潜艇容器
Different Containers不同的容器
十分钟读懂潜艇史(下)
潜艇哥别撞我
十分钟读懂潜艇史(上)
潜艇跃进之黄金时代
难以置信的事情
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
取米
基于DODAF的装备体系结构设计