基于SEV体系结构的态势推演系统开发技术研究

时间:2022-08-24 05:12:07

基于SEV体系结构的态势推演系统开发技术研究

摘要:态势推演广泛用于大型军事活动按预定计划方案进行模拟的过程中。对于涉及多目标、多组织的大型分布式交互推演系统,软件结构的灵活扩展性、动态实时控制的有效性是系统设计难点。本文基于分布式交互软件体系结构SEV,以某无人机飞行任务态势推演为例,采用例图、类图和序列图等多种方式介绍了软件需求和工作原理,简明而有效地说明了基于SEV体系结构的态势推演系统的分析与设计过程,为类似环境和系统的开发提供一定的参考价值。

关键词:SEV;软件体系结构;态势推演系统

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2010) 15-0000-02

The Deduction Trend System Development Technology on SEV Architecture

Du Jiawei,Yan Liaoliao,Zhang Xing,Liu Haiye,Xue Fangxia

(PLA 63892 Troops,Luoyang471003,China)

Abstract:The state deduction is widely used in large-scale military activities as scheduled during the simulation program.Involving multi-objective,multi-organization of large distributed interactive deduction systems,scalable and flexible software architecture,dynamic real-time control system design effectiveness is difficult.This interactive software architecture based on distributed SEV,in order to deduce a trend of UAV missions,for example,use case diagrams,class diagrams and sequence diagrams and other presentation on software requirements and principle,concise and effective description based on SEV situation deduction system architecture analysis and design process for the development of similar environments and systems to provide a value reference.

Keywords:SEV;Software architecture;Situation inference system

一、引言

态势推演系统广泛应用于军方,主要对战斗过程和战场环境进行模拟,以期用最小的代价来演示未来假想战场环境。针对态势推演系统基于分布式交互存在的结构问题和动态过程的控制问题,本文采用基于分布式交互结构的SEV(Service-Engine-View)来实现系统推演过程的实时控制和多元素并发。SEV软件体系结构,是进行分布式交互系统设计的很好的软件体系结构模型。Service服务,将静态数据模型实现为统一的对象服务,提供静态数据服务;Engine是模型核心,包括动态数据引擎、控制引擎和客户控制界面,动态数据引擎负责将服务Service中的数据转化为动态数据模型,系统运行控制方通过控制引擎模块和客户控制界面对动态数据引擎的转换过程和向视图View的展示过程进行控制;View是最终用户界面,完成系统对数据的推演展示。

在SEV结构中,如何实现Service的静态数据服务和Engine内部的引擎控制是重点。静态数据服务分为四个步骤:通过对象请求接收数据访问请求;请求处理生成语句,并通过调用接口对数据库进行访问;根据查询结果集构造用户需求数据;返回数据。引擎控制模型是SEV结构中实现同步控制的核心模块。引擎通过对对象引用的传递和回调机制,实现了对动态数据的同步控制过程。当启动一个动态数据服务时,首先向控制器进行注册,将动态数据服务接口对象的对象引用传递给控制引擎,控制引擎将该对象引用保存到本地对象引用列表;当控制引擎收到用户的控制命令时,将依次调用对象引用列表中的各个动态数据对象,向其转发控制命令,各动态数据接收到命令后将进行相应处理,调整数据处理过程以适应用户要求。本文总结提出并举例说明了基于SEV结构的态势推演系统分析和设计过程。

二、基于SEV的推演系统结构

根据SEV的体系结构特征,结合分布式交互系统的事务、总线结构和跨平台性等特点,可以设计出态势推演系统基于分布式交互系统的软件体系结构。

在该结构中,State Server、Control Client和Control Server是SEV中的Engine引擎部分,对推演的动态数据进行内部控制,接收客户请求,实现推演的同步控制。Data Server是SEV中的Service服务部分,为态势推演提供静态数据。State Server根据控制要求向View发送图形显示要求,从而实现态势数据的模拟推演过程。

三、某无人机飞行任务态势推演系统的开发实例

下面以某无人机飞行任务规划推演为例进行简要的系统分析设计,来说明SEV体系结构的应用。

(一)需求

在无人机飞行演练之前,用户利用选定的计划方案,通过该系统对活动方案数据进行动态演绎和展示,以模拟出方案实施的过程和可能的结果,辅助组织者确立行动间协同的要点,并最终定下实施方案。态势推演系统能够以态势图、行动矩阵、滚动信息的形式动态表现活动的实施过程。在推演进行过程中,模拟推演过程可以根据需要进行控制,态势图形能实时展示对推演过程的控制效果,用例图见图2。

态势推演用例图体现了态势推演系统的功能需求,有6个Use Case,分别为:1.推演数据准备:为模拟推演准备数据。2.推演方案制定:推演用户制定无人机飞行的行动方案,是推演数据的一部分。3.推演行动选择:拟推演活动的计划和推演元素的行动过程。4.矩阵显示:推演过程的矩阵显示。5.文字滚动条:用文字滚动信息的方式展现推演过程中的关键信息。6.态势显示:推演过程中的态势图显示。态势推演就是推演用户进行2个部分的工作,一是推演数据的准备,即首先制定推演行动方案,并将其输入推演系统,然后选择推演行动数据;二是进行模拟推演,该过程是推演用户对推演行动选择的数据进行推演过程控制,即推演进程控制。

(二)分析与设计

1.态势推演系统的静态结构(Service)。

在整个系统中,数据服务类完成了对各种数据库的接口,实现了数据准备、计划分析、数据处理等功能,如图3所示。Data Server类负责转发分布式交互系统与DataServe_impl之间的对象调用;DataServe_impl类是数据服务的核心实现类,提供所有数据处理和数据访问的接口;ActionDataServer类是行动数据库访问接口类,负责处理各种数据;CommonDataServer类是负责提供访问公共数据库的接口。

态势服务类是态势推演系统的图形显示实现类。在该类控制下,调用数据服务的接口获取数据,向第三方图形显示软件发送数据,以图形方式动态展现计划数据,如图4。其中,SimulationClient、ControlServer和DataServer是本地对象,负责实现基于分布式交互系统的客户端服务对象。GeStateClient_impl类是态势服务向外提供态势服务控制的接口。SimActionRender类是态势服务中播放模拟行动的行动轨迹和轨迹点的模拟线程类,一个模拟行动对应一个SimActionRender线程。StateRender类是态势服务的图形显示类。StateBalancer类负责控制发送报文的最小间隔时间。

控制服务类是推演同步控制的主模块。其根据控制客户的指令,基于分布式交互系统对象注册与回调机制,控制已注册态势服务的推演进程和速率,以实现推演态势按照客户控制要求进行模拟展示,如图5所示。其中,ControlServer是分布式交互系统框架类,其包含的虚操作由ControlServer_impl实现。SimulationClientInfo类是封装了模拟客户对象引用和模拟客户注册信息等内容。SimulationClient类是模拟客户类。SimulationStatus类是封装了推演进度和速率的相关状态信息。

2.态势推演系统的动态流程(Engine和View)。

态势推演系统动态流程由态势数据访问、态势服务注册、态势推演控制、态势推演图形显示4个主要流程组成。态势推演系统动态流程的时序图见图6。

用户调用GetSchemeList()获取某综合计划制定的所有推演方案,对态势数据进行访问。用户调用ClientRegister()方法来进行态势服务注册,同时调用GetClientList()和ClientUnRegister()来实现对推演客户的控制和管理。态势推演的控制包括初始化推演状态、清除状态、设置状态和服务状态检测。初始化推演状态通过调用InitSimulationStatus()和ReadyToPlay()来完成。清除推演状态调用ClearStatus()方法。设置状态调用ControlServer_impl类的相应方法来实现。服务状态检测调用Ping()方法来测试推演服务状态。控制服务在接受到控制客户的各种控制命令后,依次调用已注册态势服务的SetSimulationStatus()方法,以改变态势服务的推演进度和速度,进行态势推演图形显示。

(三)运行

态势推演系统按照以下步骤启动和设定后,就可以进行方案模拟推演。系统启动,态势推演系统有三个服务程序:数据服务、控制服务和态势服务;其中态势服务必须在数据服务和控制服务都已经启动的情况下才可以启动;导入飞行计划,并制定活动方案;启动控制客户端软件,选择不同的方案进行模拟推演;在推演用户的控制下,进行图形显示模拟。

四、结束语

本文采用能区分静态数据和动态数据的SEV软件体系结构,以某无人机飞行任务态势推演系统为例,简要而有效地说明了基于SEV体系结构的态势推演系统的设计和开发过程,虽然本文以某无人机飞行任务态势推演为背景,具有一定的局限性,但是对开发类似环境下的交互式系统具有一定的借鉴和参考价值。

参考文献:

[1]Grady Booch,James Rumbaugh,Ivar Jacobson.UML用户指南[M].北京:人民邮电出版社,2006,6

[2]Mary Shaw,David Garlan.软件体系结构.清华大学出版社,2007,3

[3]黄儿松,朱隆尹.几种软件体系结构的比较研究.科技广场,2006,1,1

[4]何然.软件体系结构的研究及其在MIS系统中的应用.大连理工大学,2003,2,9

上一篇:基于Moodle的网络教学模式构建与使用 下一篇:基于UML的面向对象系统测试环境设计