构件化的航天用数据传输处理系统构建论文
1 引 言
软件复用是指重复使用为避免重复开发同样或类似工作产品的过程[1].作为一种摆脱软件危机的手段,它能够有效克服软件开发中经常出现的开发效率低、费用高、开发周期长、系统难以维护、软件质量难以保证等问题[2].
随着对软件复用实践的深入,构件技术得到飞速发展[3].软件构件技术是支持软件复用的核心技术[4],构件通过接口与外界交互,可通过相同接口构件替换原有构件[5].这种方式彻底颠覆了手工作坊式的软件开发模式,给软件开发人员在设计、编码等方面了带来了很大的灵活度,正在成为软件设计领域新的趋势[6].
在航天测控领域,测控应用软件复用技术的研究历来受到关注和重视。随着载人航天工程、探月工程的不断深入,我国航天测控网不断有新的测控设备投入使用[7].而航天测控站数据传输处理系统是各测控设备不可或缺的一个分系统,它承担着与测控中心之间的信息交换及部分信息处理任务,如何提高该软件系统的开发效率,提高软件质量,缩短软件开发周期,减小软件的维护成本,是我们面临的一个重要课题。
本文基于 Windows 系统,采用软件总线模型层次化设备模型,构建了一个构件化的数据传输处理系统实例,实现了该领域内软件的二进制复用,提高了系统的可靠性和软件的开发效率。
2 数据传输处理系统任务
航天测控系统由测控中心、测控站、通信系统等组成[8].数据传输处理系统是航天测控网的基本节点,主要完成与测控设备通信、与中心的数据通信、实时数据处理和事后处理功能。
(1) 与测控设备通信
数据传输处理系统与测控设备之间通过通信接口部件(以太网、多路通信板、CCP 或专用接口) 连接,在相关的协议支配下进行通信: 向设备发送上行遥控信息、轨道预报信息,接收设备解调的遥测信息、测量信息等。
(2) 与中心的数据通信
数据传输处理系统与中心的数据通信一般使用多路通信板或网络方式进行通信,采用简化 HDLC规程或 TCP/IP 协议作为通信协议。实时向中心发送设备的测量信息、控制结果信息等,接收并转发中心发送的遥控指令以及轨道预报。
(3) 实时数据处理
主要包括遥测挑点处理、外测数据处理以及控制量计算三部分。
(4) 事后处理
事后处理是指在任务跟踪结束后对实时记录测量和控制数据进行处理,包括显示、打印和重发以及数据的精度分析等。
3 需求分析
3. 1 角色识别
通过对航天测控站数据传输处理系统的任务进行分析,可识别出操作员、中心、各设备分机、双工控制台、时统设备、模拟器等 10 类角色,经过抽象,划分为操作员、网络用户、HDLC 用户、串口用户、站时统 5 类用户。
3. 2 功能需求
根据数据传输处理系统承担的任务,分析后将系统抽象为如下用例模型[9],如图 1 所示。
3. 3 系统约束
当前比较成熟的构件模型主要有 Microsoft 公司的 COM/DCOM/COM + 、SUN 公司的 JavaBeans/EJB 和 OMG(Object Management Group) 的 CORBA,这些技术相对比较复杂,程序不易理解。航天测控站数据传输处理系统的设计基于Windows 系统,要充分复用已有的软件资源,在对现有功能模块进行重构的基础上,开发设计基于构件技术的体系架构,实现二进制级别的软件复用,提高系统的可靠性,减少软件的重复开发,实现多设备之间软件版本的统一。
4 构件化设计及实现
4. 1 系统体系结构设计
按照体系结构权衡分析方法(Architecture Trade- off Analysis Method,ATAM)[10],综合目前常用的系统体系结构风格[11],结合构件化方法,数据传输处理系统采用层次模型和软件总线模型相结合的风格,该模型结构如图 2 所示。
在系统底层,将与通信有关的部分软件部件设计为层次结构,包含服务程序、通信接口、通信程序3 层。在系统上层,设计为软件总线结构,总线中包含系统任务信息、计划信息、主备机信息、系统路由信息、各软件部件的信息描述、各软件部件的命令接口以及命令接口描述、系统内部动态数据信息。在系统中,各处理部件将自己的信息描述、命令接口描述以及命令接口注册到系统总线上,同时向总线申请本软件部件要处理的数据以及对应数据的接收地址,系统总线负责在系统动态数据中查找各个软件部件注册的.信息,并按要求向对应的地址发送。各软件部件处理完毕后,如果要产生结果数据,则将数据发送到系统总线上。
4. 2 系统的通信机制
系统设计了专门的通信区域作为进程间通信的手段。通信区域采用 Windows 的内存映射文件传送数据、利用事件同步数据的发送与接收、利用环形队列缓冲数据的"进程 - 进程"之间高速单方向通信的机制[12 -13].对每个通信区域定义区域名称、地址标识、区域长度、缓冲区个数等信息,并且与唯一的一个接收者相关联。通信区域有一个接收者,但可以有多个发送者。对于使用者来说,只需要知道某个通信区域的去向即可,不必了解数据传输的任何细节,所有实现的细节都已经被封装。
4. 3 系统容器和运行机理
系统设计了一个控制程序负责处理其他构件的加载、卸载以及管理、配置工作。系统通过信息处理构件(系统数据总线) 向外与其他构件进行信息交换,该构件预定义了一个命令接口和一个数据接口: 通过命令接口接收其他构件的注册或注销命令,按照其他构件注册信息的类别,将所注册信息发送给定的地址; 通过数据接口接收系统内部的动态信息。
其他处理构件向信息处理构件注册自己关心的信息,并从给定的地址接收信息,处理后,发送到信息处理构件数据接口。系统的信息流转方式参见图3.
4. 4 信息注册
在系统数据总线上,构件使用两种注册机制---静态注册和动态注册。
(1) 静态注册
静态注册在控制程序运行前进行。通过预先定义好描述的方式,将自身的信息写入系统描述表,包括可执行文件名称、运行路径、命令接口地址等,控制程序运行时自动加载该描述表。
(2) 动态注册
在控制程序运行后向控制程序动态注册,包括可执行文件名称、运行路径、命令接口地址等信息。
4. 5 构件化设计
通过对系统进行分析,按照构件抽取理论,从数据传输处理系统抽取出数据平滑、外测数据处理、系统框架、双工控制、信息管理、轨道预报、数据比对等系列构件。按照构件的运行特点和功能,将构件设计为可执行程序和动态链接库两种形式。
(1) 可执行程序形式
将网络通信、HDLC 通信、串口通信、时间管理、遥控处理、章动控制、姿章联控、双工控制、数据服务等设计为可执行程序(进程) ,这种形式的程序只要符合系统的调用规范,可以随时加入系统。
(2) 动态链接库形式
将中心多项式平滑、轨道预报、数据比对、数据通信区设计为动态链接库 (DLL) 形式。其中Dtes. exe + FrameWork. dll 为整个系统的容器,负责创建和管理其他进程---时间服务、网络服务、串口服务、CCP 服务、通信管理、数据存储、外测处理、数字引导、轨道预报、系统双工处理等,而这些构件基于 Dt-esBase. dll、MemArea. dll、OrbitForcast. dll、Encrypt. dll等动态链接库构件运行。系统部署图[14]见图4.
5 结束语
本文针对测控软件开发中存在复用性差的问题,提出了构件化设计的理念,提出并实现了构件化设计、软件总线体系结构、层次化的虚拟设备、数据注册注销机制,并在 Windows 平台上开发设计了一种测控站数据传输处理软件系统实例。这种方法与模块复用相比,实现了业务功能构件的动态组装,和商业化的组件技术相比,框架简单,容易理解和开发。该系统已经部署在数十套不同类型的测控设备上,参加了数十次大型试验任务,实践证明,该方法具有下列优点:(1) 采用构件化技术,结合软件总线模型体系结构,设计实现了测控站数据传输处理系统的可复用构件库和统一的通信调用接口,提高了系统的可裁剪性、可扩充性;(2) 以构件单元进行组装和复用,提高了软件的复用程度,降低了软件的生产维护成本,加快了软件的开发速度,增强了系统的可靠性;(3) 采用内存映射文件技术,结合数据注册机制,解决了系统连接构件设计实现的难点,使得系统内部信息流转和交换更加方便灵活。
参考文献:
[1] 史浩辉,何炜。 基于构件的指控软件复用[J]. 计算机技术与发展,2011,2l(2) : 160 -165.
【构件化的航天用数据传输处理系统构建论文】相关文章:
高校教材管理人性化构建论文05-26
中学语文生态化课堂的构建论文06-09
《楼宇智能化技术》课程实训室的构建论文12-13
浅谈高校网络化数字化教学平台的构建论文10-28
基于GIS技术的水利信息化系统构建论文11-28
构建小学数学课堂立体化教学论文05-26
网络的高校多元化招生宣传平台的构建论文02-05
SiC陶瓷在航天器高温结构件研制中的应用10-03
构建大学物理多元立体化教学模式论文11-01