基于构件的运载器控制系统飞行软件框架研究

2017-07-21 05:13李兰兰
航天控制 2017年3期
关键词:框架构件

李兰兰 霍 宏 温 亚

北京航天自动控制研究所,北京100854

基于构件的运载器控制系统飞行软件框架研究

李兰兰 霍 宏 温 亚

北京航天自动控制研究所,北京100854

面对运载器控制系统飞行软件功能复杂、研制周期短的现状,如何保证软件质量,提高研制效率已成为当前的研究重点。本文在分析现有运载器控制系统飞行软件功能要求的基础上,从数据流和控制流两方面提出了基于构件的控制系统飞行软件框架,该框架采用分层控制体系结构模式,有效地提高了飞行软件的研制效率和质量。通过实际应用验证,该框架对控制系统飞行软件设计具有一定的实用价值和借鉴意义。 关键词 构件;框架;控制系统飞行软件

随着航天技术的快速发展,为了适应航天任务要求,运载器功能越来越复杂,控制系统飞行软件作为运载器的控制灵魂,是航天任务成败的关键,控制系统飞行软件规模和复杂程度急剧增加。面对研制周期短、质量要求高的现状,传统的软件设计方法已经不能满足控制系统飞行软件研制要求,为了提高控制系统飞行软件的可靠性和可扩展性,亟需研究一种通用的控制系统飞行软件框架以提高飞行软件开发的效率和质量。本文在分析现有控制系统飞行软件功能要求的基础上,提出了一种基于构件的可复用、可扩展的控制系统飞行软件框架设计方法,该方法在运载器控制系统飞行软件研制过程中具有一定的实用价值和借鉴意义。

1 控制系统飞行软件概述

在运载器控制系统领域中,飞行软件属于强实时嵌入式软件,主要完成运载器飞行过程中的导航、制导和姿态控制等周期性任务。运载器飞行过程分为多个飞行段,各飞行段之间的转级通过关机判断完成自动切换,以一定的周期控制指令的输出,完成各级飞行段的实时控制,使运载器按照指令稳定飞行,精确入轨。典型控制系统飞行软件采用“分段式+周期性”的运行模式,其运行的主流程如图1所示。

图1 典型控制系统飞行软件运行主流程图

2 控制系统飞行软件框架

软件框架是一种粗粒度的系统级软件复用,实现特定领域内目标任务的基础功能。目标任务的具体功能由软件开发人员按照框架提供的接口协议编写代码完成。根据控制系统飞行软件典型的运行模式,从数据流和控制流两方面提出基于构件的控制系统飞行软件框架能够有效地提高软件复用率,在“框架+构件”的软件架构中,软件开发人员可通过配置和增删构件,完成目标任务。

控制系统飞行软件框架体系结构如图2所示,框架体系结构包括主流程控制构件层、子流程控制构件层和功能构件层三部分。主流程控制构件层和子流程控制构件层实现控制系统飞行软件控制流设计,功能构件层实现控制系统飞行软件数据流设计。其中,主流程控制构件层主要完成子流程控制构件层所有控制构件的调度时序控制;子流程控制构件层主要完成各自负责子功能的调度时序控制、以及统一上下层的通讯接口;功能构件层主要完成具体的功能实现。基于构件的控制系统飞行软件框架采用“分层控制体系结构模式”,将系统的整个结构与单个构件的内部实现细节进行分离。每层包含一个或多个控制构件或功能构件,控制构件提供高层控制,包括调度各个功能构件并且决定各个功能构件的下一步动作,实现功能构件的生命周期管理。

图2 控制系统飞行软件框架体系结构

2.1 功能构件层设计方法

表1 功能构件与主流程对应关系

图3 功能构件之间的互连示意图

2.2 子流程控制构件层设计方法

子流程控制构件层封装了功能构件层的处理流程和控制逻辑,通过分析功能构件层的输入、输出和处理,设计调度相应功能构件的接口协议和调度算法。子流程控制构件层的“XX控制构件”调度功能构件层对应的功能构件,完成飞行软件的具体功能。子流程控制构件层封装了功能构件层的控制逻辑,由于各个运载器的具体功能要求存在差异性,如何实现定制可灵活配置的控制流程,是子流程控制构件层的核心任务。为了满足运载器的所有功能需求,子流程控制构件层设计具有可扩展性,子流程控制构件层是控制系统飞行软件框架是否满足通用化和可扩展要求的关键层,该层并不是具体功能的实现层,而是通过调度策略实现功能构件层具体构件的创建、运行和结束,进行功能构件层的生命周期管理。“XX控制构件”向软件开发人员提供相应功能构件的创建接口,根据接口信息,自动控制相应功能构件的运行,具体设计方法包括创建构件和控制运行过程两部分:

1)创建构件:注册功能构件的基本信息,包括:唯一标识名称、属性、依赖关系和过程调用接口,如表2所示。过程调用接口是“XX控制构件”和功能构件的连接器,形参是功能构件的当前运行状态,功能构件根据当前运行状态完成相应的功能。

2)控制运行过程:按照功能构件的属性和依赖关系,依次实现从“开始”到“结束”的状态转移控制,“结束”表示该功能构件完成任务,以后不再调用该功能构件。

表2 功能构件的注册信息表

2.3 主流程控制构件层设计方法

主流程控制构件层按照飞行软件的主任务流程调度子流程控制构件层的“XX控制构件”,完成子流程控制构件层所有控制构件的调度时序控制,实现飞行软件的主流程控制逻辑。一般情况下,运载器控制系统飞行软件的主流程控制构件层的设计是固定不变的。根据表1中的功能构件与主流程功能的对应关系,主流程控制构件层采用顺序方式调度“XX控制构件”,主流程控制构件层设计流程如图4所示。“XX控制构件”内部封装了每类控制的具体流程控制逻辑,仅向主流程控制构件层提供统一的过程调用接口,其中:(1),(4)和(9)均为“调用‘I/O流程控制构件’的过程调用接口”,分别实现输入信号采集及处理、输出控制和输出遥测;(2)和(6)均为“调用‘制导流程控制构件’的过程调用接口”,分别实现制导前台计算和制导后台计算;(3)和(7)均为“调用‘姿控流程控制构件’的过程调用接口”,分别实现姿控前台计算和姿控后台计算。主流程控制构件层主要完成I/O控制、制导控制、姿控控制、关机控制和遥测控制五类基础控制流程的调用,具体流程控制方法被封装在子流程控制构件层。

图4 主流程控制构件层设计流程

3 实例分析

结合某运载器系列控制系统功能要求,基于构件的控制系统飞行软件框架已得到工程应用。

1)主流程控制构件层依据图4进行设计,其中,I/O流程控制构件、制导流程控制构件、姿控流程控制构件、关机流程控制构件和遥测流程控制构件五类控制构件均以接口函数方式被调用。

2)子流程控制构件层设计过程:

①按照表1的功能构件和主流程功能的对应关系将功能构件分类,如表3所示;

②针对表1的每个主流程功能,在子流程控制构件层分别定义各自独立的功能构件注册信息表序列;

③通过填写功能构件注册信息表实现各个功能构件的互连和调度时序控制。

3)功能构件层各个功能构件之间的数据接口信息交互如图5所示,其中,遥测数据处理功能构件与其他功能构件均有数据交互。

当现有的功能构件可实现满足需求定义的所有功能时,则软件开发人员只须在子流程控制构件层定义并配置功能构件的注册信息表,即可完成整个软件的设计与实现;当需要根据任务要求增加其他功能时,可设计并实现独立的功能构件,然后根据框架子功能控制构件层提供的功能构件注册信息表,增加新功能。

表3 功能构件划分实例表

图5 功能构件层交互示意图

4 结论

结合运载器控制系统飞行软件的任务特点,通过提取共性需求,提出了基于构件的控制系统飞行软件框架。该框架采用分层控制体系结构模式,通过实际型号工程应用分析可知,该框架能够缩短控制系统飞行软件的研制周期,提高控制系统飞行软件的质量和重用率。基于构件的运载器控制系统飞行软件框架具有一定的通用性和扩展性,对控制系统飞行软件研制具有一定的借鉴意义和参考价值。

[1] [美]Hassan Gomaa. 彭鑫,吴毅坚,赵文耘, 等.译. 软件建模与设计[M]. 机械工业出版社,2016: 227-240.(Hassan Gomaa.Peng Xin,Wu Yijian, Zhao Wenyun,et al. Translation.Software Modeling & Design[M]. China Machine Press, 2016: 227-240.)

[2] 王云爽,刘堃,郑挺,等. 一种电子对抗行动控制应用软件框架研究[J]. 电子信息对抗技术,2014,29( 1):77-82.(Wang Yunshuang,Liu Kun,Zheng Ting,et al. Architecture of Application Software on Electronic Confrontation Action Control[J]. Electronic Information Warfare Technology,2014,29(1):77-82.)

[3] 路游, 纪连恩. 一种群组行为模拟绘制系统软件框架设计方法[J]. 计算机技术与发展,2013,23(4):79-82.(Lu You,Ji Lianen. A Design Method of Crowd Behavior Rendering System Software Framework[J]. Computer Technology and Development,2013,23(4):79-82.)

[4] 付纯鹤, 王君锋. 平台+插件式软件框架模型的研究[J]. 电子工业专用设备,2011,195(4):14-16.(Fu Chunhe,Wang Junfeng. Research on Software Architecture Module of Platform/Plug-in[J]. Equipment for Electronic Products Manufacturing,2011,195(4):14-16.)

[5] 吴锦龙,赵强,赵晓平.设计模式在有限元软件框架设计中的应用[J]. 计算机应用与软件,2011,28(4):215-221.(Wu Jinlong,Zhao Qiang,Zhao Xiaoping. Applying Design Pattern in Finite Element Software Framework Design[J]. Computer Applications and Software,2011,28(4):215-221.)

专稿 专人 专题

包为民院士、宋征宇院士曾为本刊创刊30周年时提供专稿文章,将自已在多年航天工作经历中积累的知识、经验、设想等和读者分享。

本刊特设“专稿”栏目,为在航天控制领域工作多年,经验丰富的专家、学者搭建一个平台,利用他们的学术创新带头示范作用和科研实践经验总结指导,从控制系统各领域基础理论延伸到工程试验可靠性操作等方面的独到见解,进一步展示出航天控制技术的博大精深,更深远地影响并提升期刊未来的稿件层次和方向。基于此,特长期诚邀航天控制系统各领域资深专家、学者、相关院士及各高校相关学术带头人等不吝为本刊“专稿”栏目投稿,期待您的高瞻远瞩不仅让更多的读者受益于专稿启奠,也为期刊的稿件质量和影响力丰羽填色!

Research on the Framework Based on Components for the Launch Vehicle Control System Flight Software

Li Lanlan, Huo Hong, Wen Ya

Beijing Aerospace Automatic Control Institute,Beijing 100854,China

Regardingthesituationoffunctioncomplicationanddevelopmentcycleshortageofthelaunchvehiclecontrolsystemflightsoftware,howtoguaranteethesoftwarequalityandimprovethedevelopmentefficiencybecomesahotspot.Duetotheanalysisofthefunctionrequirementofthelaunchvehiclecontrolsystemflightsoftware,theframeworkbasedoncomponentsforthelaunchvehiclecontrolsystemflightsoftwarefromthedataandthecontrolflowisproposedinthispaper.Thedevelopmentefficiencyandthequalityoftheflightsoftwarecanbeimprovedbyusingtheframeworkbasedonthelayeredcontrolarchitecture.Theframeworkisusedinpracticeandcanserveasreferenceforthedesignofthecontrolsystemflightsoftware.

Components;Framework;Controlsystemflightsoftware

2016-11-24

李兰兰(1982-),女,河南人,工程师,主要研究方向为嵌入式系统;霍 宏(1986-),女,黑龙江人,工程师,主要研究方向为嵌入式系统;温 亚(1984-),男,北京人,工程师,主要研究方向为嵌入式系统。

TP302

A

1006-3242(2017)03-0062-05

猜你喜欢
框架构件
框架
广义框架的不相交性
WTO框架下
建筑构件
建筑构件
建筑构件
建筑构件
建筑构件
建筑构件
关于原点对称的不规则Gabor框架的构造