10.3.5 综合化软件系统
航天型号硬件平台集成化程度越来越高,软件的功能密度也在不断增长,同时可定制性、可演化的要求越来越高。当前自身实践以及NASA相关技术路线均指向同一解决思路,就是通过高度综合化的分层软件架构来隔离不同底层平台的差异,对业务逻辑进行抽象与封装,形成具有良好扩展性和维护性的嵌入式软件框架,进而极大简化软件的开发工作,降低各个子系统的耦合性和复杂度,从而在保证软件可靠性的前提下,降低软件开发难度,提高软件开发效率,保证型号研制进度。
基于开放式的软件体系架构,实现型号软件的快速重构;面向长期在轨的星、船可以建立航天器应用商店,研制出数量众多、功能丰富的应用程序组件;继而建立高弹性计算资源、存储资源、交换资源的调度与管理平台。涉及技术如下:
1)综合化嵌入式软件系统架构技术
研究嵌入式软件系统的抽象架构模型和去型号化方法,通过分层架构的设计,提高扩展性并降低耦合性;设计核心服务的标准应用程序接口,为不同功能模块开发标准中间件;突破基于参数配置的构件加载技术,提供灵活的软件部署方法;针对多核处理器平台的嵌入式软件,开发典型架构平台。
2)嵌入式软总线技术
研究航天实时嵌入式系统中数据发布、传递和接收的接口和行为标准,通过以数据为中心的发布/订阅通信模型,解决低延迟、高吞吐量、实时性能的控制级别等问题,实现通信双方时间、空间和数据通信的多维松耦合。设计轻量化、高实时、标准化的面向消息的中间件及软总线通信机制,并研究与之匹配的运行时发布/订阅模式,发送方和接收方不互相依赖;结合嵌入式软件系统机构,形成基于软总线标准接口规范,实现各软件构件可通过参数配置实现跨型号领域的应用。
3)基于操作系统抽象的跨平台技术
嵌入式软件系统架构需要适应不同的硬件平台和操作系统,开展硬件抽象层技术研究,对处理器及外设差异进行封装;对框架需要的操作系统API进行抽象与封装,实现对不同操作系统的兼容。
4)嵌入式软件系统快速重构技术
调研现有航天器嵌入式软件系统的重构需求,从软件重构加载方式、编译方式、重构颗粒度和重构开销等方面,开展软件重构技术研究。结合分层架构逐层封装机制,形成应用级、任务级、平台级不同粒度的重构;考虑重构的系统开销,形成动态重构和静态重构两种重构机制。
高度综合化嵌入式软件系统架构技术,实现了系统运行的灵活性和可配置性,可以有效提升硬件的利用率、改进算法的效能并适应功能数量的扩展,为“软件定义”技术提供平台和基础。