何熊文 詹盼盼 徐明伟 顾明 程博文 齐征 阎冬 朱剑冰 杨丽君
(1 北京空间飞行器总体设计部,北京 100094)(2 清华大学 计算机科学与技术系,北京 100084)
未来空间任务的发展对航天器的网络化、智能化提出了更高的要求,航天器需要具备器地、器间、器内一体化组网的能力,并为用户提供更多更好的智能化服务。这些需求导致航天器软件的功能大幅增加,其复杂度大幅提升,需要开发与之配套的航天器通用软件体系结构以降低复杂度,提升重用率和提高开发效率。
以国际空间数据系统咨询委员会(CCSDS)、欧洲空间标准化组织(ECSS)为主的国际空间标准化组织,在空间网络器内、器间、器地通信过程的标准化方面做了大量的工作,力求提高航天器的组网通信能力。同时,地面互联网工程指导组(IETF)的相关标准也开始应用于空间。与组网通信相关的标准协议涉及到几十种,其层次划分结构、相关接口并不统一,如何融合形成统一的空间数据系统体系结构,已成为一个世界性难题,为此,CCSDS设立了专门的系统体系结构工作组,至今仍在开展研究。在与协议配套的航天器软件体系结构方面,由于与航天器需求、接口和协议、硬件息息相关,长期处于定制开发状态,目前尚缺乏很完备的统一可重用软件体系结构,NASA和ESA均为此作了大量的努力,但仍未从根本上解决问题。NASA和ESA于2015年在CCSDS立项了2份空间数据系统软件体系结构橘皮书(即试验性规范):①NASA主导的橘皮书《作为CCSDS星载参考体系结构的NASA cFS飞行软件》,目前仍处于编写阶段,尚未有初稿;②ESA主导的橘皮书《作为CCSDS星载参考体系结构的ESA SAVIOR飞行软件》,由于没有完成工程实现最终放弃。
20世纪80年代以来,中国开始对CCSDS标准建议书进行了一系列的研究,并积极参与CCSDS相关工作。中国空间技术研究院(CAST)、中国科学院国家空间科学中心(NSSC)和北京跟踪与通信技术研究所作为CCSDS观察员组织,针对标准开展了大量研究,并在所研制航天器系统中推广应用;清华大学、南京大学、哈尔滨工业大学等高校也积极开展CCSDS标准研究工作。其中,CAST在空间数据系统协议体系结构和软件体系结构方面开展了长期的研究、技术攻关和验证工作,于2015年在CCSDS工作组会议上进行报告后引起国际高度关注,并受邀制定中国首份CCSDS标准建议书(橘皮书)——《作为CCSDS星载参考体系结构的CAST飞行软件》[1]。该项橘皮书的编制历时6年,在2016年提交初稿后经过工作组多次讨论、CCSDS工程指导组(CESG)投票、CCSDS管理委员会(CMC)投票等过程,在2021年11月正式发布。为了能够为中国相关专家后续编写CCSDS标准建议书提供参考,本文总结了该CCSDS橘皮书编制及应用情况,并给出编制的启示。
CCSDS成立于1982年,是国际上最权威的空间数据系统相关标准制定机构,其制定了400余份标准建议书,已在全世界超过1000个航天器中应用。CCSDS的研究范畴包含空间网络互联业务(SIS)、空间链路业务(SLS)、航天器接口业务(SOIS)、任务操作和信息管理业务(MOIMS)、交互支持业务(CSS)、系统工程(SE)共6个技术领域,如图1所示[2]。其研究的成果主要以标准建议书的形式呈现,具体包括白皮书(原始草稿)、红皮书(评审稿)、蓝皮书(推荐标准)、绿皮书(原理性说明等)、黄皮书(记录文件)、紫皮书(推荐实践稿)、橘皮书(试验规范)、银皮书(过时文件)等。
图1 CCSDS技术领域
由于各领域独立开展工作,其制定的标准建议书相互之间可能会出现不协调的情况,需要SE领域进行统一协调。目前,SE领域正在制定空间数据系统体系结构相关标准,以理清各领域之间的关系,尤其是SOIS领域与MOIMS领域、SLS领域、SIS领域的接口关系。在上述背景下,中国的CCSDS橘皮书重点说明SOIS领域与SLS领域和SIS领域各业务及协议之间的接口关系,以及在工程中如何与实际系统应用相结合。
编制一份CCSDS标准建议书,不同于编写通常的技术报告文档。橘皮书作为国际组织的实践指导标准,偏重于提供协议和业务的实现、验证、应用情况,但并不是直接罗列相关业务、协议的设计实现具体方案或研制流程。编制橘皮书的指导思想和期望目标,是通过总结实践过程和经验给出一种成功的实施实例,更进一步分析、验证CCSDS相关业务和协议体系的合理性、必要性、有效性、可操作性及应用价值;提出业务之间的关系和接口设计,以及在实际系统、设备中落实方法等核心关键,以起到指导CCSDS相关领域深化演进和工程实践、解答专业难点的作用。
经过反复研究、讨论、提炼,编制组最终确定以下编制原则和方法。①对体系结构清晰简明展示,给出整体、直观、结构化的介绍,而不过多描述内部设计和研制过程。②对核心关键问题重点分析说明,突出关键机制和核心关系,解释清楚技术路线和难点解决方法。③以实现和应用的典型示例,使标准建议书使用者既容易理解体系结构的工作原理,又方便理解工程实现和应用方法。在上述编制原则指导下,最终确定了橘皮书前述的主要内容,即重点说明SOIS领域与其他领域之间的关系、SOIS领域各业务之间的关系、与硬件设备的关系这3个核心关系问题。
橘皮书的章节结构,既符合CCSDS标准建议书体例,又体现了编制指导思想,重点突出核心关键。正文共分为7个部分,分别为:①介绍。包括目的、范围、术语,结构说明、参考文献。②CAST飞行软件体系结构概述。对背景、基本分层结构和接口进行整体说明。③业务和协议标准的选择与整合。说明该体系结构中选择和整合的标准和业务,包括需求与组合关系,以及SOIS与包应用标准(PUS)、SIS协议、SLS协议的关系。④SOIS各业务之间的联系。提出命名机制和主要业务关系及寻址机制,建立各层业务及协议之间的关联。这部分是本橘皮书的关键内容。⑤SOIS与硬件间的接口。对综合电子系统硬件节点对象进行分析,分别说明智能节点、简单智能节点、非智能节点的访问方法。⑥SOIS电子数据表单(SEDS)的应用。说明SEDS在体系结构中的应用,并提供典型示例。⑦应用业务和协议标准带来的好处。介绍试验验证情况,总结标准化、灵活性、扩展性和可靠性方面的提升效果。另外,附录包括CCSDS标准建议书原语实现的过程和方法实例、缩略语、SEDS描述参数和SEDS描述接口。
橘皮书核心内容为CAST飞行软件业务和协议体系结构,以及与它们配套的软件体系结构“伏羲”。其中,业务和协议体系结构如图2所示。该体系结构设计是通过对多领域航天器综合电子系统需求进行综合分析,对CCSDS和ECSS等相关协议进行选择后给出的,其关键在于各不同领域不同业务和协议之间如何进行交互,其命名和编址机制如何设计等。
注:UDP为用户数据报协议;IPoC为IP通过CCSDS;AOS为高级在轨系统;COP-1为命令操作规程-1;DS为串行数字量;ML为存储器加载。
与业务和协议体系结构配套的软件体系结构的设计要点如下。
(1)分层。通过分层,将复杂问题分解到具体的层次中处理,使之简单化。建立一个分层的体系结构,对各层的业务及业务接口进行标准化。这样,一方面屏蔽底层硬件接口和协议变化带来的影响,使得单层的变化不影响其他层,并支持技术的升级换代;另一方面,将一些通用的功能采用标准的业务实现,以提高软件的可重用性。
(2)操作系统接口标准化和驱动程序统一框架。为了支持不同操作系统的更换,CAST飞行软件体系结构采用标准化的操作系统接口,制定设备驱动程序框架,支持综合电子系统各种不同设备类型接口的驱动,并具备可扩展能力,使得软件能适应不同的设备控制需求。
(3)统一的信息传输机制。基于CCSDS,ECSS,IETF部分协议建立统一的信息传输机制,实现器地、器内、器间通信一体化及标准化设计,支持协议的变更和升级,支持上层应用的灵活信息传输。
(4)标准化的构件及构件接口。定义标准化的构件及构件接口,将标准的业务及协议采用软件构件实现,使得新任务软件的开发可以通过组装标准化的构件及任务特殊需求构件达到软件快速开发的目的,从而缩短软件研制周期。在业务及协议构件的设计时,必须要考虑不同项目的不同需求,尽量将项目的共性需求抽象出来,并识别项目的个性需求,采用参数化的设计将其隔离,提高软件构件的灵活性和可重用性。
设计完成的软件体系结构如图3所示。
注:API为应用程序编程接口;BSP为板级支持包;CPU为中央处理单元;ROM为只读存储器;RAM为随机访问存储器;AN为模拟量;ONOFF为开关命令;TTE为时间触发以太网。
橘皮书中提出的体系结构目前已开始在遥感、载人、导航等领域中应用。在某遥感卫星中,经需求分析,通过CCSDS和ECSS等标准业务及协议的选型,确定本卫星采用哪些业务和协议,形成适合本卫星的协议体系结构,将体系结构中标准化的软件构件功能对标该卫星的遥控、遥测、校时、总线、热控、能源等功能需求和特定的自主任务管理等需求,对CAST飞行软件体系结构进行裁剪、组装和适配,形成符合本卫星需求的软件体系结构,进一步明确了需要根据卫星特点进行额外定制开发的软件构件。软件体系结构的应用过程为:以分层结构为基础,在亚网层-空间子网,选用AOS空间数据链路协议[3]、遥控空间数据链路协议[4]构件满足上行帧解析和下行帧组装调度的需求;在亚网层-星载子网,选用包业务[5]构件、存储器访问业务[6]构件、同步业务[7]构件,定制开发内总线和CAN总线链路协议构件及驱动,以满足飞行软件与航天器内其他设备通信的需求;在传递层,选用空间包协议[8]满足空间包路由转发的需求;在应用支持层,选用消息传输业务[9]、命令与数据获取业务[10-12]、时间访问业务[13]和ESA制定的PUS[14]业务等软件构件满足空间包的协议跨层传输、航天器内指令分发、数据采集和时间访问的需求;在应用管理层,选用遥控、遥测、热控和能源等管理业务满足用户应用数据的处理需求。与此同时,通过选用PUS业务软件构件和定制开发自主任务管理构件,满足卫星自主任务管理的需求。经统计,遥感卫星中一共选用了33个业务及协议软件构件进行配置,定制开发了7个软件构件,软件代码重复利用率达到70%(大部分功能均通过软件体系结构已有构件进行配置完成)。此外,在标准的业务、协议、接口支持下,实现了软件体系结构对本卫星软件的通用支持和从传统软件开发模式向基于软件体系结构和软件构件的组装开发模式的转变。
除了在遥感领域的成功应用之外,在载人、导航等领域的航天器中也开始了橘皮书体系结构的应用。项目团队负责了协议体系和软件体系结构设计,设计中继承和延续了CCSDS橘皮书中的设计理念和方法,使用CCSDS,ECSS,IETF相融合的标准体系进行选择和优化,以软件构件的形式实现相关的协议标准,再通过高效的软件构件之间的接口完成数据信息和控制信息的传输交互。
橘皮书体系结构通过在层次化的结构中实现标准的业务,构建了航天器综合电子系统通用的软件框架和基础服务平台。在标准的业务、协议、接口关系支持下,实现对航天器飞行软件的通用支持,可应用于未来大多数航天器,为智能化和网络化应用提供支撑。该体系结构的应用,能够避免大量重复的设计、实现、测试工作,在便利地满足空间任务需求的同时有效降低成本和风险。
由于应用了CCSDS的大量业务和协议并将其采用软件构件的方式予以实现,飞行软件的整个开发模式将发生根本性的变革,从传统模式转化为基于软件体系结构和软件构件的组装开发模式,大幅提高软件开发效率,提升软件的可靠性。后续推广应用主要体现在以下几个方面。
(1)系统设计阶段。重点根据不同航天器在协议、总线、业务、硬件配置方面的特殊需求,从橘皮书中推荐的业务和协议体系结构中选择所需的业务及协议,并且按需进行参数配置,必要时提出航天器专用的业务及协议。该阶段由于使用了CCSDS的业务和协议,可减少通用功能的设计活动,使得系统设计更聚焦于特殊需求相关的内容。
(2)软件研制阶段。基于橘皮书提出的软件体系结构,在设计开发及使用过程中,主要的工作从软件程序的设计、更改转变为对各项标准业务构件参数的设计和配置。每项CCSDS业务都包含大量对属性和运行规则的描述参数。在全局命名规则的统一设定下,根据飞行软件的功能需求、硬件环境和设备与用户对象等的属性和要求,对各项通用软件构件及专用软件构件进行组装和配置初始化参数,并在软件构件组装及仿真验证工具的支持下,对系统的信息流、性能进行仿真,必要时修改构件的参数配置及连接关系。由于设计基于标准化的体系结构,用户重点关注标准软件构件的参数配置及组装,而无需进行重复的软件设计,通过分层及对标准业务和协议的重复使用,还可降低系统验证的复杂度,并持续提升可靠性。此外,由于已经将CCSDS标准业务和协议通过软件构件实现,且其能通过组合满足不同的需求,因此用户可以重复使用已有的软件构件,只需要开发航天器特殊需求相关的少量软件构件即可。
(3)软件测试阶段。可以复用橘皮书所提构件对应的测试用例,只需要设计航天器特殊需求对应的测试用例即可,而且继承复用的软件构件内部测试项目可以不重复进行,测试工作量大为减少。
(4)软件维护阶段。由于采用了分层的体系结构,不同层应用了标准的业务、协议,当需要更换某一种业务或协议时,只需要将其对应的软件构件进行替换即可,对其他层不会造成影响,从而可以方便地对软件进行升级维护。
中国首份CCSDS橘皮书是CAST总体设计部项目团队进行攻关多年后总结形成的成果。项目团队提出了空间和星内一体化网络协议体系结构,以及与之配套的灵活而统一的全新飞行软件体系结构“伏羲”,研究并实现了42种业务和协议软件构件,为编制CCSDS国际标准奠定了深厚的技术基础。
橘皮书对协议体系结构以及软件体系结构进行了详细阐述,弥补了原有CCSDS SOIS参考体系结构的缺陷,解决了CCSDS各领域间各层难以接通和融合的工程化应用问题,整合了空间通信与星载通信的国际国内先进标准,通过采用统一的星载网络对象寻址命名机制、标准化通信接口、通用通信服务机制等技术方法,建立了支持天地一体化网络环境的统一的信息网络服务机制,为航天器智能化和网络化提供了重要技术支撑。
20世纪80年代末CAST的总体设计部部分专家开始接触CCSDS,空间数据系统团队逐步开始学习、研究和应用国际先进标准体系,形成了大量的研究成果和工程经验。例如:CAST已在大部分航天器中应用了AOS、遥控和空间包协议(SPP)等协议,在火星环绕器和火星车之间应用了邻近空间链路协议(Proximity-1),在载人航天器中应用了IPoC[15]。在应用过程中逐渐从与国际同行的跟跑到并驾齐驱,甚至部分研究成果已经实现反超。例如:团队整合了CCSDS定义的遥控、AOS、SOIS、SPP、AMS[16],以及ESA制定的PUS、时分复用1553B总线协议、UDP/IP、IPoC、TTE[17]等多种航天器协议,建立了统一空间子网与星载子网的分层次信息服务机制及协议体系结构,在国际上率先提出了SOIS的完整合理的工程实现方法,解决了CCSDS目前尚未解决的其他标准与SOIS接口、SOIS各业务间接口、SOIS与硬件接口等难题。
航天强国的实现并不只是在于自己闭门造车搞研究提升技术水平,也在于在国际航天业内的影响力和话语权。项目团队深知这一点,从2015年起,团队多位核心成员通过电话会议和现场参会探讨等方式广泛深入参与CCSDS等国际组织的技术研讨,在保护核心知识产权的基础上,将协议体系结构及软件体系结构的设计思路和理念与国际同行进行深入交流。中国航天工作者深入的专业研究和敬业的工作精神得到了国际同行的高度认可。
从研究工作成果和经验提炼转化为国际标准,需要结合标准的类型特点和任务要求,对标准的作用和目的有自己的分析和定位,形成明确的指导思想和编制原则。所编制标准能否达到预期的价值和效果,关键在于对已有技术攻关成果经验的总结提炼,明确在标准中需要展示表达的核心内容和技术脉络。一方面,需要围绕本技术领域的核心重点、困惑难点梳理具有共性、需要指导、可标准化的问题及解决方法;另一方面,从自身工作中提炼关键、具有特色、可供指导借鉴的技术内容,在设计好的结构框架下针对性介绍。此外,还要注意符合保密要求。在橘皮书的编制中,经过深入研究和反复论证,项目团队提出了明确的大纲和方案,针对业界关注的各标准业务接口问题,抓住关键难点,重点说明SOIS与其他业务之间关系、SOIS各业务之间的关系、与硬件设备的关系这3个核心问题,从而取得了较好的效果。
CCSDS标准建议书的编制过程相对较长,从意向提出到正式发布往往要持续数年。在橘皮书的编制过程中,项目团队持续深化研究工作,积极与国际同行交流并表达自己主张,在SOIS领域工作与标准建议书编制之间形成良性互动,不但推动标准的进展,而且在国际上提出中国的建议,进一步提升了地位和话语权。
橘皮书的形成,历经大纲讨论、项目立项、人员选择、内容编写、中英翻译、国内专家评审把关、CCSDS工作组评审把关、CCSDS首席编辑把关、CCSDS CESG和CMC审查等过程。确保标准的质量贯穿于以上每个环节,以下对几个重要的方面进行说明。
(1)立项时机成熟,项目论证充分。橘皮书立项时,该参考体系结构已由项目团队研发5年,并研制完成了原理样机,因此立项时充分讨论了该橘皮书的必要性、可行性、用途、技术领域范围、技术成熟度及相关性。
(2)重视标准编制,人员严细选择。项目团队均为资深飞行软件研发人员,具备丰富的专业知识、工程经验及标准编制经验,项目团队曾分别编制我国国标、国军标等并悉知相关法规文件规定。
(3)严格审查把关,落实审查意见。橘皮书从立项到发布经过多次CCSDS工作组研讨、国内专家(中国航天标准化研究所组织)等严格把关审查,对标准内容、格式、技术问题依据、完整性、协调性、英文的准确性等进行认真、严格、充分的审查,并对汇总意见处理进行了重点审查。
中国首份CCSDS橘皮书的编制过程虽然艰辛,但最终在项目团队的共同努力下得以正式发布。这也标志着中国在CCSDS的角色由观察者向标准的主导制定者转变迈出了关键性的一步。以该CCSDS橘皮书的发布为契机,后续可在航天器中进一步推广应用橘皮书中的先进体系结构,提升航天器的功能性能,推动不同领域航天器互联互通以提升整体应用效能。另外,可针对CCSDS SOIS领域目前已有建议书的不足,进一步主导制定新的或者修订已有的标准建议书。
致谢
橘皮书的编制得到了中国空间技术研究院总体设计部赵和平研究员、谭维炽研究员、刘崇华研究员、郭坚研究员、孙勇研究员在技术上的指导和支持,得到了北京跟踪与通信技术研究所陈运军研究员、中国科学院国家空间科学中心黄永辉研究员和吕良庆研究员在编制内容上的建议,得到了中国空间技术研究院总体设计部刁伟明老师、中国航天标准化研究所周玉霞研究员在标准化方面的支持,在此一并表示感谢。