本發(fā)明涉及一種安全需求生成方法,特別是一種基于形式化系統(tǒng)理論過程分析的安全需求生成方法。
背景技術(shù):
飛機(jī)上的檢查單是用來確保飛行機(jī)組人員可以在飛機(jī)的任何飛行階段根據(jù)檢查單來進(jìn)行飛機(jī)的配置操作。傳統(tǒng)方法是機(jī)組人員按照紙質(zhì)版檢查單來執(zhí)行檢查,容易出現(xiàn)各種差錯(cuò)。盡管航空界一直十分重視標(biāo)準(zhǔn)操作程序和檢查單,實(shí)際飛行中偏離標(biāo)準(zhǔn)操作程序,忽視檢查單的事卻時(shí)有發(fā)生,并由此造成了許多慘痛的事故。就拿檢查單來說,經(jīng)常發(fā)生下列情況:忽略檢查單程序,遺漏檢查單項(xiàng)目,或雖然形式上念過檢查單,但忘記項(xiàng)目落實(shí)或因種種理由而不執(zhí)行。電子檢查單是電子化的檢查單,在多功能顯示器上向飛行員顯示和提示各類檢查項(xiàng)目,機(jī)組成員根據(jù)提示執(zhí)行檢查,并通過按鍵記錄檢查單項(xiàng)目的執(zhí)行,電子檢查單不斷響應(yīng)機(jī)組成員的按鍵操作,隨時(shí)報(bào)告檢查單項(xiàng)目的完成狀態(tài)。隨著電子檢查單的普及,國內(nèi)自主研制的寬體飛機(jī)也將采用這種新型的電子檢查單系統(tǒng),然而對(duì)電子檢查單安全需求的研究較少,為了獲取電子檢查單系統(tǒng)的安全需求,使系統(tǒng)的安全性得到保證,需要一種基于形式化系統(tǒng)理論過程分析的方法提取電子檢查單系統(tǒng)的安全需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種基于形式化系統(tǒng)理論過程分析的安全需求生成方法。
為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:
一種基于形式化系統(tǒng)理論過程分析的安全需求生成方法,其特征在于包含以下步驟:
步驟一:針對(duì)需要分析的系統(tǒng)級(jí)危險(xiǎn),確定與其對(duì)應(yīng)的系統(tǒng)級(jí)安全約束,構(gòu)建系統(tǒng)的控制結(jié)構(gòu)圖;
步驟二:辨識(shí)出導(dǎo)致系統(tǒng)危險(xiǎn)的不恰當(dāng)控制,并根據(jù)不恰當(dāng)控制行為制定細(xì)化的安全約束;
步驟三:辨識(shí)導(dǎo)致不恰當(dāng)控制行為出現(xiàn)的控制缺陷,即導(dǎo)致系統(tǒng)危險(xiǎn)出現(xiàn)的根本原因;
步驟四:對(duì)確定的安全約束進(jìn)行變量的提取與形式化建模,再對(duì)這些需求進(jìn)行驗(yàn)證,將其中冗余或矛盾的需求剔除或修改。
進(jìn)一步地,所述步驟一中,定義電子檢查單的兩個(gè)系統(tǒng)級(jí)危險(xiǎn)如下:
h1.飛機(jī)上的電子檢查單內(nèi)容不正確;
h2.飛行員沒有根據(jù)電子檢查單對(duì)飛機(jī)進(jìn)行操作;
由上述系統(tǒng)級(jí)危險(xiǎn),可以得出相應(yīng)的系統(tǒng)級(jí)安全約束:
sc1.要確保飛機(jī)上的電子檢查單內(nèi)容的正確性;
sc2.飛行員必須按照電子檢查單的提示對(duì)飛機(jī)進(jìn)行操作。
進(jìn)一步地,所述步驟二中,系統(tǒng)的不恰當(dāng)控制包含:
1)控制器沒有提供所需的控制行為,或提供了控制行為卻沒有被很好的實(shí)施;
2)控制器提供了錯(cuò)誤的或不安全的控制行為;
3)正確的控制行為出現(xiàn)在錯(cuò)誤的時(shí)間;
4)正確的控制行為停止的過早或持續(xù)過久。
進(jìn)一步地,所述不安全控制行為制定細(xì)化的安全約束包含
sc1:當(dāng)飛機(jī)出現(xiàn)eicas可以感知的異常時(shí),eicas系統(tǒng)必須提示告警信息;
sc2:當(dāng)飛機(jī)出現(xiàn)eicas可以感知的異常時(shí),eicas系統(tǒng)必須提示正確的告警信息;
sc3:當(dāng)飛機(jī)未出現(xiàn)異常時(shí),eicas系統(tǒng)不應(yīng)提示告警信息;
sc4:當(dāng)飛機(jī)出現(xiàn)eicas可以感知的異常時(shí),eicas系統(tǒng)必須在規(guī)定的時(shí)間提示告警信息。
進(jìn)一步地,所述步驟三中,事故的致因包含控制器操作、執(zhí)行器和被控過程的行為三類。
進(jìn)一步地,所述步驟三中,控制缺陷包含
cf1.eicas系統(tǒng)發(fā)生故障;
cf2.eicas系統(tǒng)中的不恰當(dāng)?shù)目刂扑惴ǎ?/p>
cf3.eicas系統(tǒng)發(fā)出的告警信息在傳輸中丟失;
cf4.顯示eicas系統(tǒng)的告警信息的設(shè)備顯示器失效,不能顯示信息;
cf5.傳輸或顯示告警信息有時(shí)延;
cf6.機(jī)載設(shè)備傳感器失效,eicas不能獲取機(jī)載設(shè)備的信息。
進(jìn)一步地,所述步驟四中,形式化建模過程為
監(jiān)督變量aircraft_state用于指示飛機(jī)是否有異常,eicas_sen用于指示eicas能否感知飛機(jī)的異常;
項(xiàng)eicas_operate用于指示eicas系統(tǒng)的操作是否正確;
受控變量safety_eicas是根據(jù)項(xiàng)和監(jiān)督變量而定義的,表示eicas系統(tǒng)的安全性;
eicas安全控制系統(tǒng)包含以下集合:
監(jiān)督變量集合:{aircraft_state,eicas_sen}
受控變量集合:{safety_eicas}
項(xiàng)的集合:{eicas_operate}
與上述集合相關(guān)的類型定義:
ty(aircraft_state)={normal,abnormal}
ty(eicas_sen})={can,cannnot}
ty(safety_eicas)={true,false}
ty(eicas_operate)={eicas_alarminfo,eicas_alarmcorrect,eicas_alarmtime}。
進(jìn)一步地,所述步驟四中,安全需求形式為
sc1:(aircraft_state=abnormalandeicas_sen=can)→eicas_operate.eicas_alarminfo=true;
sc2:(aircraft_state=abnormalandeicas_sen=can)→eicas_operate.eicas_alarmcorrect=true;
sc3:i(aircraft_state=normal)→eicas_operate.eicas_alarminfo=false;
sc4:(aircraft_state=abnormalandeicas_sen=can)→eicas_operate.eicas_alarmtime=true。
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)和效果:
1)stpa危險(xiǎn)源識(shí)別方法可以辨識(shí)出傳統(tǒng)的技術(shù)無法處理的新的致因因素,提供的引導(dǎo)詞保證了分析的完整性,通過識(shí)別危險(xiǎn)致因,提供指導(dǎo)設(shè)計(jì)過程所需的信息,可以給軟件工程師的設(shè)計(jì)提供指導(dǎo)以盡量消除或控制這些情況。
2)stpa方法程序化地分析系統(tǒng)的不安全控制行為,得出電子檢查單系統(tǒng)的安全需求,降低了安全分析對(duì)專家經(jīng)驗(yàn)的過度依賴,并且從最早的概念設(shè)計(jì)階段開始,把安全設(shè)計(jì)到系統(tǒng)中,是構(gòu)建更加安全系統(tǒng)最經(jīng)濟(jì)有效的方法。
3)運(yùn)用四變量模型,對(duì)自然語言描述的需求進(jìn)行輕量的、實(shí)用的形式化描述與分析,促進(jìn)形式化技術(shù)在航空領(lǐng)域的應(yīng)用,保障了電子檢查單系統(tǒng)安全需求的正確性與一致性。
附圖說明
圖1是本發(fā)明的四變量模型圖。
圖2是本發(fā)明的電子檢查單系統(tǒng)控制結(jié)構(gòu)圖。
圖3是本發(fā)明的危險(xiǎn)致因示意圖。
圖4是本發(fā)明的項(xiàng)的條件表示意圖。
圖5是本發(fā)明的電子檢查單系統(tǒng)中的控制方表格。
圖6是本發(fā)明的每個(gè)控制方對(duì)應(yīng)的uca以及sc的數(shù)量表格。
圖7是本發(fā)明的使用的主要數(shù)學(xué)符號(hào)及其含義示意圖。
具體實(shí)施方式
下面結(jié)合附圖并通過實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明,以下實(shí)施例是對(duì)本發(fā)明的解釋而本發(fā)明并不局限于以下實(shí)施例。
圖7所示為說明書所用的主要數(shù)學(xué)符號(hào)及其含義示意圖。
如圖所示,本發(fā)明的一種基于形式化系統(tǒng)理論過程分析的安全需求生成方法,包含以下步驟:
步驟一:針對(duì)需要分析的系統(tǒng)級(jí)危險(xiǎn),確定與其對(duì)應(yīng)的系統(tǒng)級(jí)安全約束,構(gòu)建系統(tǒng)的控制結(jié)構(gòu)圖;
在系統(tǒng)論中,對(duì)涌現(xiàn)特性進(jìn)行控制的方法則是對(duì)單一組件的行為以及各個(gè)組件之間的交互進(jìn)行約束。,安全作為系統(tǒng)涌現(xiàn)性是由安全約束來保障的,系統(tǒng)級(jí)危險(xiǎn)的發(fā)生也就意味著系統(tǒng)級(jí)的安全約束被違反。因此,除了明確要分析的系統(tǒng)級(jí)危險(xiǎn)外,還需要確定系統(tǒng)級(jí)安全約束,以便在后續(xù)分析中確定如何保證該安全約束得以實(shí)現(xiàn)。通過構(gòu)建系統(tǒng)的控制結(jié)構(gòu)來揭示系統(tǒng)內(nèi)部不同組件的交互過程,以及各個(gè)過程之間的關(guān)系,為進(jìn)一步辨識(shí)導(dǎo)致系統(tǒng)危險(xiǎn)的原因奠定分析基礎(chǔ)。需要說明的是,系統(tǒng)的控制結(jié)構(gòu)并不僅包含控制框圖所體現(xiàn)的信息,還包含對(duì)各個(gè)控制過程所進(jìn)行的描述,如過程模型、控制算法等。
根據(jù)民機(jī)飛行事故,找出可能導(dǎo)致事故的由電子檢查單系統(tǒng)所造成的危險(xiǎn),確定與其對(duì)應(yīng)的系統(tǒng)級(jí)安全約束。在構(gòu)建系統(tǒng)的控制結(jié)構(gòu)圖來揭示系統(tǒng)內(nèi)部的交互過程,以及各個(gè)過程之間的關(guān)系,為進(jìn)一步辨識(shí)導(dǎo)致系統(tǒng)危險(xiǎn)的原因奠定分析基礎(chǔ)。在飛機(jī)的電子檢查單系統(tǒng)運(yùn)行期間,如果飛行員沒有根據(jù)檢查單內(nèi)容對(duì)飛機(jī)進(jìn)行操作,或者操作錯(cuò)誤都將導(dǎo)致安全隱患;而如果電子檢查單的內(nèi)容發(fā)生錯(cuò)誤,飛行員根據(jù)錯(cuò)誤的檢查單進(jìn)行操作,則很大程度上會(huì)產(chǎn)生飛行事故。根據(jù)檢查單對(duì)飛行安全的影響因素分析,定義電子檢查單的兩個(gè)系統(tǒng)級(jí)危險(xiǎn)(hazard)如下:
h1.飛機(jī)上的電子檢查單內(nèi)容不正確
h2.飛行員沒有根據(jù)電子檢查單對(duì)飛機(jī)進(jìn)行操作
由上述系統(tǒng)級(jí)危險(xiǎn),可以得出相應(yīng)的系統(tǒng)級(jí)安全約束(safetyconstraints,sc):
sc1.要確保飛機(jī)上的電子檢查單內(nèi)容的正確性;
sc2.飛行員必須按照電子檢查單的提示對(duì)飛機(jī)進(jìn)行操作。
通過對(duì)飛機(jī)的電子檢查單系統(tǒng)的工作原理行進(jìn)分析,充分掌握其具體工作流程,提取出系統(tǒng)中的控制方如圖5的表格所示。
由圖5表中的控制方與控制動(dòng)作,構(gòu)建出如圖2所示的電子檢查單系統(tǒng)的控制結(jié)構(gòu)圖,圖中標(biāo)“(action)”的為控制動(dòng)作。
步驟二:辨識(shí)出導(dǎo)致系統(tǒng)危險(xiǎn)的不恰當(dāng)控制,并根據(jù)不恰當(dāng)控制行為制定細(xì)化的安全約束;
系統(tǒng)的不恰當(dāng)控制的可分為以下四類:1)控制器沒有提供所需的控制行為,或提供了控制行為卻沒有被很好的實(shí)施;2)控制器提供了錯(cuò)誤的或不安全的控制行為;3)正確的控制行為出現(xiàn)在錯(cuò)誤的時(shí)間(過早或過晚);4)正確的控制行為停止的過早或持續(xù)過久。這些通用分類僅作為不恰當(dāng)控制辨識(shí)時(shí)的參考,針對(duì)具體的系統(tǒng)需要具體區(qū)分。另外,由于危險(xiǎn)分析的主要目的是在事故發(fā)生前找出潛在的危險(xiǎn)原因并進(jìn)行預(yù)防,因而需要根據(jù)辨識(shí)出的危險(xiǎn)致因——不恰當(dāng)控制來形成具體的安全約束,以保證系統(tǒng)的安全。
識(shí)別有可能導(dǎo)致危險(xiǎn)狀態(tài)的不安全控制。由于航空公司、機(jī)組、fms、ecl系統(tǒng)、eicas系統(tǒng)都可以作為控制方,所以導(dǎo)致系統(tǒng)危險(xiǎn)狀態(tài)的不安全控制行為(unsafecontrolaction,uca)將會(huì)由這些控制方產(chǎn)生。通過分析這些控制環(huán)路,辨識(shí)出其中的不安全控制行為,即危險(xiǎn)源,得出與之對(duì)應(yīng)的安全約束。
應(yīng)用該發(fā)明共分析出23條不安全控制行為,對(duì)應(yīng)的個(gè)數(shù)如圖6的表格所示。
下面以eicas系統(tǒng)為例,對(duì)它的控制行為進(jìn)行解釋。大多數(shù)異常檢查單都與一個(gè)警戒信息(eicasmessage)相對(duì)應(yīng),所顯示的某個(gè)eicasmessage表明有一個(gè)故障狀態(tài),并且提示飛行員選擇和完成該檢查單。eicas系統(tǒng)的不安全控制行為可分為以下幾種:
uca1.飛機(jī)出現(xiàn)異常時(shí),eicas系統(tǒng)沒有提供告警信息;
uca2.飛機(jī)出現(xiàn)異常時(shí),eicas系統(tǒng)提供錯(cuò)誤的告警信息;
uca3.飛機(jī)未出現(xiàn)異常時(shí),eicas系統(tǒng)提供告警信息;
uca4.飛機(jī)出現(xiàn)異常時(shí),eicas系統(tǒng)過晚提供告警信息;
其中uca1產(chǎn)生的原因是文中第一節(jié)所述的第一種情況,即沒有提供控制行為;uca2和uca3屬于第二種,提供錯(cuò)誤的控制行為;uca4屬于第三種,在不正確的時(shí)間提供控制行為;由于eicas系統(tǒng)提示告警信息信息是離散事件,所以不存在第四種危險(xiǎn)控制,停止過快或過慢。
與上述不安全控制行為對(duì)應(yīng)的細(xì)化后的安全約束表述如下:
sc1:當(dāng)飛機(jī)出現(xiàn)eicas可以感知的異常時(shí),eicas系統(tǒng)必須提示告警信息;(如:當(dāng)飛機(jī)的液壓系統(tǒng)發(fā)生故障時(shí),eicas系統(tǒng)應(yīng)在顯示屏上顯示告警信息)
sc2:當(dāng)飛機(jī)出現(xiàn)eicas可以感知的異常時(shí),eicas系統(tǒng)必須提示正確的告警信息;(如:當(dāng)飛機(jī)的液壓系統(tǒng)發(fā)生故障時(shí),eicas系統(tǒng)應(yīng)在顯示屏上顯示正確的告警信息,供機(jī)組人員進(jìn)行操作)
sc3:當(dāng)飛機(jī)未出現(xiàn)異常時(shí),eicas系統(tǒng)不應(yīng)提示告警信息;(如:發(fā)動(dòng)機(jī)未失火,eicas系統(tǒng)卻提示著火,則飛行員必須優(yōu)先處理該信息,這將影響飛機(jī)正常操作,帶來安全隱患)
sc4:當(dāng)飛機(jī)出現(xiàn)eicas可以感知的異常時(shí),eicas系統(tǒng)必須在規(guī)定的時(shí)間提示告警信息;(若提示過晚,發(fā)動(dòng)機(jī)著火,eicas系統(tǒng)報(bào)警過晚,可能使事故更加嚴(yán)重)
步驟三:辨識(shí)導(dǎo)致不恰當(dāng)控制行為出現(xiàn)的控制缺陷,即導(dǎo)致系統(tǒng)危險(xiǎn)出現(xiàn)的根本原因;
stpa的目的除了要找出上述不恰當(dāng)?shù)目刂菩袨?,還要進(jìn)一步分析導(dǎo)致這些不恰當(dāng)控制行為的原因,即系統(tǒng)自身的控制缺陷,如控制算法存在的問題、過程模型存在的問題等等,控制缺陷的一般分類。這些控制缺陷被視為系統(tǒng)危險(xiǎn)出現(xiàn)的最根本的致因,設(shè)計(jì)人員可以依據(jù)這些缺陷對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行改進(jìn),以提升系統(tǒng)的安全性。
分析不安全控制產(chǎn)生的原因。事故的致因可分為3類:控制器操作;執(zhí)行器和被控過程的行為;控制器和決策者之間的溝通和協(xié)調(diào)。控制結(jié)構(gòu)涉及人,環(huán)境和行為塑造機(jī)制在事故致因中也起著重要作用。本文共分析得出導(dǎo)致系統(tǒng)危險(xiǎn)出現(xiàn)的原因48條,下面以eicas系統(tǒng)的uca1為例,產(chǎn)生事故的致因分類如圖3示:
分析控制環(huán)路,可以得出以下6條控制缺陷:
cf1.eicas系統(tǒng)發(fā)生故障;
cf2.eicas系統(tǒng)中的不恰當(dāng)?shù)目刂扑惴ǎ?/p>
cf3.eicas系統(tǒng)發(fā)出的告警信息在傳輸中丟失;
cf4.顯示eicas系統(tǒng)的告警信息的設(shè)備顯示器失效,不能顯示信息;
cf5.傳輸或顯示告警信息有時(shí)延;
cf6.機(jī)載設(shè)備傳感器失效,eicas不能獲取機(jī)載設(shè)備的信息。
步驟四:對(duì)確定的安全約束進(jìn)行變量的提取與形式化建模,再對(duì)這些需求進(jìn)行驗(yàn)證,將其中冗余或矛盾的需求剔除或修改。
運(yùn)用四變量模型,檢查安全需求語法及類型方面的錯(cuò)誤,以及一致性和完整性相關(guān)的錯(cuò)誤。四變量模型的構(gòu)造形式如圖1所示,其主要是由四個(gè)變量及變量之間關(guān)系構(gòu)成:
1)受監(jiān)控變量(monitoredvariables,mv):系統(tǒng)觀察到并對(duì)系統(tǒng)行為做出回應(yīng)的變量;
2)受控制變量(controlledvariables,cv):系統(tǒng)用于控制外部環(huán)境做出回應(yīng)的變量;
3)輸入變量(inputvariables,iv):軟件讀入的變量,該變量由輸入設(shè)備將mv轉(zhuǎn)化所得;
4)輸出變量(outputvariables,ov):軟件讀出的變量,該變量經(jīng)輸出設(shè)備轉(zhuǎn)化后得到cv;
5)nat:定義系統(tǒng)環(huán)境中的自然約束,如飛機(jī)最大爬升率;
6)req:定義系統(tǒng)需求,指明當(dāng)mv發(fā)生變化時(shí),cv如何相應(yīng)的發(fā)生變化;
7)定義mv與iv之間的映射關(guān)系;
8)定義ov與cv之間的映射關(guān)系。
對(duì)ecl系統(tǒng)的安全需求建模。通過stpa方法得出的自然語言描述的安全約束還不夠準(zhǔn)確,需要用形式化的方法對(duì)安全約束進(jìn)行分析驗(yàn)證。采用形式化方法對(duì)需求進(jìn)行嚴(yán)格地描述和分析有助于提高軟件開發(fā)的規(guī)范性和工程化程度,保障軟件產(chǎn)品的質(zhì)量。
對(duì)ecl系統(tǒng)的安全需求進(jìn)行建模,下面以ecl系統(tǒng)與eicas安全控制系統(tǒng)之間的交互分析出的安全需求為例,給出其建模過程。
監(jiān)督變量aircraft_state用于指示飛機(jī)是否有異常,eicas_sen用于指示eicas能否感知飛機(jī)的異常;
項(xiàng)eicas_operate用于指示eicas系統(tǒng)的操作是否正確;
受控變量safety_eicas是根據(jù)項(xiàng)和監(jiān)督變量而定義的,表示eicas系統(tǒng)的安全性;
eicas安全控制系統(tǒng)包含以下集合:
監(jiān)督變量集合:{aircraft_state,eicas_sen}
受控變量集合:{safety_eicas}
項(xiàng)的集合:{eicas_operate}
與上述集合相關(guān)的類型定義:
ty(aircraft_state)={normal,abnormal}
ty(eicas_sen})={can,cannnot}
ty(safety_eicas)={true,false}
ty(eicas_operate)={eicas_alarminfo,eicas_alarmcorrect,eicas_alarmtime}
在每個(gè)安全需求下,項(xiàng)的值如圖4所示,
將上述需求用變量的形式表達(dá)如下:
sc1:(aircraft_state=abnormalandeicas_sen=can)→eicas_operate.eicas_alarminfo=true;
sc2:(aircraft_state=abnormalandeicas_sen=can)→eicas_operate.eicas_alarmcorrect=true;
sc3:i(aircraft_state=normal)→eicas_operate.eicas_alarminfo=false;
sc4:(aircraft_state=abnormalandeicas_sen=can)→eicas_operate.eicas_alarmtime=true。
本說明書中所描述的以上內(nèi)容僅僅是對(duì)本發(fā)明所作的舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對(duì)所描述的具體實(shí)施例做各種修改或補(bǔ)充或采用類似的方式替代,只要不偏離本發(fā)明說明書的內(nèi)容或者超越本權(quán)利要求書所定義的范圍,均應(yīng)屬于本發(fā)明的保護(hù)范圍。