技术领域
[0001] 本
发明主要涉及工控安全技术领域,尤其涉及一种空间飞行器控制
系统软件可信性评估方法。
背景技术
[0002] 当前
航天器的飞行任务越来越复杂,在轨寿命越来越长,大型航天器还要长期支持完成各项试验任务,使得软件系统在航天飞行器中所担任的任务越来越繁重,所扮演的
角色也越来越重要。在积极研发各类容错加固技术的同时,对控制系统软件的可信性评估也是极为重要的一环。
[0003] 空间飞行器控制系统软件具有实时性要求高、可靠性要求高、资源受限等特点,虽然目前业界存在几种对控制系统软件可信性的评估方法,但这些方法不能完全适应对空间飞行器控制系统软件进行评估的需求。
[0004] 因此,如何对具有实时性要求高、可靠性要求高、资源受限等特点的空间飞行器控制系统软件进行评估,以帮助提高空间飞行器系统软件的研制效率与
质量,是本领域亟需解决的技术问题。
发明内容
[0005] 为解决以上问题,本发明提出了空间飞行器控制系统软件可信性评估方法,通过确定软件的多个可信属性及其核心评估指标,再分别利用不同的方法计算出每项评估指标的评估值,最后加权计算得出软件的可信性评估结果。
[0006] 具体的,本发明提出了一种空间飞行器控制系统软件可信性评估方法,包括:
[0007] 可用性评估步骤,评估目标软件的功能完整性,并计算得到可用性评估值;
[0008] 可靠性评估步骤,评估所述目标软件的容错性、
稳定性和耦合性,并计算得到可靠性评估值;
[0009] 安全性评估步骤,评估所述目标软件的代码安全性,并计算得到安全性评估值;
[0010] 效率评估步骤,评估所述目标软件的时间性能和资源使用性能,并计算得到效率评估值;
[0011] 空间可维护性评估步骤,评估所述目标软件的可升级性,并计算得到空间可维护性评估值;
[0012] 可生存性评估步骤,评估所述目标软件的抗单粒子性、故障恢复性与系统可重构性,并计算得到可生存性评估值;
[0013] 可信性计算步骤,对所述可用性评估值、所述可靠性评估值、所述安全性评估值、所述效率评估值、所述空间可维护性评估值和所述可生存性评估值进行加权求和,计算得到所述目标软件的可信性评估值,以根据所述可信性评估值对所述目标软件进行可信性评估。
[0014] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述可用性评估步骤采用多级配置项与软件单元依赖追溯技术描述目标软件的依赖关系,并利用统计方法计算功能完整性评估值,以根据所述功能完整性评估值评估目标软件的功能完整性。
[0015] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述可用性评估步骤包括容错稳定性评估步骤和耦合性评估步骤。
[0016] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述容错稳定性评估步骤对目标软件进行
硬件组件与软件功能项的整体混合式建模,并利用概率形式化验证技术,分析计算目标软件的容错性与稳定性;所述耦合性评估步骤通过组件依赖关系图、控制流和数据流,分析计算评估各个软硬件组件间的耦合性。
[0017] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述安全性评估步骤采用基于源代码的抽象解释与模型检测技术,对功能代码的安全属性抽象到自动机模型的自动化转换,并通过模型检测与定理证明技术,评估目标软件的代码安全性。
[0018] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述效率评估步骤包括时间性能评估步骤和资源使用性能评估步骤。
[0019] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述时间性能评估步骤对目标软件进行时间自动机建模,利用模型检查评估时间性能。
[0020] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述资源使用性能评估步骤对目标软件进行代数模型转化结合可达性分析,评估资源使用性能。
[0021] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述空间可维护性评估步骤通过远程编程手段实施在轨
修改目标软件,以考核可修改的功能占比和模
块占比,以及可调节的变量占比。
[0022] 优选的,如上所述的空间飞行器控制系统软件可信性评估方法,所述可生存性评估步骤采用异常流图与异常状态迁移模型检查技术对目标软件由单粒子翻转产生的系统错误与相关恢复及仲裁模型进行检查,评估其抗单粒子性;采用故障与失效树分析,考核目标软件可承受的故障深度,以及恢复的完备性,以评估目标软件的故障恢复性与系统可重构性。
[0023] 本发明所述的空间飞行器控制系统软件可信性评估方法,具有如下有益效果:
[0024] 一、大量采用了形式化验证技术,并利用形式化工具进行自动验证,因此对控制系统软件的可信评估更为科学、有效。
[0025] 二、所有指标的分值均是通过对系统源代码、数据流和控制流的分析客观计算得到的,消除了专家打分的主观性和模拟测试的局限性,准确率高。
[0026] 三、只选择最必要且最重要的评估属性及其指标进行分析,因此各属性及其指标的权重相同,总分值的计算简单,更便于工程实现。
附图说明
[0027] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0028] 附图1示出了根据本发明
实施例的空间飞行器控制系统软件可信性评估方法的
流程图;
[0029] 附图2示出了根据本发明实施例的可靠性评估步骤的流程图
[0030] 附图3示出了根据本发明实施例的效率评估步骤的流程图;
[0031] 附图4示出了根据本发明实施例的一种软件实体质量评估模型的结构图。
具体实施方式
[0032] 下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0033] 如图1所示,本发明实施例提供了一种空间飞行器控制系统软件可信性评估方法100,所述方法包括如下步骤:
[0034] 可用性评估步骤110,评估目标软件的功能完整性,并计算得到可用性评估值。具体的,所述可用性评估步骤110采用多级配置项与软件单元依赖追溯技术描述目标软件的依赖关系,并利用统计方法计算功能完整性评估值,以根据所述功能完整性评估值评估目标软件的功能完整性,即通过功能的完整性追溯,可评估度量整体系统的功能
覆盖率,从需求、设计、实现与测试等多个角度对系统的可用性给出评价。
[0035] 可靠性评估步骤120,评估所述目标软件的容错性、稳定性和耦合性,并计算得到可靠性评估值。容错性可以评估系统的可容错能
力,对外在可能产生的与系统可能产生的错误发生后系统是否可以容错执行处理进行可信评估。稳定性可以为系统整体架构与相关的失效信息中评估系统的稳定性,可以分析系统的实效与故障发生概率等信息。耦合性评估则可以从系统架构与代码实现中分析评估各个软硬件组件间的耦合性,为系统解除耦合等优化提供依据。
[0036] 具体的,如图2所示,可靠性评估步骤120包括容错稳定性评估步骤121和耦合性评估步骤122。所述容错稳定性评估步骤121对目标软件进行硬件组件与软件功能项的整体混合式建模,并利用概率形式化验证技术,分析计算目标软件的容错性与稳定性;所述耦合性评估步骤122通过组件依赖关系图、控制流和数据流,分析计算评估各个软硬件组件间的耦合性。
[0037] 安全性评估步骤130,评估所述目标软件的代码安全性,并计算得到安全性评估值。代码安全性评估可以评估了解系统实现代码的
缺陷和漏洞,以及安全规范符合性等指标。具体的,所述安全性评估步骤130采用基于源代码的抽象解释与模型检测技术,对功能代码的安全属性抽象到自动机模型的自动化转换,并通过模型检测与定理证明技术,评估目标软件的代码安全性。
[0038] 效率评估步骤140,评估所述目标软件的时间性能和资源使用性能,并计算得到效率评估值。时间性能评估通过对结合某个硬件平台的软件进行静态分析,计算与评估系统的时间性能,进而对实时性给出明确的回答。资源使用性能评估资源的使用效率、可调度性于使用
频率等,对了解系统资源的分配与调试正确性有重要作用。
[0039] 具体的,如图3所示,所述效率评估步骤140包括时间性能评估步骤141和资源使用性能评估步骤142。所述时间性能评估步骤141对目标软件进行时间自动机建模,利用模型检查评估时间性能。所述资源使用性能评估步骤142对目标软件进行代数模型转化结合可达性分析,评估资源使用性能。
[0040] 空间可维护性评估步骤150,评估所述目标软件的可升级性,并计算得到空间可维护性评估值。空间可升级性指标主要评估一个软件系统是否可修改或升级维护,通过可信计算证明其可修改或升级边界条件,进而检查评估软件系统的可修改性。具体的,所述空间可维护性评估步骤150通过远程编程手段实施在轨修改目标软件,以考核可修改的功能占比和模块占比,以及可调节的变量占比。
[0041] 可生存性评估步骤160,评估所述目标软件的抗单粒子性、故障恢复性与系统可重构性,并计算得到可生存性评估值。抗单粒子性主要评估内存等区域受到空间
辐射后,出现单粒子翻转情况下,系统的可生存能力。故障恢复性分析系统进入各种故障之后,是否可以有效的恢复到之前的正常运行状态的可恢复能力。系统可重构性评估系统软件与硬件组件在运行状态下进行结构与组织方式重构时系统的生存能力与适应能力。
[0042] 具体的,所述可生存性评估步骤160采用异常流图与异常状态迁移模型检查技术对目标软件由单粒子翻转产生的系统错误与相关恢复及仲裁模型进行检查,评估其抗单粒子性;采用故障与失效树分析,考核目标软件可承受的故障深度,以及恢复的完备性,以评估目标软件的故障恢复性与系统可重构性。从而可以以此评估在遇到发生多级故障后,控制系统软件可重构和恢复功能的概率,评价其是否具备完备的故障恢复能力。
[0043] 可信性计算步骤170,对所述可用性评估值、所述可靠性评估值、所述安全性评估值、所述效率评估值、所述空间可维护性评估值和所述可生存性评估值进行加权求和,计算得到所述目标软件的可信性评估值,以根据所述可信性评估值对所述目标软件进行可信性评估。例如,如下表所示为各个评估属性及其对应的权重和各个评估指标及其对应的权重。根据表中所示的每一项评估属性及其指标的权重值进行加权计算,最终得到空间飞行器控制系统软件的可信性评估结果。
[0044]
[0045] 基于上述实施例,如图4所示,本发明还给出了一种软件实体质量评估模型100,包含六种可信属性及对应的评估指标,分别为:可用性110及对应的评估指标210(功能完整性),可靠性120及对应的评估指标220(容错性、稳定性和耦合性),代码安全性130及对应的评估指标230(代码符合性),效率140及对应的评估指标240(时间性能和资源使用性能),可维护性150及对应的评估指标250(系统可升级性),可生存性160及对应的评估指标260(抗单粒子性、故障恢复性与系统可重构性)。
[0046] 本实施例提供的空间飞行器控制系统软件可信性评估方法,可以通过确定软件的多个可信属性及其核心评估指标,再分别利用不同的方法计算出每项评估指标的评估值,最后加权计算得出软件的可信性评估结果。空间飞行器控制系统软件作为一款典型的实时嵌入式软件,具有实时性要求高、可靠性要求高、资源受限等特点,同时还具有运行环境苛刻、系统规模大且结构复杂等特点,上述评估方法大量采用了形式化验证技术,可以极为有效地降低系统发布后可能产生的未知
风险的概率。
[0047] 需要说明的是:
[0048] 在此提供的
算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0049] 在此处所提供的
说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。
[0050] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个
权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0051] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个单元或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、
摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0052] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0053] 本发明的各个部件实施例可以以
硬件实现,或者以在一个或者多个处理器上运行的
软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用
微处理器或者数字
信号处理器(DSP)来实现根据本发明实施例的
虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,
计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网
网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0054] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或模块。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0055] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉
本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。