自主系統(tǒng)發(fā)生災難時,軟件應負多少責任?
過去幾十年,信息系統(tǒng)計算重心不停在集中化與分布式之間搖擺,這為企業(yè)級應用從業(yè)者帶來更多挑戰(zhàn)。無論是工業(yè)、汽車還是航空航天應用,一套系統(tǒng)服役期往往會超過10年,甚至在15年以上,這類應用對可靠性與安全性等要求又比消費級應用高很多,所以傳統(tǒng)開發(fā)方法將系統(tǒng)分解為不同的小模塊,采用黑盒模式來進行開發(fā),可以保證全系統(tǒng)可靠、簡單、直觀,但也帶來了升級困難、不易擴展、成本高昂、維護復雜等諸多弊端。
歸一化平臺
為應對上述難題,風河公司的解決之道是推出了風河Helix虛擬化平臺(Wind River Helix Virtualization Platform)。風河Helix虛擬化平臺充分考慮系統(tǒng)的可擴展性與可兼容性,通過異構集成平臺來跨越不同操作系統(tǒng)與硬件架構之間的鴻溝,又采用靜態(tài)配置、動態(tài)配置以及動靜態(tài)混合配置來適應不同系統(tǒng)對可靠與安全性需求,既能滿足當前項目需求與合規(guī)性,也方便引入新的硬件、軟件、框架或云服務,實現舊系統(tǒng)向新系統(tǒng)的無縫升級。

“Helix是統(tǒng)一的平臺,一致性高,可擴展性高,維護方便,易于更新,”風河公司航空與國防業(yè)務發(fā)展總監(jiān)Alex Wilson告訴探索科技(TechSugar),Helix虛擬化平臺有四大特色。
首先是異構集成,一個軟件平臺支持多種操作系統(tǒng)(包括風河自產操作系統(tǒng)及第三方操作系統(tǒng)),并提供不同等級的安全機制;其次是抽象化,利用風河異構平臺中間層,將芯片與應用分割開來,便于系統(tǒng)擴展升級;第三是安全隔離,風河Hypervisor技術為同一系統(tǒng)中的不同操作系統(tǒng)或應用提供安全有效的隔離機制,方便開發(fā)者更容易地實現系統(tǒng)整合;第四是統(tǒng)一整合,利用Hypervisor硬件虛擬化技術,開放人員可以用多核單板系統(tǒng)來替換多主板/多處理器系統(tǒng),既可保持多操作系統(tǒng)的優(yōu)勢,又能降低多處理器集成過程中的復雜度與風險。
Helix平臺將系統(tǒng)復雜度收納在自己平臺之內,大幅降低了用戶開發(fā)維護的難度,但如何保證復雜異構系統(tǒng)之間相互配合時的安全性與可靠性呢?

風河公司航空與國防業(yè)務發(fā)展總監(jiān)Alex Wilson
“在核電站、飛機駕駛系統(tǒng)等高安全應用場景,Helix平臺將采用靜態(tài)配置,盡可能減少系統(tǒng)功能子集,增加可靠性與安全性,” 針對探索科技(TechSugar)的這一疑問,Alex表示,風河Helix平臺利用不同的配置選擇來應對不同的安全等級要求,“在這些應用的核心理念就是減少子集,減少復雜度,確保安全性,絕對不會用到Linux或Windows系統(tǒng)?!?
軟件外包在航空業(yè)已是慣例
在Helix平臺推薦應用中,高安全應用將采用靜態(tài)配置,以確保系統(tǒng)可靠與安全;富生態(tài)應用將采用動態(tài)配置,以支持復雜多任務及多操作系統(tǒng)類應用場景;而汽車應用則是典型的混合配置場景,自動駕駛功能對安全性要求高,所以只適合靜態(tài)配置,而人機交互等其他應用,則可以用動態(tài)配置來實現更豐富的功能支持。


Hilex平臺配置組合
但即便采用最高安全規(guī)格要求來開發(fā)軟件,也并不是萬無一失。比如,波音公司已經承認,將升級軟件以應對近期波音737MAX在埃塞俄比亞航空公司空難事件暴露出的安全風險。
“過去20年,航空航天領域一直都是外包軟件,其他很成功的機型,例如波音787或中國的C919,都采用過軟件外包。” 業(yè)界有聲音認為,波音將部分軟件外包應為此負責,但Alex Wilson認為,軟件外包是航空航天領域的傳統(tǒng),埃航空難不一定會影響航空業(yè)的軟件外包商業(yè)模式,“不論外包與否,都有非常嚴格的規(guī)范來對軟件系統(tǒng)進行檢驗,但問題是現在軟件代碼量越來越多,不同功能軟件之間的配合要求越來越多,從自動化階段進化到自主階段,如何確保系統(tǒng)級的絕對安全,是未來航空航天軟件業(yè)的核心問題?!?
“DO-187C認證標準對安全要求非常高,通過認證的成本也極高,” Alex Wilson向探索科技(TechSugar)解釋,傳統(tǒng)上,航空行業(yè)有非常嚴苛的軟件功能安全認證標準,但當前的問題是人工智能在自主系統(tǒng)中將發(fā)揮主要作用,而傳統(tǒng)軟件功能測試對人工智能的測試覆蓋并不完整。“傳統(tǒng)軟件測試完成后,功能都可以預測,而加入人工智能以后,當前的測試標準很難預測所有狀況,這是一個很大的挑戰(zhàn)?!?
軟件在自主系統(tǒng)中的責任
測試覆蓋率不完善,可以從技術上去逐漸解決,但自主系統(tǒng)責任認定上還有需要立法的支持。嚴格意義上的自主系統(tǒng)將不需要人類介入,但如果發(fā)生事故導致損失,由誰來承擔責任現在還沒有明確的法規(guī)可以遵循。
以汽車自動駕駛系統(tǒng)為例,不管廠商在宣傳上如何暗示自己的自動駕駛系統(tǒng)如何高級,但使用手冊上都要明確注明司機不得在行駛中手離方向盤。
“萬一出現事故,不是軟件的問題,責任由人類駕駛來承擔,” Alex表示汽車公司做出聲明,就是做好責任切割,“這讓我們思考一個有關自主系統(tǒng)的社會問題,人類到底可以讓軟件做多少的決定,百分百都交給軟件控制是否可行?如果系統(tǒng)控制權百分百交給軟件,那么軟件到底應該是扮演什么樣的角色,人類又如何通過測試來確保功能安全,如果出現意外該如何處理,這些都都需要我們去思考?!?
Alex強調,這些問題并不是時效性不高的遠期問題,而亟待人類盡快討論出可行解決方案,“就我們的觀察來說,越來越多的系統(tǒng)正走在從自動化系統(tǒng)轉變成自主系統(tǒng)的路上?!?