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