自主系統(tǒng)發(fā)生災(zāi)難時(shí),軟件應(yīng)負(fù)多少責(zé)任?
過去幾十年,信息系統(tǒng)計(jì)算重心不停在集中化與分布式之間搖擺,這為企業(yè)級應(yīng)用從業(yè)者帶來更多挑戰(zhàn)。無論是工業(yè)、汽車還是航空航天應(yīng)用,一套系統(tǒng)服役期往往會(huì)超過10年,甚至在15年以上,這類應(yīng)用對可靠性與安全性等要求又比消費(fèi)級應(yīng)用高很多,所以傳統(tǒng)開發(fā)方法將系統(tǒng)分解為不同的小模塊,采用黑盒模式來進(jìn)行開發(fā),可以保證全系統(tǒng)可靠、簡單、直觀,但也帶來了升級困難、不易擴(kuò)展、成本高昂、維護(hù)復(fù)雜等諸多弊端。
歸一化平臺
為應(yīng)對上述難題,風(fēng)河公司的解決之道是推出了風(fēng)河Helix虛擬化平臺(Wind River Helix Virtualization Platform)。風(fēng)河Helix虛擬化平臺充分考慮系統(tǒng)的可擴(kuò)展性與可兼容性,通過異構(gòu)集成平臺來跨越不同操作系統(tǒng)與硬件架構(gòu)之間的鴻溝,又采用靜態(tài)配置、動(dòng)態(tài)配置以及動(dòng)靜態(tài)混合配置來適應(yīng)不同系統(tǒng)對可靠與安全性需求,既能滿足當(dāng)前項(xiàng)目需求與合規(guī)性,也方便引入新的硬件、軟件、框架或云服務(wù),實(shí)現(xiàn)舊系統(tǒng)向新系統(tǒng)的無縫升級。
“Helix是統(tǒng)一的平臺,一致性高,可擴(kuò)展性高,維護(hù)方便,易于更新,”風(fēng)河公司航空與國防業(yè)務(wù)發(fā)展總監(jiān)Alex Wilson告訴探索科技(TechSugar),Helix虛擬化平臺有四大特色。
首先是異構(gòu)集成,一個(gè)軟件平臺支持多種操作系統(tǒng)(包括風(fēng)河自產(chǎn)操作系統(tǒng)及第三方操作系統(tǒng)),并提供不同等級的安全機(jī)制;其次是抽象化,利用風(fēng)河異構(gòu)平臺中間層,將芯片與應(yīng)用分割開來,便于系統(tǒng)擴(kuò)展升級;第三是安全隔離,風(fēng)河Hypervisor技術(shù)為同一系統(tǒng)中的不同操作系統(tǒng)或應(yīng)用提供安全有效的隔離機(jī)制,方便開發(fā)者更容易地實(shí)現(xiàn)系統(tǒng)整合;第四是統(tǒng)一整合,利用Hypervisor硬件虛擬化技術(shù),開放人員可以用多核單板系統(tǒng)來替換多主板/多處理器系統(tǒng),既可保持多操作系統(tǒng)的優(yōu)勢,又能降低多處理器集成過程中的復(fù)雜度與風(fēng)險(xiǎn)。
Helix平臺將系統(tǒng)復(fù)雜度收納在自己平臺之內(nèi),大幅降低了用戶開發(fā)維護(hù)的難度,但如何保證復(fù)雜異構(gòu)系統(tǒng)之間相互配合時(shí)的安全性與可靠性呢?
風(fēng)河公司航空與國防業(yè)務(wù)發(fā)展總監(jiān)Alex Wilson
“在核電站、飛機(jī)駕駛系統(tǒng)等高安全應(yīng)用場景,Helix平臺將采用靜態(tài)配置,盡可能減少系統(tǒng)功能子集,增加可靠性與安全性,” 針對探索科技(TechSugar)的這一疑問,Alex表示,風(fēng)河Helix平臺利用不同的配置選擇來應(yīng)對不同的安全等級要求,“在這些應(yīng)用的核心理念就是減少子集,減少復(fù)雜度,確保安全性,絕對不會(huì)用到Linux或Windows系統(tǒng)。”
軟件外包在航空業(yè)已是慣例
在Helix平臺推薦應(yīng)用中,高安全應(yīng)用將采用靜態(tài)配置,以確保系統(tǒng)可靠與安全;富生態(tài)應(yīng)用將采用動(dòng)態(tài)配置,以支持復(fù)雜多任務(wù)及多操作系統(tǒng)類應(yīng)用場景;而汽車應(yīng)用則是典型的混合配置場景,自動(dòng)駕駛功能對安全性要求高,所以只適合靜態(tài)配置,而人機(jī)交互等其他應(yīng)用,則可以用動(dòng)態(tài)配置來實(shí)現(xiàn)更豐富的功能支持。
Hilex平臺配置組合
但即便采用最高安全規(guī)格要求來開發(fā)軟件,也并不是萬無一失。比如,波音公司已經(jīng)承認(rèn),將升級軟件以應(yīng)對近期波音737MAX在埃塞俄比亞航空公司空難事件暴露出的安全風(fēng)險(xiǎn)。
“過去20年,航空航天領(lǐng)域一直都是外包軟件,其他很成功的機(jī)型,例如波音787或中國的C919,都采用過軟件外包?!?nbsp;業(yè)界有聲音認(rèn)為,波音將部分軟件外包應(yīng)為此負(fù)責(zé),但Alex Wilson認(rèn)為,軟件外包是航空航天領(lǐng)域的傳統(tǒng),埃航空難不一定會(huì)影響航空業(yè)的軟件外包商業(yè)模式,“不論外包與否,都有非常嚴(yán)格的規(guī)范來對軟件系統(tǒng)進(jìn)行檢驗(yàn),但問題是現(xiàn)在軟件代碼量越來越多,不同功能軟件之間的配合要求越來越多,從自動(dòng)化階段進(jìn)化到自主階段,如何確保系統(tǒng)級的絕對安全,是未來航空航天軟件業(yè)的核心問題?!?
“DO-187C認(rèn)證標(biāo)準(zhǔn)對安全要求非常高,通過認(rèn)證的成本也極高,” Alex Wilson向探索科技(TechSugar)解釋,傳統(tǒng)上,航空行業(yè)有非常嚴(yán)苛的軟件功能安全認(rèn)證標(biāo)準(zhǔn),但當(dāng)前的問題是人工智能在自主系統(tǒng)中將發(fā)揮主要作用,而傳統(tǒng)軟件功能測試對人工智能的測試覆蓋并不完整?!皞鹘y(tǒng)軟件測試完成后,功能都可以預(yù)測,而加入人工智能以后,當(dāng)前的測試標(biāo)準(zhǔn)很難預(yù)測所有狀況,這是一個(gè)很大的挑戰(zhàn)?!?
軟件在自主系統(tǒng)中的責(zé)任
測試覆蓋率不完善,可以從技術(shù)上去逐漸解決,但自主系統(tǒng)責(zé)任認(rèn)定上還有需要立法的支持。嚴(yán)格意義上的自主系統(tǒng)將不需要人類介入,但如果發(fā)生事故導(dǎo)致?lián)p失,由誰來承擔(dān)責(zé)任現(xiàn)在還沒有明確的法規(guī)可以遵循。
以汽車自動(dòng)駕駛系統(tǒng)為例,不管廠商在宣傳上如何暗示自己的自動(dòng)駕駛系統(tǒng)如何高級,但使用手冊上都要明確注明司機(jī)不得在行駛中手離方向盤。
“萬一出現(xiàn)事故,不是軟件的問題,責(zé)任由人類駕駛來承擔(dān),” Alex表示汽車公司做出聲明,就是做好責(zé)任切割,“這讓我們思考一個(gè)有關(guān)自主系統(tǒng)的社會(huì)問題,人類到底可以讓軟件做多少的決定,百分百都交給軟件控制是否可行?如果系統(tǒng)控制權(quán)百分百交給軟件,那么軟件到底應(yīng)該是扮演什么樣的角色,人類又如何通過測試來確保功能安全,如果出現(xiàn)意外該如何處理,這些都都需要我們?nèi)ニ伎肌!?
Alex強(qiáng)調(diào),這些問題并不是時(shí)效性不高的遠(yuǎn)期問題,而亟待人類盡快討論出可行解決方案,“就我們的觀察來說,越來越多的系統(tǒng)正走在從自動(dòng)化系統(tǒng)轉(zhuǎn)變成自主系統(tǒng)的路上?!?