蒲松濤 鐘新龍
作為全球最大的航天航空器制造商,波音公司在推動數字化轉型、促進工業(yè)技術軟件化方面一直走在世界前列,但短短半年時間,波音新型客機737-MAX接連發(fā)生兩起空難,300余名乘員全部遇難,在全球范圍內引起極大震動。那么,數字化水平相對較高的波音737-MAX接連發(fā)生空難,與軟件存在哪些關聯(lián)?對軟件產業(yè)的發(fā)展又有哪些警示?值得探討。
軟件成為波音737接連發(fā)生墜機事故的關鍵因素
全面數字化在大幅提升波音737-MAX綜合性能的同時,也帶來了安全隱患。波音737-MAX是波音737配備新型發(fā)動機的衍生機型,包括737-MAX8、737-MAX9等多個型號。新型軟件的融合應用是新機型改進的重要方向,比如電傳擾流板系統(tǒng),可提高操控可靠性,縮短降落滑行距離;電動引氣系統(tǒng),可以優(yōu)化客艙壓力和防冰系統(tǒng);機載網絡系統(tǒng),包括數字化飛行數據獲取組件(eDFDAU)和網絡文件服務器(NFS)。通過一系列改進,波音737-MAX建立了由軟件和網絡構建的“大腦”和“神經”,包括傳感器在內的諸多硬件功能都可通過軟件來進行管控。相對傳統(tǒng)機型,波音737-MAX在燃油經濟性、飛行操控性、機艙舒適度、飛行狀況透明度等方面均有顯著提升。但是,新興軟件技術的融合應用也是一把雙刃劍,若是缺乏必要的自適應調節(jié)能力,存在明顯的設計漏洞,操控設置過于復雜,應急保障組件不完善等因素,均可能導致始料未及的嚴重后果。
數據錯誤和軟件漏洞導致了兩起墜機事故的發(fā)生。根據最新調查結果,綜合飛機殘骸中提取到的最新信息以及衛(wèi)星追蹤系統(tǒng)所記錄的飛行數據,近來兩起波音737-MAX8墜機事件存在相似之處。專業(yè)人士分析,事故原因是飛機迎角傳感器數據錯誤觸發(fā)“防失速”自動操作,進而導致機頭不斷下壓,同時機頭失控后飛行員多次手動拉升操作無效,以致飛機墜毀。據此推斷,迎角傳感器以及自動控制下壓機頭的系統(tǒng)MCAS(自動糾正失速系統(tǒng))是導致事故發(fā)生的關鍵。MCAS主要用于預防波音737-MAX配備新型發(fā)動機后所帶來的大迎角飛行失速風險,其設計初衷在于,如果飛機機身上的傳感器檢測到高速失速情況,即使在沒有飛行員輸入信號的情況下,該系統(tǒng)也會強制將飛機的機頭下壓。然而,當傳感器信號有誤時,如果飛行員無法第一時間按照要求進行相應操作,就會使飛機在MCAS的控制下下墜。根據已有資料初步分析,兩次事故情況類似,客機出事前均出現異常俯沖及爬升,傳感器數據采集錯誤和客機本身軟件系統(tǒng)問題應是導致事故發(fā)生的主要原因。
軟件系統(tǒng)升級成為波音公司應對墜機事故的主要補救措施。埃航事故發(fā)生后,波音公司已經向全球發(fā)出停飛建議,并宣布暫停交付737-MAX系列機型。作為應對事故發(fā)生的補救措施,波音公司針對MCAS的系統(tǒng)升級將在全球范圍內展開,據最新消息,波音公司徹底修改了747-MAX MCAS系統(tǒng)軟件,并組織舉行軟件升級計劃說明會。波音公司稱,MCAS系統(tǒng)軟件更新研發(fā)工作自獅航事故后就已開展。
波音737事故揭示軟件化過程中需關注的三個重點
經歷了軟硬一體化、軟件產品化、軟件服務化等三個階段,軟件的服務化、網絡化和智能化成為當前發(fā)展趨勢。伴隨數字化進程的不斷加快,目前的波音公司,既是航天航空器制造商,也可被看作是一家軟件公司或大數據公司。波音公司基于飛機飛行產生的海量數據,再利用軟件來對數據進行整合、分析,進而改進飛機的各項性能。據統(tǒng)計,波音研發(fā)中使用了8000余種軟件,其中7000多種由波音公司自行開發(fā),飛機研發(fā)設計和系統(tǒng)控制的軟件技術已成為波音公司的核心機密技術和核心競爭力。當前,我國制造業(yè)轉型升級的一個重要方向是工業(yè)技術軟件化,提高軟件技術研發(fā)和應用能力已成為能否贏得未來競爭的關鍵。
波音737事故表明,在工業(yè)技術軟件化的過程中,需重點關注軟件能力建設、軟件可控力、軟件安全檢測三個方面。
軟件能力建設要逐步從以開發(fā)為主向開發(fā)應用平衡轉變。當前,軟件正逐步滲透到經濟社會發(fā)展的各個方面,軟件化驅動傳統(tǒng)行業(yè)改造升級,軟件需求也在向應用端延伸。一方面,技術創(chuàng)新更加聚焦于與行業(yè)應用場景的適配,定制化軟件開發(fā)的需求正在上升。以波音公司為例,8000多個軟件中僅有1000多個是通用軟件,絕大部分都是飛機制造領域的專用軟件。因此,在軟件技術創(chuàng)新中,對既懂軟件開發(fā)又懂應用需求的復合型人才的需求將更為迫切,這也是未來我國軟件人才培養(yǎng)的方向。另一方面,應用方的軟件應用能力也至關重要,軟件價值的更大化既依賴于軟件本身,也依賴于應用水平。這一問題在波音空難中尤為突出。事實上,導致空難的MCAS系統(tǒng)是能夠由駕駛員完全關閉的,倘若駕駛員熟悉該軟件控制方式并合理操作,有極大的可能會化險為夷。因此,我國軟件產業(yè)在快速發(fā)展和應用滲透的同時,必須加大對軟件基礎技術的普及和應用能力的培養(yǎng)。
軟件可控力要強調對核心代碼的理解程度和管理能力。在軟件領域,代碼是核心技術載體,可以說,誰掌握了代碼,誰就拿到了核心技術創(chuàng)新的主動權;誰主導技術創(chuàng)新,誰就擁有更多軟件可控力。一方面,應當對軟件的設計細節(jié)了然于胸,以避免出現設計缺陷和低級漏洞。另一方面,應當提高軟件更新迭代的效率,在出現問題后能夠及時補救,使損失最小化。波音空難的發(fā)生,與這兩個方面均有關聯(lián)。有研究人員指出,波音737-MAX的MCAS系統(tǒng)存在非常低級的邏輯錯誤問題,同時原定的系統(tǒng)軟件更新也一再推遲。其原因可能與波音公司軟件開發(fā)依賴他國公司外包、自身缺乏主導權且疏于管理有關。圍繞軟件可控力,軟件代碼的控制權以及軟件創(chuàng)新的主導權在未來市場競爭中的價值正在凸顯,2018年微軟花費75億美元收購全球最大的開源代碼托管平臺GitHub就是例證。當然,提高軟件可控力也不完全等同于系統(tǒng)框架下每個軟件都需要完全自主開發(fā),我國C919飛機就使用了來自派克宇航、霍尼韋爾、利勃海爾等國外公司的多類系統(tǒng),實現了多類軟件的高效管理,做到及時更新亦是提高軟件可控力的表現。
軟件系統(tǒng)安全檢測要防止“掉鏈子”,安全是發(fā)展的前提,只有保證了安全,軟件的新功能、新性能才有用武之地,否則將會前功盡棄。波音737-MAX事故告訴我們,任何安全問題都不容忽視,安全管理應當被放在首位。一方面,任何軟件系統(tǒng)都無法做到絕對安全,及時發(fā)現漏洞、填補漏洞可以最大程度地消除安全隱患。微軟Windows系統(tǒng)歷經30余年的持續(xù)更新,仍然無法做到所有漏洞全部消除,至今依然在持續(xù)不定期地發(fā)布安全補丁。另一方面,安全管理不容忽視,特別是對于核心軟件系統(tǒng),都應進行全面的第三方安全漏洞檢測,做到沒有通過安全檢測的堅決不使用,不上線。
啟示和建議
當前,軟件化已成為重大工程推進、重要平臺建設、重點產品制造的關鍵能力,其重要性毋庸置疑。從企業(yè)應用端看,在融合應用云計算、大數據等新一代信息技術進行軟件化轉型升級的過程中,要認真汲取波音737事故帶來的教訓,不斷強化對軟件技術和產品的可控力,提高軟件應用水平使軟件成為發(fā)展的“助推器”而不是引發(fā)災難的“隱患源”。從軟件產業(yè)發(fā)展看,應著力加強軟件價值基礎研究,建立完善的檢驗檢測等產業(yè)生態(tài)體系,提高復合型人才供給水平,促進產業(yè)安全有序發(fā)展。
掌握關鍵技術創(chuàng)新的主動權,提高應急水平。一是依托科研機構和重點企業(yè)開展軟件核心技術攻關,不斷提高軟件核心技術創(chuàng)新能力。建立多方參與、多方共享的軟件代碼分享平臺,促進軟件技術的開源開放。支持企業(yè)積極參與或主導全球主要開源項目,提高對前沿技術的應用改造能力,獲取關鍵開源項目的創(chuàng)新主導權。引導軟件企業(yè)加強對重點產品的持續(xù)創(chuàng)新,推動軟件產品更新迭代,提升用戶體驗,減少安全漏洞。二是圍繞重大信息系統(tǒng)、平臺等優(yōu)化軟件管理體系,建立軟件安全漏洞預警平臺,提高漏洞修復效率。
完善檢測評測管理體系,強化安全保障。一是支持第三方軟件檢驗檢測機構加大技術創(chuàng)新投入,提升軟件產品和信息系統(tǒng)的檢驗檢測技術水平,提高面向軟件研發(fā)和軟件化應用的服務能力。二是加強面向重點信息系統(tǒng)的安全管理,針對核心環(huán)節(jié)的重要軟件系統(tǒng),要求其必須通過合格第三方檢驗檢測機構的軟件系統(tǒng)安全檢測認證。三是加強對第三方軟件檢驗檢測機構的指導和管理,引導軟件開發(fā)商和應用方樹立安全檢測意識,積極開展軟件的第三方評測。同時,要支持信息安全企業(yè)圍繞公共服務信息系統(tǒng)開展漏洞檢測等工作,對“白帽子(正面黑客)”提供必要的支持。
著力營造復合型軟件人才的培養(yǎng)環(huán)境,提升軟件應用能力。一是將軟件基礎技能納入素質教育能力培養(yǎng)范疇,支持高等院校進一步辦好軟件學院,積極開設大數據、人工智能等行業(yè)需求旺盛的專業(yè),提高軟件專業(yè)人才的供給量。二是面向行業(yè)軟件化發(fā)展需求,推動培訓機構、軟件企業(yè)與行業(yè)企業(yè)間開展聯(lián)合培訓,組織技術交流,著力培養(yǎng)既懂軟件技術又熟悉應用需求的復合型人才。三是積極開展重點領域軟件技術應用試點示范,組織開展軟件應用人才培訓,建立人才培養(yǎng)與認定體系,提高應用端軟件產品的應用水平。借助微信等新媒體手段,普及軟件基礎知識,傳播軟件和代碼文化,提高全民的信息素養(yǎng)。