掌桥专利:专业的专利平台
掌桥专利
首页

航空装备现场可编程逻辑器件软件安全性分析方法

文献发布时间:2023-06-19 10:30:40


航空装备现场可编程逻辑器件软件安全性分析方法

技术领域

本发明属于安全性技术领域,特别是一种航空装备现场可编程逻辑器件软件安全性分析方法。

背景技术

可编程逻辑器件(programmable logic device,PLD),因其逻辑密度高、设计灵活等独特的优势而被广泛应用于航空装备,但现有航空装备PLD软件安全性分析方法仍存在着诸多问题,主要包含分析不足、受限于本身、缺乏客观规范等方面。

首先,国内外虽对航空装备软件安全性分析方法开展了相关研究,但鲜有针对航空装备PLD软件的;而常见的软件安全性分析方法重点关注的是功能、任务场景等对软件失效模式分析的影响,PLD软件却是经综合、布局布线将不同线路、硬件资源链接构成不同电路结构来实现不同的逻辑设计。故而传统方法未能兼顾硬件特性而不完全适用,且无法有效发现PLD软件中潜在的安全性问题。其次,对于安全性定义的理解还局限于传统的软件自身失效情况,忽略了航空装备安全关键PLD软件运行过程中的主要目标,即结合其他硬件一起完成系统规定的任务或功能。如若PLD软件失效只是使其自身功能丧失,而未对系统任务或功能的完成产生任何影响,则可弱化此类失效甚至不予考虑;但如若PLD软件未发生任何失效,却由于其运行与硬件交互产生冲突,而导致系统任务或功能丧失,则应考虑其影响。故而针对航空装备PLD软件安全性定义理解应更广泛些,充分考虑其在完成系统任务过程中所受的影响。最后,目前根据PLD软件需求文档如何开展PLD软件失效模式的识别与分析还没有一个成熟且得到公认的方法,更多情况下还是依赖于失效模式历史数据库或者分析人员的经验,而这样难免因主观而存在若干不足:PLD软件的功能或状态数量较大时,容易遗漏考察个别失效模式;具有“多功能状态组合、多输入条件触发”等复杂逻辑特性的PLD软件,不易发现其潜在的失效;不同经验分析人员就相同分析对象进行失效模式分析时,无法保证其一致性与充分性。

综上,为提高PLD软件的安全性和质量水平,为规范面向安全性分析需求的解决方案,为确保PLD软件失效模式的识别、原因和影响分析、控制措施分析等工作有序且充分的开展,实现PLD软件安全性要求的真正落地,设计一种航空装备现场可编程逻辑器件软件安全性分析方法是十分必要且相当迫切的。

发明内容

本发明针对上述现有技术中的缺陷,目的在于提出一种航空装备现场可编程逻辑器件软件安全性分析方法。首先考虑外部交联设备,建立PLD软件外部交联环境模型,明确软件各项功能,建立PLD软件功能处理模型,结合各项PLD软件工作状态或工作模式,建立PLD软件状态迁移模型,通过确定PLD软件安全性分析规则,进行基于需求模型的PLD软件安全性分析和充分性检查。该方法通过构建外部交联环境模型、功能处理模型以及工作状态迁移模型,形成规范的基于安全性分析规则的航空装备PLD安全性分析方法。

本发明提供一种航空装备现场可编程逻辑器件软件安全性分析方法,所述方法包括以下步骤:

S1、构建PLD软件外部交联环境模型:根据系统需求文档,确定外部交联设备、外部输入接口、外部输出接口及接口约束关系,明确PLD软件外部运行环境信息,对PLD软件外部交联环境模型进行形式化描述,检查是否均进行需求建模;

S2、构建PLD软件功能处理模型:依据PLD软件需求文档,确定建模对象功能及相关的交联设备、功能输入与输出接口集合、功能处理函数集合、各项判定节点和迁移路径以及功能处理模型中的注释信息,形成PLD软件功能处理过程图,对PLD软件功能处理模型进行形式化描述,检查是否最底层功能均进行需求建模;

S3、构建PLD软件状态迁移模型:依据PLD软件需求文档,确定建模对象工作状态或工作模式及其相关的功能集合、输入与输出接口集合,确定工作状态之间的迁移和约束关系以及工作状态对功能或接口的约束关系,形成PLD软件工作状态迁移图,对PLD软件状态迁移模型进行形式化描述,检查是否所有PLD软件工作状态均进行需求建模;

S4、确定PLD软件安全性分析规则;依据PLD软件外部交联环境模型,确定外部输入与输出接口分析规则、PLD软件功能处理过程分析规则、PLD软件工作状态分析规则;

S5、基于需求模型的PLD软件安全性分析;基于功能“输入接口”进行PLD软件安全性分析,基于功能“处理过程”进行PLD软件安全性分析过程,基于功能“输出接口”进行PLD软件安全性分析过程,具体为:

分别根据PLD软件工作状态特征、PLD软件功能输入接口特征、功能处理过程特征和功能输出接口特征选择合适的工作状态分析规则、输入接口分析规则、功能处理过程分析规则和输出接口分析规则进行检查分析,确定是否引发PLD软件失效及失效原因,依据PLD软件外部交联环境模型,确定PLD软件失效对于系统的影响;再依据PLD软件故障信息,确定PLD软件失效或系统危险的控制措施;将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求;

S6、PLD软件安全性分析充分性检查:

S61、PLD软件外部输入接口覆盖率需达到100%;

S62、PLD软件外部输出接口覆盖率需达到100%;

S63、PLD软件功能处理过程覆盖率需达到100%;

S64、PLD软件工作状态及其迁移覆盖率需达到100%。

可优选的是,所述步骤S1具体包括以下步骤:

S11、确定外部交联设备:根据系统需求文档,确定与PLD软件所在系统的各类外部交联设备信息;

S12、确定外部输入与输出接口:根据系统接口需求和PLD软件接口需求文档,明确各外部交联设备与PLD软件之间的输入接口信息,包括外部输入接口的名称、类型、传输数据、采样周期、源设备等;明确各外部交联设备与PLD软件之间的输出接口信息,包括外部输出接口的名称、类型、传输数据、采样周期、目的设备等;

S13、确定接口约束关系:对PLD软件所有外部输入输出接口的约束条件进行识别,根据PLD软件需求文档,明确各接口自身及相互之间的时序、组合、重构等约束信息,并记录在模型中;

S14、明确PLD软件外部运行环境信息:包括PLD软件运行过程中的外部温度、湿度、高度、压力等;

S15、对PLD软件外部交联环境模型进行形式化描述:PLD软件外部交联环境模型可定义为如下的集合:

IO={I,O,E,C} (1)

其中:I表示PLD软件的外部输入接口集合;O表示PLD软件的外部输出接口集合;E表示PLD软件的外部交联设备集合;C表示PLD软件需求元素之间的约束关系集合;

S16、检查是否所有PLD软件外部交联设备、输入输出接口都已经100%的进行需求建模,若“是”则结束建模过程,若“否”则重复上述步骤。

进一步,所述步骤S2具体包括以下步骤:

S21、确定建模对象功能及相关的交联设备:依据PLD软件需求文档,明确软件各项功能,确定与各项功能对应的外部交联设备信息;

S22、确定功能输入与输出接口集合:依据PLD软件需求文档,从外部交联环境模型的外部输入输出接口集合中选取功能相关的输入与输出接口;

S23、确定功能处理函数集合及各项判定节点和迁移路径:依据PLD软件需求文档中的功能处理逻辑,明确功能对各项输入输出接口的不同处理方式、各项判定节点的内容以及各项功能处理函数之间的迁移路径;

S24、确定功能处理模型中的注释信息并形成PLD软件功能处理过程图:对功能处理模型中的各项元素需要注明的“约束”或“扩展”等信息加以说明,将“初始状态”、“结束状态”、“功能处理函数”、“判定节点”、“迁移路径”、“注释”等模型元素,依据PLD软件功能需求进行组合,形成PLD软件功能处理过程图;

S25、对PLD软件功能处理模型进行形式化描述:PLD软件功能处理建模可按照以下方法进行:记软件有m项功能,即

F={F1,F2,…Fm} (2)

每项功能F可定义为如下的集合:

F={(FName,f)|f∈FI×FP→FO}={FName,FI,FO,FP,FF} (3)

其中:FName表示功能名称;FP表示功能处理过程,也即功能处理函数、判定条件、迁移路径等模型元素的集合;FI表示功能输入接口集合;FO表示功能输出接口集合;FF表示功能安全性分析结果集合;

S26、检查是否所有PLD软件最底层功能都已经100%的进行需求建模。若“是”则结束建模过程,若“否”则重复上述步骤。

进一步,所述步骤S3具体包括以下步骤:

S31、确定建模对象工作状态或工作模式及其相关的功能集合:依据PLD软件需求文档,明确各项PLD软件工作状态或工作模式,确定与各项工作状态相关的功能集合,即在该状态下具有相应处理逻辑的PLD软件功能;

S32、确定工作状态相关的输入接口集合与输出接口集合:依据PLD软件需求文档,从外部交联环境模型的输入接口集合中选取与该状态相关的所有输入接口和所有输出接口;

S33、确定工作状态之间的迁移和约束关系:依据PLD软件需求文档,明确各项工作状态之间的迁移条件以及可能存在的互斥、并发等约束关系;

S34、确定工作状态对功能或接口的约束关系并形成PLD软件工作状态迁移图:依据PLD软件需求文档,明确工作状态对与其相关的功能、外部输入输出接口的约束关系,将“初始状态”、“结束状态”、“工作状态”、“迁移条件”、“约束关系”等元素,依据PLD软件需求中的状态迁移关系加以组合,形成PLD软件工作状态迁移图;

S35、对PLD软件状态迁移模型进行形式化描述:PLD软件状态迁移建模可按照以下方法进行:记软件有m项工作状态,即

S={S1,S2,…Sm} (4)

每项状态S可定义为如下的集合:

S={Sname,SFunc,Stranto,Stranfrom,Scondition,SI,SO,Sconstraint} (5)

其中:Sname表示工作状态的名称;SFunc表示状态所包含的软件功能集合,SFunc∈F;Stranto表示迁出状态集合,Stranto∈S;Stranfrom表示迁入状态集合,Stranfrom∈S;Scondition表示状态迁移条件,可由表中的约束关系符号及软件外部输入输出接口、功能等其它元素加以组合进行模式化定义;Sconstraint表示状态约束关系,可由表中的约束关系符号及软件外部输入输出接口、功能等其它元素加以组合进行模式化定义;SI表示状态相关的外部输入接口集合,SI∈I;SO表示状态所包含的外部输出接口集合,SO∈O;

S36、检查是否所有PLD软件工作状态都已经100%的进行需求建模,若“是”则结束建模过程,若“否”则重复上述步骤。

进一步,所述步骤S4具体包括以下步骤:

S41、确定外部输入与输出接口分析规则:依据PLD软件外部交联环境模型,针对不同类型的外部输入接口(开关量、模拟量、UART,SPI、IIC总线数据等)信息,从时序、取值、通讯、余度等角度确定安全性分析规则;针对不同类型的外部输出接口(开关量、模拟量、UART,SPI、IIC总线数据等),从时序、取值、通讯、余度等角度确定安全性分析规则;

S42、确定PLD软件功能处理过程分析规则:针对PLD软件功能处理过程以及功能间约束关系,从时序、功能间交互、功能组合、软硬件交互、余度等角度确定安全性分析规则;

S43、确定PLD软件工作状态分析规则:针对PLD软件工作状态及其迁移关系,从状态迁移、状态影响等角度确定安全性分析规则。

进一步,所述步骤S5具体包括以下步骤:

S51、基于功能“输入接口”的PLD软件安全性分析:

S511、确定PLD软件功能输入接口的类型,例如开关量、模拟量、频率量、RS422总线数据、UART,SPI、IIC等;

S512、依据功能输入接口的类型和特征(例如取值特征、时序特征等),选择合适的输入接口分析规则;

S513、依据输入接口分析规则,对功能输入接口进行检查性分析,从外部输入接口的时序、取值、通讯、余度等角度,确定功能输入接口可能存在的各种故障,即确定PLD软件失效的原因;

S514、依据输入接口分析规则,围绕PLD软件功能处理模型,确定经过功能的映射传递后,PLD软件功能输入接口故障是否会引发PLD软件输出接口故障,即确定PLD软件的失效;

S515、依据PLD软件外部交联环境模型,分析PLD软件失效模式对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,即确定PLD软件失效引发的系统危险;

S516、依据PLD软件输入接口故障信息,即PLD软件失效原因,确定如何针对“外部输入接口”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施;

S517、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求;

S52、基于功能“处理过程”的PLD软件安全性分析过程:

S521、确定PLD软件功能处理过程中的时序、软硬件交互、输入输出接口处理等信息,以及功能之间的时序、层级、组合等约束信息;

S522、依据功能处理过程特征(例如余度特征、时序特征、软硬件交互特征等),选择合适的功能处理过程分析规则;

S523、依据功能处理过程分析规则,对功能处理过程进行检查性分析,从功能处理过程的时序、功能间交互、功能组合、软硬件交互、余度等角度,确定功能处理过程可能存在的各种故障,即确定PLD软件失效的原因;

S524、依据功能处理过程分析规则,围绕PLD软件功能处理模型,确定经过功能的映射传递后,PLD软件功能处理过程故障是否会引发PLD软件输出接口故障,即确定PLD软件的失效;

S525、依据PLD软件外部交联环境模型,分析PLD软件失效模式对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,也即确定PLD软件失效引发的系统危险;

S526、依据PLD软件功能处理过程故障信息,即PLD软件失效原因,确定如何针对“功能处理过程”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施;

S527、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求;

S53、基于功能“输出接口”的PLD软件安全性分析过程:

S531、确定PLD软件功能输出接口的类型,例如开关量、模拟量、开关量、频率量、RS422总线数据UART,SPI、IIC等;

S532、依据功能输出接口的类型和特征(例如取值特征、时序特征等),选择合适的输出接口分析规则;

S533、依据输出接口分析规则,对功能输出接口进行检查性分析,从外部输出接口的时序、取值、通讯、余度等角度,确定功能输出接口可能存在的各种故障,即确定PLD软件失效;

S534、依据输出接口分析规则,围绕PLD软件功能处理模型,确定引发PLD软件输出接口故障的可能输入接口故障或功能处理过程故障,即确定PLD软件失效的原因;

S535、依据PLD软件外部交联环境模型,分析PLD软件失效对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,也即确定PLD软件失效引发的系统危险;

S536、依据PLD软件输口接口故障信息,即PLD软件失效原因,确定如何针对“外部输口接口”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施;

S537、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求;

S54、基于工作状态迁移的PLD软件安全性分析过程:

S541、确定PLD软件工作状态的相关功能处理过程、输入接口、输出接口等信息,以及工作状态之间的迁移关系;

S542、依据PLD软件工作状态特征(例如迁移条件、功能约束等特征),选择合适的工作状态分析规则;

S543、依据工作状态分析规则,对工作状态及其迁移关系进行检查性分析,即从状态迁移、状态影响等角度,确定工作状态及其迁移可能存在的各种故障;

S544、依据工作状态分析规则,围绕PLD软件工作状态相关的功能模型,分析由于PLD软件工作状态迁移故障所引发的PLD软件失效及失效原因;

S545、依据PLD软件外部交联环境模型,分析PLD软件失效对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,也即确定PLD软件失效引发的系统危险;

S546、依据PLD软件功能处理过程故障信息,即PLD软件失效原因,确定如何针对“功能处理过程”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施;

S547、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求。

进一步,若S6中覆盖率要求得到满足,则停止分析工作,否则重复S5的工作,直至S6中覆盖率要求得到满足为止。

与现有技术相比,本发明的技术效果为:

1、本发明通过构建外部交联环境模型、功能处理模型以及工作状态迁移模型,确定PLD软件安全性分析规则,形成了规范的面向安全性分析需求建模方法,可避免因过多依赖于分析人员的经验而缺乏客观性。

2、本发明设计的一种航空装备现场可编程逻辑器件软件安全性分析方法,可确保PLD软件失效模式的识别、原因和影响分析、控制措施分析等工作有序且充分地开展,实现PLD软件安全性要求的真正落地,实用性强。

附图说明

图1是本发明的航空装备现场可编程逻辑器件软件安全性分析方法的流程图;

图2是本发明的外部交联接口模型示意图;

图3是本发明的外部交联环境建模顶层示意图。

具体实施方式

下面结合附图1-3和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

以某型飞行参数记录器记录PLD软件(以下简称飞参记录PLD软件)为例,飞参记录PLD软件是飞行参数记录器的核心组成部分,软件接收平台管理计算机和飞控计算机的飞行数据,数据存储于坠毁幸存存储器,坠毁幸存存储器记录保存的飞行数据经地面分析处理后,可用于事故分析、轨道飞行器维护和试飞评估等。该PLD软件主要完成如下功能:异步串口数据的接收与发送、同步串口数据包(32bit)的接收、同步串口数据包(8bit)的接收、NAND FLASH的擦除/读/写控制和ECC校正、配置参数控制、外部离散信号的输入滤波处理、存储参数配置。

图1示出了本发明的航空装备现场可编程逻辑器件软件安全性分析方法,该方法包括以下步骤:

S1、构建PLD软件外部交联环境模型:根据系统需求文档,确定外部交联设备、外部输入接口、外部输出接口及接口约束关系,明确PLD软件外部运行环境信息,对PLD软件外部交联环境模型进行形式化描述,检查是否均进行需求建模。

S11、确定外部交联设备:根据系统需求文档,确定与飞参记录PLD软件所在系统的外部交联设备,包括:平台管理计算机(VMC)、飞控计算机(EFMC)、NAND FLASH、80C31单片机、EEPROM和它机电源。外部交联设备信息如图2所示。

S12、确定外部输入与输出接口:根据系统接口需求和飞参记录PLD软件接口需求文档,明确各外部交联设备与PLD软件之间的输入输出接口信息,包括外部输入输出接口的名称、接口方式、源设备、目的设备、数据内容。外部接口环境信息如表1所示。

表1

S13、确定接口约束关系:对飞参记录PLD软件所有外部输入输出接口的约束条件进行识别,根据PLD软件需求文档,明确各接口自身及相互之间的时序、组合、重构等约束信息,并记录在模型中。根据软件外部交联接口信息,采用Simulink工具进行二次开发建模,针对飞参记录PLD软件外部交联环境信息,配置形成外部交联环境建模顶层图如图3所示。

S14、明确PLD软件外部运行环境信息:该飞参记录PLD软件对运行过程中的外部温度、湿度、高度、压力等外部运行环境信息无要求。

S15、对PLD软件外部交联环境模型进行形式化描述:PLD软件外部交联环境模型可定义为如下的集合:

IO={I,O,E,C} (1)

其中:I表示PLD软件的外部输入接口集合;O表示PLD软件的外部输出接口集合;E表示PLD软件的外部交联设备集合;C表示PLD软件需求元素之间的约束关系集合。

S16、检查所有PLD软件外部交联设备、输入输出接口都已经100%的进行需求建模,结束建模过程。

S2、构建PLD软件功能处理模型:依据PLD软件需求文档,确定建模对象功能及相关的交联设备、功能输入与输出接口集合、功能处理函数集合、各项判定节点和迁移路径以及功能处理模型中的注释信息,形成PLD软件功能处理过程图,对PLD软件功能处理模型进行形式化描述,检查是否最底层功能均进行需求建模。

S21、确定建模对象功能及相关的交联设备:依据PLD软件需求文档,明确软件各项功能,确定与各项功能对应的外部交联设备信息。

S22、确定功能输入与输出接口集合:依据PLD软件需求文档,从外部交联环境模型的外部输入输出接口集合中选取功能相关的输入与输出接口。

飞参记录PLD实现的主要功能包括:MCU接口控制功能:包含发送异步串口数据、读取异步串口数据、读取离散量数据、同步串口记录、参数控制等子功能;其中同步串口记录子功能又包括FLASH读ID、FLASH复位、FLASH擦除、FLASH读、FLASH写等子功能,参数控制子功能又包括读参数和写参数子功能。数据缓存功能:包含缓存异步串口数据、缓存同步串口数据、接收离散量数据等子功能。

S23、确定功能处理函数集合及各项判定节点和迁移路径:依据飞参记录PLD软件需求文档中的功能处理逻辑,明确功能对各项输入输出接口的不同处理方式,明确各项判定节点的内容,并明确各项功能处理函数之间的迁移路径。

S24、确定功能处理模型中的注释信息并形成PLD软件功能处理过程图:对功能处理模型中的各项元素需要注明的“约束”或“扩展”等信息加以说明,将“初始状态”、“结束状态”、“功能处理函数”、“判定节点”、“迁移路径”、“注释”等模型元素,依据PLD软件功能需求进行组合,形成PLD软件功能处理过程图。

S25、对PLD软件功能处理模型进行形式化描述:PLD软件功能处理建模可按照以下方法进行:记软件有m项功能,即

F={F1,F2,…Fm} (2)

每项功能F可定义为如下的集合:

F={(FName,f)|f∈FI×FP→FO}={FName,FI,FO,FP,FF} (3)

其中:FName表示功能名称;FP表示功能处理过程,也即功能处理函数、判定条件、迁移路径等模型元素的集合;FI表示功能输入接口集合;FO表示功能输出接口集合;FF表示功能安全性分析结果集合。

S26、检查所有飞参记录PLD软件最底层功能都已经100%的进行需求建模,结束建模过程。

S3、构建PLD软件状态迁移模型:依据PLD软件需求文档,确定建模对象工作状态或工作模式及其相关的功能集合、输入与输出接口集合,确定工作状态之间的迁移和约束关系以及工作状态对功能或接口的约束关系,形成PLD软件工作状态迁移图,对PLD软件状态迁移模型进行形式化描述,检查是否所有PLD软件工作状态均进行需求建模。

S31、确定建模对象工作状态或工作模式及其相关的功能集合:依据飞参记录PLD软件需求文档,明确各项PLD软件工作状态或工作模式,确定与各项工作状态相关的功能集合,即在该状态下具有相应处理逻辑的PLD软件功能。

S32、确定工作状态相关的输入接口集合与输出接口集合:依据PLD软件需求文档,从外部交联环境模型的输入接口集合中选取与该状态相关的所有输入接口和所有输出接口;

S33、确定工作状态之间的迁移和约束关系:依据PLD软件需求文档,明确各项工作状态之间的迁移条件以及可能存在的互斥、并发等约束关系。飞参记录PLD软件包含7项工作状态,分别是待命、读异步串口、写异步串口、同步串口记录、读离散量、读参数、写参数。

S34、确定工作状态对功能或接口的约束关系并形成PLD软件工作状态迁移图:依据PLD软件需求文档,明确工作状态对与其相关的功能、外部输入输出接口的约束关系,将“初始状态”、“结束状态”、“工作状态”、“迁移条件”、“约束关系”等元素,依据PLD软件需求中的状态迁移关系加以组合,形成PLD软件工作状态迁移图。各状态之间的迁移关系条件如表2所示。

表2

S35、对PLD软件状态迁移模型进行形式化描述:PLD软件状态迁移建模可按照以下方法进行:记软件有m项工作状态,即

S={S1,S2,…Sm} (4)

每项状态S可定义为如下的集合:

S={Sname,SFunc,Stranto,Stranfrom,Scondition,SI,SO,Sconstraint (5)

其中:Sname表示工作状态的名称;SFunc表示状态所包含的软件功能集合,SFunc∈F;Stranto表示迁出状态集合,Stranto∈S;Stranfrom表示迁入状态集合,Stranfrom∈S;Scondition表示状态迁移条件,可由表中的约束关系符号及软件外部输入输出接口、功能等其它元素加以组合进行模式化定义;Sconstraint表示状态约束关系,可由表中的约束关系符号及软件外部输入输出接口、功能等其它元素加以组合进行模式化定义;SI表示状态相关的外部输入接口集合,SI∈I;SO表示状态所包含的外部输出接口集合,SO∈O。

S36、检查所有PLD软件工作状态都已经100%的进行需求建模,结束建模过程。

S4、确定PLD软件安全性分析规则;依据PLD软件外部交联环境模型,确定外部输入与输出接口分析规则、PLD软件功能处理过程分析规则、PLD软件工作状态分析规则。

S41、确定外部输入与输出接口分析规则:依据PLD软件外部交联环境模型,针对不同类型的外部输入接口(开关量、模拟量、UART,SPI、IIC总线数据等)信息,从时序、取值、通讯、余度等角度确定安全性分析规则;针对不同类型的外部输出接口(开关量、模拟量、UART,SPI、IIC总线数据等),从时序、取值、通讯、余度等角度确定安全性分析规则。具体外部输入接口分析规则见表3,具体外部输出接口分析规则见表4。

表3

表4

S42、确定PLD软件功能处理过程分析规则:针对PLD软件功能处理过程以及功能间约束关系,从时序、功能间交互、功能组合、软硬件交互、余度等角度确定安全性分析规则。具体功能处理过程分析规则见表5。

表5

S43、确定PLD软件工作状态分析规则:针对PLD软件工作状态及其迁移关系,从状态迁移、状态影响等角度确定安全性分析规则。具体PLD软件工作状态分析规则见表6。

表6

S5、基于需求模型的PLD软件安全性分析;基于功能“输入接口”进行PLD软件安全性分析,基于功能“处理过程”进行PLD软件安全性分析过程,基于功能“输出接口”进行PLD软件安全性分析过程。

S51、基于功能“输入接口”的PLD软件安全性分析。

S511、确定PLD软件功能输入接口的类型,例如开关量、模拟量、频率量、RS422总线数据、UART,SPI、IIC等。

S512、依据功能输入接口的类型和特征(例如取值特征、时序特征等),选择合适的输入接口分析规则。

S513、依据输入接口分析规则,对功能输入接口进行检查性分析,从外部输入接口的时序、取值、通讯、余度等角度,确定功能输入接口可能存在的各种故障,即确定PLD软件失效的原因。

S514、依据输入接口分析规则,围绕PLD软件功能处理模型,确定经过功能的映射传递后,PLD软件功能输入接口故障是否会引发PLD软件输出接口故障,即确定PLD软件的失效。

S515、依据PLD软件外部交联环境模型,分析PLD软件失效模式对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,即确定PLD软件失效引发的系统危险。

S516、依据PLD软件输入接口故障信息,即PLD软件失效原因,确定如何针对“外部输入接口”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施。

S517、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求。

S52、基于功能“处理过程”的PLD软件安全性分析过程。

S521、确定PLD软件功能处理过程中的时序、软硬件交互、输入输出接口处理等信息,以及功能之间的时序、层级、组合等约束信息。

S522、依据功能处理过程特征(例如余度特征、时序特征、软硬件交互特征等),选择合适的功能处理过程分析规则。

S523、依据功能处理过程分析规则,对功能处理过程进行检查性分析,从功能处理过程的时序、功能间交互、功能组合、软硬件交互、余度等角度,确定功能处理过程可能存在的各种故障,即确定PLD软件失效的原因。

S524、依据功能处理过程分析规则,围绕PLD软件功能处理模型,确定经过功能的映射传递后,PLD软件功能处理过程故障是否会引发PLD软件输出接口故障,即确定PLD软件的失效。

S525、依据PLD软件外部交联环境模型,分析PLD软件失效模式对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,也即确定PLD软件失效引发的系统危险。

S526、依据PLD软件功能处理过程故障信息,即PLD软件失效原因,确定如何针对“功能处理过程”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施。

S527、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求。

S53、基于功能“输出接口”的PLD软件安全性分析过程。

S531、确定PLD软件功能输出接口的类型,例如开关量、模拟量、开关量、频率量、RS422总线数据UART,SPI、IIC等。

S532、依据功能输出接口的类型和特征(例如取值特征、时序特征等),选择合适的输出接口分析规则。

S533、依据输出接口分析规则,对功能输出接口进行检查性分析,从外部输出接口的时序、取值、通讯、余度等角度,确定功能输出接口可能存在的各种故障,即确定PLD软件失效。

S534、依据输出接口分析规则,围绕PLD软件功能处理模型,确定引发PLD软件输出接口故障的可能输入接口故障或功能处理过程故障,即确定PLD软件失效的原因。

S535、依据PLD软件外部交联环境模型,分析PLD软件失效对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,也即确定PLD软件失效引发的系统危险。

S536、依据PLD软件输口接口故障信息,即PLD软件失效原因,确定如何针对“外部输口接口”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施。

S537、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求。

S54、基于工作状态迁移的PLD软件安全性分析过程。

S541、确定PLD软件工作状态的相关功能处理过程、输入接口、输出接口等信息,以及工作状态之间的迁移关系。

S542、依据PLD软件工作状态特征(例如迁移条件、功能约束等特征),选择合适的工作状态分析规则。

S543、依据工作状态分析规则,对工作状态及其迁移关系进行检查性分析,即从状态迁移、状态影响等角度,确定工作状态及其迁移可能存在的各种故障。

S544、依据工作状态分析规则,围绕PLD软件工作状态相关的功能模型,分析由于PLD软件工作状态迁移故障所引发的PLD软件失效及失效原因。

S545、依据PLD软件外部交联环境模型,分析PLD软件失效对应的外部交联设备信息以及系统状态信息,确定PLD软件失效对于系统的影响,也即确定PLD软件失效引发的系统危险。

S546、依据PLD软件功能处理过程故障信息,即PLD软件失效原因,确定如何针对“功能处理过程”来控制或缓解PLD软件失效,即确定PLD软件失效或系统危险的控制措施。

S547、对控制措施进行分析,若其能在PLD软件层面实现,则将控制措施形成相应的PLD软件安全性要求,并落实于PLD软件需求。

依据软件需求模型,针对飞参记录PLD软件中的所有功能、外部输入输出接口、状态迁移等需求模型要素进行软件失效模式及其原因和影响的分析工作。

下面以“读参数”功能为例,阐述具体的失效模式分析过程。

依据“读参数”功能IPO模型与功能处理逻辑模型,明确“读参数”功能的功能输入接口-功能处理过程-功能输出接口之间的关系。

依据“外部输入接口分析规则”,围绕“读参数”功能的外部输入接口开展分析,分析过程如下,分析结果如表7所示。

表7

“读参数”功能的输入接口为两个SPI总线变量,一个是来自MCU的“MCU读参数命令”变量,另一个是来自EEPROM的“EEPROM参数数据”总线变量。

依据“外部输入接口分析规则”中的“通讯”:数据源设备故障,PLD软件是否正确处理。对这两个输入接口的数据源设备故障进行分析,确认“读参数”功能在使用这两个输入接口时是否进行诊断和处理;

遍历软件所有其他功能,发现“读参数”功能以及其它功能(涉及“缓存异步串口数据”、“缓存同步串口数据”)均未对这两个输入接口故障情况进行处理。依此确定软件失效原因;

进而分析当输入接口“MCU写参数命令”和“EEPROM参数数据”的数据源设备故障,即MCU故障(对应“MCU读参数命令”)或EEPROM故障(对应“EEPROM参数数据”)时,“读参数”功能对此异常情况进行处理后,确认对功能处理过程产生影响,进而影响功能输出,即“异步串口协议”及“同步串口协议”。依此确定软件失效。

若“读参数”功能输出不正确,将使得飞参记录PLD软件进入缓存数据功能后,无法进行同步串口和异步串口数据的缓存,进而导致飞参记录器无法及时将飞参数据记录到Flash中,使得飞参数据记录功能丧失。依此确定软件失效的影响。

针对软件失效原因展开分析,明确应增加对两个SPI输入接口“MCU读参数命令”和“EEPROM参数数据”进行故障判断。依此确定失效的控制措施和软件安全性要求。

依据“功能处理分析规则”,围绕“读参数”功能处理过程开展分析,分析过程如下,分析结果如表8所示

表8

“读参数”功能处于MCU接口控制功能之下,属于MCU接口控制功能的子功能,受控于MCU向PLD发出的控制命令;

依据“功能处理过程分析规则”中的“时序规则”:PLD软件功能滞后输出,不满足其时序约束时,PLD软件是否有正确处理;多个功能并发执行,且同时对一个输出接口进行不同的处理操作,导致接口取值出现矛盾,软件是否有正确处理;

分析“读参数”功能是否可能会产生滞后的输出。围绕软件需求模型的状态模型可知,在PLD读参数过程中,若MCU向PLD发出其他控制命令信号([cmd~=rdEEPROM]),则“读参数”功能会退出,并进入其他功能执行,则PLD内部电路产生读EEPROM参数与其他功能并发执行,一方面“读参数”结果尚未返回给PLD,PLD便已开始执行其他功能,如“读取异步串口数据”,使得PLD的读参数输出结果相对其他功能的启动变得滞后;另一方面,其他功能如“写参数”功能可能会与读参数功能对同一接口进行操作,导致接口取值出现矛盾;

分析“读参数”功能与“读取异步串口数据”功能的时序关系,若MCU向PLD发送读参数命令后立刻发送读取异步串口数据命令,PLD尚未完成读参数操作,便进入读取异步串口数据操作,而读取异步串口数据前,需确定异步串口数据格式协议,而该协议正是由MCU读参数操作从EEPROM中读取的信息。因此这两种功能处理时序错误情况下,会对PLD“读取异步串口数据”功能产生影响,依此确定软件失效的原因。

分析“读参数”功能与“写参数”功能对同一个输出接口进行的操作,因MCU与PLD之间采用SPI串口操作,对EEPROM的操作包括两种同时操作的情况:①若MCU向PLD发送读参数命令后立刻发送写参数命令,则PLD尚未完成读参数操作,便进入写参数操作,二者时序关系不会对各自功能和其他功能产生异常。②若MCU向PLD发送写参数命令后立刻发送读参数命令,则PLD通过SPI总线向EEPROM先发送写参数,然后立刻发送读参数,EEPROM与PLD之间存在读写使能,不会产生同时读写的冲突;但在PLD向EEPROM写数据的同时,PLD已经接收MCU的读参数命令,该命令因EEPROM正在处于写忙标志状态而无法及时执行,该情况MCU并不知情,从而造成读参数功能未被执行。从而无法获得各接口协议信息,依此确定软件失效的原因。

然后,分析当“读参数”功能与“读取异步串口数据”功能相比产生时序滞后时,会导致“读取异步串口数据”无有效协议信息作为依据,无法正确读取异步串口数据。依此确定软件失效;

分析当“读参数”功能与“写参数”功能同时对EEPROM进行操作,在MCU向PLD发送写参数命令后立刻发送读参数命令的情况下,会导致“读参数”未执行。依此确定软件失效;

若“读参数”功能未执行完或未执行,则“读取异步串口数据”无有效协议信息作为依据,将可能会导致“数据缓存”和“读取异步串口数据”功能均无法有效完成,从而导致飞参记录器无法及时将飞参数据记录到Flash中,使得飞参数据记录功能丧失。依此确定软件失效的影响;

最后,针对软件失效原因展开分析,考虑到EEPROM在飞参记录PLD软件中的重要作用,对其每一项操作都应确定按照正确的时序开展,建议对EEPROM的读、写操作均增加使能信号和操作结果反馈值由MCU读取判断。依此确定失效的控制措施和软件安全性要求。

S6、PLD软件安全性分析充分性检查:

S61、PLD软件外部输入接口覆盖率需达到100%;

S62、PLD软件外部输出接口覆盖率需达到100%;

S63、PLD软件功能处理过程覆盖率需达到100%;

S64、PLD软件工作状态及其迁移覆盖率需达到100%。

针对该飞参记录PLD软件,分别对外部输入接口、外部输出接口、功能处理过程、工作状态及其迁移覆盖率均达到100%,故而停止分析工作。

综上,针对该飞参记录PLD软件,开展了PLD软件外部交联环境模型、PLD软件功能处理模型、PLD软件状态迁移模型等需求建模工作,基于需求模型开展了安全性分析,安全性分析工作共识别软件失效模式11项,对失效模式进行了分析与确认,参考相应的控制措施内容,在软件需求中形成了相应的软件安全性要求,并在设计和代码中充分落实了软件安全性要求,为后续研究基于安全性分析的测试用例设计和搭建安全性仿真测试环境提供了分析结果,确保所有软件失效模式及其系统危险能够得到缓解或控制,对该飞参记录PLD软件安全性和质量水平的提升有着重要影响。

最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

相关技术
  • 航空装备现场可编程逻辑器件软件安全性分析方法
  • 航空装备现场可编程逻辑器件软件安全性分析方法
技术分类

06120112569064