基于扩展时间Petri网的软件潜在分析
随着武器系统复杂性的不断提高以及计算机技术的迅速发展,软件在武器系统中扮演着越来越重要的角色。原来用硬件实现的功能很多都改用软件实现,如虚拟仪器软件等。软件系统的安全性对武器系统的安全性有着直接的影响,而软件的潜在状态是影响软件安全性的重要因素。虽然可以通过测试、仿真、FMEA等技术发现一些软件错误和缺陷,但是有些缺陷是设计人员无意中带入的,这些缺陷只有在特定的条件下才能被激发,这就是软件潜在通路(Software Sneak Circuit)。软件潜在通路能够禁止期望功能或触发非期望功能。1970年,在潜在通路分析技术成功应用3年后,波音公司开始开发和硬件潜在通路分析技术相类似的软件潜在分析技术(Software Sneak Analysis, SSA)。到1975年,软件潜在分析技术已经在很多软件系统中得到应用[1]。针对当前我国SSA技术的发展状况以及计算机技术的迅速发展,研究一种适用于一般工程人员的SSA技术成为一个必然趋势。
Petri网是一种具有严密理论基础的图形化模型,已经在众多领域得到广泛应用,如软件的安全性分析等。SSA与Petri网有如下共性: 1)Petri网与SSA的主要研究内容都是找到系统所有的可能状态;2)Petri网与SSA的模型都是图形化描述。二者的共性启发我们将Petri网用于SSA,这也是本文的动机所在。
1 软件潜在分析技术概述
软件潜在通路是指禁止期望功能或触发非期望功能实现的通路或条件,软件潜在通路和硬件系统的失效无关。软件潜在通路对武器系统的危害是巨大的。如某型飞机在做定型试验时,飞机突然冲出跑道,造成重大事故,后来查明是软件设计的先天缺陷造成的。英国一座距伦敦仅90mile的原子能电厂发生故障,其原因来自控制反应的软件设计[2]。引起软件潜在通路的主要原因是软件系统的复杂性,软件越复杂越容易引起潜在通路。
软件的潜在问题包括:潜在输出,潜在禁止,潜在消息,潜在时序。SSA的5个步骤如下[1, 3]:
1)收集有关的资料,包括源代码,系统需求说明,详细规范等;
2)生成网络树,网络树是用图形的方式代表程序流程,用电器符号表示;
3)识别软件树中最基本的拓扑模式;
4)利用线索表以及网络树分析潜在通路;
5)生成分析结果,包括修改意见。生成网络树和线索表的应用对一般的工程人员来说非常困难,而且随着软件系统复杂性的不断提高,系统生成的网络树规模越来越大,虽然可以利用分解系统的方法简化网络树,但是分析的复杂性依然很大。SSA将软件流程分为6种最基本的拓扑模式,如图1所示。
每一种拓扑模式都有若干线索表相对应,线索表就是一些列关于基本拓扑模式的问题,通过不断的问答过程分析软件的潜在问题。但是由于波音公司的严格保密以及应用领域的不同,线索表的获取以及其它相关技术一直是SSA技术的瓶颈。
相关文章
- 2022-02-01高压变频器在制酸中的应用
- 2022-09-21基于系统辨识的动态汽车衡称重方法
- 2023-05-17小波滤波法在涡街流量计中的应用
- 2023-04-12机械天平常见故障分析
- 2023-09-19超声的电磁脉冲激发方式的探讨
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。