文章目录:
为什么要引入STAMP/STPA到汽车功能安全领域?
STAMP/STPA的发展历史过程以及整体的方法(配合LiDAR案例)
STAMP/STPA如何同功能安全本身流程和分析方法融合?
Bonus:海量高能资料,别错过
这个问题是我在研究过程当中耗时最久的部分,因为只有了解“为什么”,你才能真正了解这套方法。
我试图去寻找汽车领域里暴露的需要引入STAMP/STPA能避免的事故案例,相对更多的案例都是航空航天领域、工业化学领域的案例(这也符合这个方法的发展)。但幸运的是,功夫不负有心人。
原始资料:https://link.zhihu.com/?target=https%3A//uspas.fnal.gov/materials/14JAS/JAS14-Thomas-Lecture.pdfhttps://s/14JAS/JAS14-Thomas-Lecture.pdf
2013年福特公司发生的多起发动机引发车辆起火的问题。存在了13起事故,影响近10万台车。
事故原因根据以上的官方及VP的描述,翻译罗列如下:
福特新闻稿:"原始的冷却系统设计在特定操作条件下无法解决冷却液系统压力消失的问题,这可能导致在发动机运行时发生车辆火灾。" 福特副总裁:"我们发生了一系列事件,导致冷却系统软件限制了冷却液流动,"他说。大部分时间,这不会成为问题,而且这是预期的行为。但在罕见情况下,冷却液压力结合其他条件可能导致冷却液沸腾。当冷却液沸腾时,发动机可能出现极度过热,进一步引起沸腾和快速增压。这导致在炎热的排气口附近发生冷却液泄漏,从而引发发动机火灾。
简短来描述就是:整车多个系统(包含传感/执行单元)之间存在关联性应用,某些场景下会导致发动机起火。
如上的案例,是个具体的引子,你肯定还是朦朦胧胧的,我们抽象一下整车以及系统,一目了然的看。
关注这个专栏,那你一定对红框不陌生,因此类比来看绿框的STAMP/STPA的定位会豁然开朗。
2.1 STAMP/STPA的发展历史过程
顺着上面提到的STAMP/STPA,我们来看看方法之母Nancy Leveson如何来介绍:
STPA(系统理论过程分析)是一种基于扩展的事故因果模型的相对较新的危险分析技术。
除了组件故障外,STPA假设事故也可能由系统组件之间的不安全交互引起,其中没有任何组件发生故障。相较于传统的危险/风险分析技术,STPA具有以下一些优点:
• 能够分析非常复杂的系统。在开发过程的早期阶段就能够识别先前只在操作中发现的“未知未知”,并予以消除或减轻。同时,处理预期和非预期的功能。
• 与传统的危险分析方法不同,STPA可以在早期的概念分析中开始,以帮助识别安全要求和限制。然后可以利用这些要求和限制来设计系统架构和设计中的安全性(和安全性),避免了在开发或运营的后期发现设计缺陷时涉及的昂贵的返工工作。随着设计的完善和制定更详细的设计决策,STPA分析也得到了改进,有助于制定越来越详细的设计决策。可以轻松地保持从需求到所有系统构件的完整可追溯性,增强系统的可维护性和演进性。
• STPA包括对软件和人员操作员进行分析,确保危险分析包括所有潜在的因果因素。
• STPA提供了大型复杂系统中常常缺失或难以找到的系统功能文档。
• STPA可以轻松集成到系统工程流程和基于模型的系统工程中。
对STPA与传统的危险分析方法(如故障树分析(FTA)、故障模式与影响批判性分析(FMECA)、事件树分析(ETA)和危险与可操作性分析(HAZOP))的评估和比较。在所有这些评估中,STPA找到了所有传统分析方法找到的因果场景,但它还发现了许多传统方法没有找到的与软件相关和非故障的场景。在某些情况下,分析人员没有被告知的事故,只有STPA找到了事故的原因。
是不是还是没那么懂?我们在换一篇介绍材料,再刷一遍理念,就是加粗的这一句。
MIT的Leveson教授在其著作《Engineering a Safer World》中指出,系统的安全性是由构成要素之间的相互作用产生的,不应将每个要素分离进行分析。现代系统中的许多事故并非由构成要素的故障引起,而是由控制器和被控制过程之间的相互作用失效导致的。因此,她提出了一种名为“STAMP(Systems-Theoretic Accident Model and Process):基于系统理论的事故模型”的模型。
STAMP模型认为,在系统的各个层级中存在控制器和被控制过程等要素,并且只有这些相互作用适当地发挥作用,系统的安全性才能得以实现。根据STAMP模型,事故是由于相互作用无法适当进行而发生的,具体来说,是由于控制器未能正确提供给被控制过程所需的控制动作(Control Action)。STAMP模型认为,不适当的控制动作是由于控制器对被控制过程的状态(称为过程模型:Process Model)的认知与实际被控制过程的状态不一致所导致的主要因素。即使控制器和被控制过程都没有发生故障,并且按照规范正常工作,由于这种认知不一致导致不适当的控制动作,最终会导致事故的发生。
随着STAMP的发展,Leveson教授及其研究团队意识到需要一种更具体和操作性的方法,用于分析系统的安全性和识别潜在的安全问题。于是,他们进一步开发了STPA方法,即System-Theoretic Process Analysis。STPA于2004年首次发布,是一种基于STAMP思想的系统安全分析方法。STPA强调对系统的功能、结构和控制策略进行分析,识别可能导致事故的不良控制行为或故障机制。
STPA和STAMP的关系是密切相连的。
STPA可以视为STAMP的一个组成部分,用于实施具体的安全分析。STAMP提供了系统安全分析的理论基础和框架,强调事故模型的开发和根本原因的揭示,而STPA则是在STAMP的指导下,具体实施安全分析的方法。两者相互支持、相互补充,共同为系统安全分析提供了综合而有效的方法和工具。
首先你要知道本质上STAMP/STPA是对系统安全工程有帮助的,因为历史告诉你它是随着技术发展进化出来的。
2.2 STAMP/STPA的整体的方法介绍
STPA方法主要主要分为四个部分,如下图所示:
第一步是定义分析目的。分析的目标是防止哪些类型的损失?STPA是否仅适用于传统的安全目标,如防止人员伤亡,还是更广泛地应用于安全、隐私、性能和其他系统属性?要分析的系统是什么,系统边界是什么?在这一步骤中,会解决这些和其他基本问题。
第二步是建立系统的模型,称为控制结构。控制结构通过将系统建模为一组反馈控制环路,捕捉功能关系和相互作用。控制结构通常从一个非常抽象的级别开始,并逐步细化,以捕捉有关系统的更多细节。无论STPA是否应用于安全、安全、隐私或其他属性,这一步骤都不会改变。
第三步是分析控制结构中的控制操作,以检查它们如何导致第一步中定义的损失。这些不安全的控制操作用于为系统创建功能要求和约束。无论STPA是否应用于安全、安全、隐私或其他属性,这一步骤也不会改变。
第四步是确定系统中发生不安全控制的原因。创建场景来解释:
不正确的反馈、不充分的要求、设计错误、组件故障和其他因素如何导致不安全的控制操作,最终导致损失。
安全的控制操作可能已经提供,但未被正确遵循或执行,导致损失。
一旦确定了场景,就可以用它们来创建额外的要求,确定缓解措施,驱动架构,提出设计建议和新的设计决策(如果STPA在开发过程中使用),评估/重新审视现有的设计决策和识别差距(如果STPA在设计完成后使用),定义测试用例和创建测试计划,开发风险的领先指标,以及本手册后续章节中描述的其他用途。
我们接下来分解动作,做起来:
2.2.1 Define Purpose of the Analysis:
简短理解,这个过程就是识别风险(类HARA),只不过STPA的风险更广,包括事故以外的性能、财务、质量等
类比到车载激光雷达这个部件,我们可以展开畅想看看:
Losses(accidents)举例而言,可以罗列为:
Losses-1:激光雷达未能准确探测到行人/物体(同功能安全)
Losses-2:激光雷达导致小电瓶亏电(区别于功能安全)
结合Losses的例子转化为Hazards:
H-1(System): 激光雷达无法探测到距离范围内的物体,车辆碰撞(同功能安全)
H-2(System): 激光雷达探测返回的点云信号存在错误,导致错误识别,车辆碰撞(同功能安全)
H-3(System): 激光雷达物理位置偏移,导致探测物体存在偏移错误,车辆碰撞(区别于功能安全)
H-4(System): 激光雷达没有实现低功耗模式,导致整车电瓶亏电,车辆无法启动(区别于功能安全)
由System hazard转化为System-Level Constraint(基本上相当于功能安全中的安全目标),举例来看:
H-1(System): 激光雷达无法探测到距离范围内的物体,车辆碰撞(同功能安全)
SLC-1:激光雷达不能允许无法有效探测引发车辆碰撞(基本上就是等同于Safety Goal,但是无ASIL)
2.2.2 Control Structure:
这个过程类似于Item Definition,控制结构是系统的“控制”层次结构的表示。控制结构的控制层次通常从三层结构开始,最低层显示被控制的“系统”,中间层是驱动系统的“控制器”,最高层是指挥控制器的最终元素。
类比到车载激光雷达,属于相对复杂的传感器,但是不属于复杂的系统,我们重在实践教学。这个过程中要注意识别哪些是控制动作(Control Action),哪些是反馈(Feedback)及边界限制(Constraint)。
因为接下来你的分析对象是:Control Actions(我花了不少时间研究清楚这个事情)。
2.2.3 Unsafe Control Actions:
这里结合附录材料参考看到有固定句型,本质上就是找失控制动作的失效方式,引导词驱动
类比到车载激光雷达的激光发射指令(Control Action),可以梳理出如下的UCA-1~UCA-3的示例
UCA1:激光雷达控制单元不能发出激光发射指令当车辆在运行过程中(示例)
UCA2:激光雷达控制单元发出了发射指令,但没有激光束打在物体上(示例)
UCA3:激光雷达控制单元发出了发射指令,但激光束打在了错误的物体上(示例)
2.2.4 Loss Scenarios:
终于进入了最终章,这也是STPA方法最终产生设计需求的关键环节,承接上面的UCA,在这一步要做的关键是请就是“UCA到底是如何引发的?”。我们要摘果子了!!!
从阅读资料的视角来讲,反而这部分内容很少,我觉得一句话来总结一下:
UCA向下直接采用FTA类分析方法得出安全需求,分析的SCOPE就是你Control Structure相关的信息。
结合激光雷达的UCA2来看,我重点说一下哪些也许是功能安全之外会被分析到的。
UCA2:激光雷达控制单元发出了发射指令,但没有激光束打在物体上(示例)
Causal factors可以是激光雷达控制单元,也可以是车体的机械固定、也可以是物体/环境。
CF1(安全需求):激光雷达控制单元的发射指令错误,比如应该第1个激光器发光,却实际触发了第100个(这个明显是ISO26262可以结合FMEA/FTA分析到的)
CF2(安全需求):车体的机械固定松动,导致激光雷达的FOV错误(NEW NEW NEW)
CF3(安全需求):物体是反射率很低的物体,会导致反射波形过弱(NEW NEW NEW,SOTIF)
如此,以上2.2.1-2.2.4打完手工,我们需要简短的做一个总结,避免读完就遗忘了。总结很重要!!!
STPA的关键四个步骤一套相对思维完整且系统性的风险分析方法,由于聚焦的方向是在于“全系统组件间的联动”+“不限于失效的思考方式”,STPA可以补足复杂系统仅考虑失效情况的欠缺。
但方法本身的成熟度我觉得还有待提升,主要是如下两点:
Control Structure的面向不同系统层级的标准化,或者更直接来讲“满足什么条件值得用”
UCA到Causal factors(安全需求)的分解方式采用什么方法?目前感觉是个不够系统的地方
这个话题我查了非常多的资料,开展方式虽然不尽相同,但是核心理念都一样,借用某论文中一段话:
“虽然STPA代表了一种有前景的危险分析技术,解决了传统技术的一些局限性,但它并不试图提供传统危险分析技术中有时包含的风险分析组件。通过对ISO 26262第3部分中的HARA条款的仔细调查,我们得出结论:STPA在任何方式上都不会干涉ISO 26262的风险分析,相反,经证明只需适度扩充即可将STPA用于符合ISO 26262的HARA过程。因此,这里介绍的增强型STPA能够支持ISO 26262的所有输出结果,以满足该标准的HARA要求。因此,我们可以在符合ISO 26262的过程中利用STPA的优势。”
https://link.zhihu.com/?target=http%3A//sqrl.mcmaster.ca/~lawford/papers/UsingSTPAinISO26262proces.pdf
rd/papers/UsingSTPAinISO26262proces.pdf描述的非常清楚,这个话题我不特别展开一步步来讲,我结合几张不错的框架图引导大家落地:
STPA映射到ISO26262来看整体而言所处阶段及对应关系,Functional Safety Concept;整体过程可以非常好的融入到V-model的开发过程
2. 如何开展STPA的UCA和HCF?FTA是很棒的工具,综合起来用,更容易上手
3. 对于复杂的车载系统,尤其是依赖人机交互和外部环境的,在早期就可以开展STPA配合HARA的方式
最后,我们可以很明显的看到,相对于单独讨论功能安全,智能网联汽车一定是系统安全(System Safety)的综合工程体,而系统安全一定是包括不限于功能安全Functional Safety的。
迄今为止,最大量的STPA相关资料参考文献即将出现!!!前方高能!!!
备注:若微信访问存在问题,请知乎查阅:
https://zhuanlan.zhihu.com/p/632311983
1. Introduction to system safety and risk management in complex systems(MIT,有风险案例和STAMP/STPA的理论,同时让容易让人明白Human Factors+Environmental Constraints)
https://uspas.fnal.gov/materials/14JAS/JAS14-Thomas-Lecture.pdf
2. Homepage of Pro. Nancy Leveson(STAMP/STPA鼻祖): Nancy Leveson's Home Page at MIT
White Paper on Approaches to Safety Engineering(From Nancy Leveson):http://sunnyday.mit.edu/caib/concepts.pdf
3. はじめての STAMP/STPA(知识很系统,掌握日语的可以看看):https://www.ipa.go.jp/en/digital/complex_systems/g6ovkg0000005yir-att/000055009.pdf
4. STPA handbook(Handbook应该是个指导书,可以常握手中的):
https://psas.scripts.mit.edu/home/get_file.php?name=STPA_handbook.pdf
5. MIT‘s STAMP Research and STPA Applications(针对STPA和FMEA开展了对比,数据有参考)
https://www.amsterdamuas.com/binaries/content/assets/subsites/aviation/icsc/icsc2018/eswc-2018-presentations/eswc2018_session2_01_mit-stamp-research-and-stpa-application.pdf?1542643121824
6. New Safety Analysis Method as a Combination of STAMP & FTA(结合FTA的STPA实践,很有帮助)
https://repository.dl.itc.u-tokyo.ac.jp/record/55015/files/K-07807.pdf
7. APPLICATION OF STPA TO A LANE KEEPING ASSIST SYSTEM(对于车道保持系统的一个案例,不算深入)
http://psas.scripts.mit.edu/home/wp-content/uploads/2017/04/Haneet-Singh_Application-Of-STPA-To-A-Lane-Keeping-Assist-System.pdf
8. Safety and Security Analysis of AEB for L4 Autonomous Vehicle Using STPA (AEB的案例,不算深入,但是同时引入了功能安全和网络安全)
https://drops.dagstuhl.de/opus/volltexte/2019/10338/pdf/OASIcs-ASD-2019-5.pdf
9. Systems Approach to Scenario Generation for Automated Driving System(很系统的讲解,每一步说的都很清楚,值得读一读)
https://www.connectedautomateddriving.eu/wp-content/uploads/2021/05/20210511_SKhastgir_ARCADE2021_STPA_Systems_Approach_to_Scenario_Generation.pdf
10. 知乎上不错的介绍(我第一篇搜到的资料):RAMS工程师:STPA:一款危害分析工具
11. When STPA Results Surprise You(同汽车行业无关,但是内容很系统):http://psas.scripts.mit.edu/home/wp-content/uploads/2020/07/JThomas-When-STPA-Results-Surprise-You-STPAHAZOPFMEAFTA.pdf
12. SAE STPA Recommended Practice Task Force Update J3187 – Applying System Theoretic Process Analysis (STPA) to Automotive Applications
http://psas.scripts.mit.edu/home/wp-content/uploads/2020/07/SAE-STPA-Recom-Pract-Task-Force-Update.pdf
13. Automated Vehicle Research for Enhanced Safety (这个报告不直接和STPA相关,但是很值得开展自动驾驶的同事们关注一下)
https://downloads.regulations.gov/NHTSA-2014-0070-0003/attachment_1.pdf
14. STPA FOR AUTONOMOUS VEHICLE SAFETY IN TRAFFIC SYSTEMS
https://odr.chalmers.se/server/api/core/bitstreams/fa189e04-5fb3-4ac5-a7fb-74718db82406/content
15. NHTSA: Functional Safety Assessment of an Automated Lane Centering System(很长很详细)
https://www.nhtsa.gov/sites/nhtsa.gov/files/documents/13498b_812573_alcsystem_appendices.pdf
16. SAFETY-CRITICAL SYSTEMS RECOMMENDED PRACTICE(J3187已经付费,有兴趣的小伙伴私聊即可)
17. Using STPA in Compliance with ISO26262 for developing a Safe Architecture for Fully Automated Vehicles(非常深入的STPA与ISO26262的融合,很值得读)
http://psas.scripts.mit.edu/ho