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