在完成计算机科学研究生学习并加入计算机科学系后,我开始了系统安全方面的探索。在新工作的第一周,我接到了 Marion Moon 的电话,他是休斯飞机公司当时的地面系统部门的系统安全工程师。显然,他已经在几位教员之间辗转,我是他最后的希望。他告诉我他们在鱼雷项目中遇到了一个新问题,他称之为软件安全。我告诉他我对此一无所知,我从事的是完全不相关的领域,但我愿意研究它。从此,我开始了长达 22 年的寻找解决方案的旅程。很快我就明白了,问题出在系统工程上。在尝试从计算机科学界内部解决这个问题后,1998 年,我决定转到航空航天工程系,在那里,安全性和复杂性的斗争已经持续了很长时间,这样我就可以取得更大的进步。我还加入了麻省理工学院的工程系统部门 (ESD)。与 ESD 同事的互动鼓励我从大局考虑工程系统,而不仅仅是系统的技术方面,并研究我们采用的方法的根本基础。我想确定我们在系统安全方面遇到的困难是否源于工程师使用的技术与使用这些技术的新系统类型之间的根本不一致。我首先探索了系统理论和事故模型中的想法。事故模型构成了用于预防事故的工程技术和用于评估使用我们构建的系统相关风险的技术的基础。它们解释了事故发生的原因,即驱动导致不可接受损失的过程的机制,并决定了我们为预防事故而采取的方法。当今工程所依赖的大多数事故模型都源自计算机出现之前的时代,当时工程师正在构建简单得多的系统。基于这些模型的工程技术,如故障模式和影响分析 (FMEA) 和故障树分析 (FTA),已经存在了 40 多年,几乎没有什么变化,而与此同时,工程技术也经历了一场技术革命。新技术正在从根本上改变事故的成因,需要改变用于理解事故的解释机制和用于预防事故的工程技术。二十年来,我看到工业界的工程师们努力将旧技术应用于新的软件密集型系统——耗费了大量精力却收效甚微——于是我决定寻找一些新的东西。本书描述了这一探索的结果以及由此产生的新事故模型和系统安全工程方法。
主要关键词