目前在自動駕駛系統(tǒng)供應商(除Bosch和AVL外)的開發(fā)流程中很少由見到STPA應用的痕跡,但對于自動駕駛系統(tǒng)來說,STPA對于三級自動化以上系統(tǒng)級工程的幫助是巨大的,這種源自于航天工程的系統(tǒng)分析工具將在很大程度上幫助完成Costdown的工作。
Cost during development
本文依據(jù)Nancy教授的系統(tǒng)安全分析邏輯分為以下五個部分:
Whydoweneedsomethingelse?
WhatisSTAMPandhowdoesitdifferfromwhatpeopledonow?
Whatkindsoftoolsareavailable?
Howisitbeingused?
Doesitwork?
Whydoweneedsomethingelse?
在系統(tǒng)安全的領(lǐng)域,產(chǎn)品開發(fā)現(xiàn)有的安全措施已經(jīng)存在了近70年,相關(guān)思想和工具并沒有太多的改變,但相關(guān)系統(tǒng)中的軟件比例卻開始大幅提升,如下圖:
從1970年開始,人們開始使用計算機設(shè)備用于控制系統(tǒng),增加了系統(tǒng)復雜性和新技術(shù)的冗雜度,也改變了人們控制系統(tǒng)的方式,人們開始擴展原有的工具應用于新的系統(tǒng)安全領(lǐng)域,但收效甚微,其原因在于原有老舊的安全工具著重于傳統(tǒng)控制模型下失效事件的發(fā)生原因,而新的控制模型已經(jīng)到來。對于馬車的分析方法很難應用于對導彈的分析中來。
對于現(xiàn)代的系統(tǒng)工程而言,計算機軟件對于系統(tǒng)的影響分為四個方面:
由于系統(tǒng)的控制模型隨著計算機控制系統(tǒng)的到來而發(fā)生的變化,其本質(zhì)原因在于軟件帶給系統(tǒng)的變化,但這里并不意味著軟件的失效,大部分的軟件本身是不會失效的,軟件只是在一個目標平臺上實現(xiàn)功能的工具。Softwareispuredesignanddesigndonot"fail".所以在系統(tǒng)工程的定義中,軟件并不會出現(xiàn)如硬件一般的RandomFailure.
2.在足夠成熟的但出現(xiàn)問題的系統(tǒng)中,軟件的問題最后總會映射到系統(tǒng)設(shè)計的不足,在系統(tǒng)設(shè)計中可能會出現(xiàn)的兩個問題為:
對于被控系統(tǒng)或計算機錯誤或不完整的需求
不能被解決的系統(tǒng)狀態(tài)和環(huán)境因素
對于自動駕駛系統(tǒng)來說,系統(tǒng)工程由系統(tǒng)架構(gòu)師發(fā)起,確定系統(tǒng)需求,由軟件工程師理解系統(tǒng)需求后設(shè)計軟件系統(tǒng),人們的眼光往往更多的聚焦于軟件工程師的Coding的實施,而忽視了系統(tǒng)工程中重要的系統(tǒng)需求的過程,而往往軟件工程的質(zhì)量并不能完全覆蓋系統(tǒng)工程的質(zhì)量。
3.軟件幾乎允許無限制的系統(tǒng)復雜度,這意味著:
無法計劃、理解、預測和對抗不期的系統(tǒng)行為,傳統(tǒng)的純硬件行為意味著可預測的控制,但軟件帶來的控制的新方式帶來了新的風險。
需要使用足夠詳盡的測試以解決所有的系統(tǒng)設(shè)計錯誤。
波音747的軟件在其平臺上是安全的,但并不意味著在波音737的平臺上同樣安全,也就是說獨立的軟件安全并不會決定系統(tǒng)的安全,人們可以說系統(tǒng)在某目標平臺上在某種情況下是安全的,但無法認為系統(tǒng)是安全的。輔助駕駛系統(tǒng)往往要求駕駛員的雙手放在方向盤上,但如果在方向盤上用其他的方式施加同樣的力矩輔助駕駛系統(tǒng)便無法檢測,導致系統(tǒng)錯誤的感知到人的決策,極易導致交通風險。而這一切的本質(zhì)就在于軟件帶來的控制思維的變化。
事故的發(fā)生存在于以下方面:
模塊失效事故
單點或多點模塊失效
隨機失效
以上的失效事件均可以通過同質(zhì)或異質(zhì)冗余的方式解決。
模塊交互失效
模塊間的復雜交互失效
模塊間的交互失效往往不但關(guān)系到接口的失效,還關(guān)系到系統(tǒng)設(shè)計框架的缺陷,這些問題是最難以發(fā)現(xiàn)并解決的。
4. 軟件的存在改變了人們在系統(tǒng)中的定義
系統(tǒng)的使用者或者交互人員往往難以做到對于系統(tǒng)的全面了解,可以使用以下的方式解決這個問題:
訓練系統(tǒng)的操作者等措施使系統(tǒng)操作者更加了解系統(tǒng)。
提高系統(tǒng)的自動化以代替操作者,或?qū)τ谙到y(tǒng)操作者提出操作的限制。
從系統(tǒng)設(shè)計自身的角度上看,操作者的錯誤是一種癥結(jié),而不是一種病因,在高復雜度的系統(tǒng)工作中操作者的角色與傳統(tǒng)系統(tǒng)存在不一致的情況,與此同時系統(tǒng)的設(shè)計本身也存在著允許操作者進行誤操作的接口,這就要求在系統(tǒng)設(shè)計的過程中注意設(shè)備的設(shè)計以及無意義操作的減少。
Thatiswhyweneedsomethingnew!
2.WhatisSTAMPandhowdoesitdifferfromwhatpeopledonow?
STAMP(System-TheoreticAccidentModelandProcesses)是一種用來描述事故是如何發(fā)生的模型,它將安全定義為一個控制問題,用于巨型復雜的系統(tǒng),包含軟件,硬件,人類,運行,管理等多個方面。STAMP認為危害來自于對于系統(tǒng)設(shè)計和運行缺少安全限制的原因,STAMP的目的是控制系統(tǒng)的行為以限制系統(tǒng)的安全。
并不使用預防危害的方式保證系統(tǒng)的安全,而使用安全限制的方式來控制系統(tǒng)表現(xiàn)
系統(tǒng)安全的工作過程踐行了STAMP的核心思想,WaystoCopewithcomplexity:
Analytic reduction
System theory and system engineering
什么是Analyticreduction?
一般情況下,若需要設(shè)計一個高復雜度的系統(tǒng),第一件事情就是把高復雜度的系統(tǒng)分為小的部分,我們可以將系統(tǒng)認為物理層面和功能層面的存在,那么就可以將系統(tǒng)進行物理劃分和功能劃分后進行獨立的分析和設(shè)計。這一切的工作建立在子系統(tǒng)間足夠獨立、子系統(tǒng)間不會出現(xiàn)非線性的交互,和子系統(tǒng)均能在母系統(tǒng)中協(xié)同工作的基礎(chǔ)上。
在當下的自動駕駛系統(tǒng)中這些情況顯然難以滿足,只進行FMEA,F(xiàn)TA此類工作工具對于系統(tǒng)安全顯然已經(jīng)無法滿足需要,在當下的復雜系統(tǒng)的系統(tǒng)安全設(shè)計思想中,冗余和隔離,高集成度,F(xiàn)ail-safe的系統(tǒng)策略需要被考慮,對于操作者來說,操作空間、操作流程、Checklist,培訓的方法也同樣被列為重要的手段。
什么是Systemtheoryandsystemengineering?
系統(tǒng)工程作用在復雜系統(tǒng)的完整分析上,專注于完整的系統(tǒng)而非獨立的子系統(tǒng),包括所有的社會因素以及技術(shù)因素
STAMP架構(gòu)下的系統(tǒng)模型就是下圖中大環(huán)套小環(huán)的存在,假設(shè)最底層的控制邏輯是輔助駕駛功能ACC最基本的邏輯,包括感知決策和執(zhí)行三個層面,那么還會由最底層的功能系統(tǒng)延伸到上層的操作域,到公司管理、相關(guān)法律法規(guī)以及國會:
在模型開發(fā)的基礎(chǔ)上,控制模型對于系統(tǒng)工作Process的控制理論上可以在早期更好地控制被控對象的風險。
3.Whatkindsoftoolsareavailable?
STAMP只是一種理論,理論中包含許多過程與工具:
STPA是一種從上至下的系統(tǒng)分析工具,它可以用來分析系統(tǒng)中任何因素的安全限制,用于生成安全需求,它可以用來分析違反相關(guān)安全限制的場景用來提高系統(tǒng)的穩(wěn)健性,它可以用來做技術(shù)的設(shè)計以及組織的設(shè)計,它可以幫助早期的設(shè)計工作和中后期的設(shè)計迭代和進化。
4.Howthetoolsbeingused?
上圖是在工業(yè)界的一個經(jīng)典的控制回路,計算機控制CATALYST和COOLINGWATER的閥門,軟件工程師收到的需求往往是當有任何的錯誤發(fā)生時,停止控制鏈中的任何工作并發(fā)出警報提醒操作者。看上去毫無問題的一條需求卻有著致命的缺陷,但當GEARBOX中的油位很低時,計算機停止工作,一切停止,操作工加滿GEARBOX的油量后重啟的時候計算機先打開了CATALYST的閥門,后打開了COOLINGWATER的閥門,導致REACTOR過熱出現(xiàn)危險。在完整的控制鏈中軟件按照需求沒有出現(xiàn)任何問題,其問題源于早期系統(tǒng)設(shè)計的不足。
我們通常會使用物理模型的方式作為軟件需求的輸入,但當功能模型被生成時,其中往往會出現(xiàn)未形成閉環(huán)的情況,導致系統(tǒng)控制策略的缺失。
可以使用表格的方式,對于Process做出定性的控制,以分析在不同的情況下,CATALYST與COOLWATER對于系統(tǒng)的影響,通過這種方式,可以得到早期的HighLevelRequirement:
Water valve shall always be fully open before catalyst valve is opened
Water valve shall not be opened more than X seconds after catalyst valve open
Catalyst valve shall always be fully closed before water valve is closed
Catalyst valve shall not be closed more than X seconds after water valve has fully closed
當我們得到了HighLevelRequirement的時候我們需要分析不安全的控制行為并避免或減弱其影響,如:
分析若CATALYST打開而COOLING WATER沒有打開的原因
打開COOLING WATER的指令被發(fā)出,但沒有執(zhí)行的原因
Etc...
通過在系統(tǒng)工程中對于Process的定性安全分析來確定安全危害的來源并添加新的需求:
Software shall check for feedback after issuing an Open/Close command. If not received in a specified time period, then assume valve not opened or closed
There must be feedback to controller to determine that water is actually flowing through pipe before issuing an Open Catalyst command
Full control loop example
5.Doesitwork?
STPA已經(jīng)被用于太空、國防、汽車、核電等重要領(lǐng)域,相比FTA,HAZOP,F(xiàn)MEA,ETA來說,STPA同樣分析危險的來源,并可以更好的發(fā)現(xiàn)與軟件和人類相關(guān)的危害原因。正是因為STPA可以在早期確認風險的存在,在Top-Down系統(tǒng)開發(fā)的流程中相比于使用傳統(tǒng)安全分析工具的系統(tǒng)開發(fā)的成本將被進一步的降低。
-
自動駕駛
+關(guān)注
關(guān)注
784文章
13856瀏覽量
166587
原文標題:自動駕駛路線圖:基于STPA的系統(tǒng)分析
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論