安全关键软件的需求递阶层次结构
2012-07-04褚文奎张凤鸣
电光与控制 2012年6期
关键词:安全性
郭 蕾, 褚文奎, 田 松, 张凤鸣
(1.空军装备研究院航空研究所,北京 100076;2.空军工程大学工程学院,西安 710038)
0 引言
美国宇航局在标准 NASA-STD-8719.13B[1]中将“直接指挥、控制关键硬件或危险源”以及“监视关键硬件或危险源的状态”的软件称为安全关键软件(Safety Critical Software,SCS)。这类软件一旦故障或失效,将导致生命、财产或环境等方面难以承受的灾难性后果。
文献[2]分析了20世纪90年代发生的5起航天器事故,结论归咎于软件存在安全性问题;文献[3]对国外发生在1980~1996年间的8起灾难性事故进行分析,结果表明软件需求缺陷是导致这些事故的主要因素;文献[4]搜集的证据表明,单元测试发现的软件缺陷和错误中,需求错误占70%;文献[5]的研究数据表明,软件需求缺陷导致的安全性问题已占到了60%~80%。这些数据无一例外地说明了一个事实,即需求缺陷是导致事故发生的主要根源。
采用基于模型的开发(Model-Based Development,MBD)方法[6]进行安全关键软件开发时,上述结论将得到进一步印证和巩固。在MBD方法中,引入了软件自动编码、自动集成、自动测试、自动配置等自动实现技术,这些技术的引入有效地避免了人为错误,同时也使得软件工程师将工作重心由编码实现转向需求模型的构建。随着软件自动实现技术的日益成熟,以及人们对安全问题的日益重视,安全关键软件在编码实现、集成测试等阶段引入的足以导致危险后果的错误日益减少。相对应地,因需求规约缺陷所导致的安全性问题所占比重日益上升,并逐渐占据了主导地位。……
登录APP查看全文
