0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

DO-332幫助解決OOT的動態(tài)靈活性關鍵認證挑戰(zhàn)

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:BENJAMIN BROSGOL ? 2022-11-08 14:27 ? 次閱讀

DO-332是DO-178C標準對面向對象技術(OOT)和相關技術的補充,分析了安全關鍵軟件中面向對象引發(fā)的問題,并為處理OOT的漏洞提供了新的指導。DO-332的一個重要新目標是“本地類型一致性驗證”,它利用了稱為“Liskov替換原理”的類型理論結果,并幫助解決OOT的動態(tài)靈活性帶來的一些關鍵認證挑戰(zhàn)。

面向對象技術(OOT)被廣泛使用,并得到包括C++,JavaAda在內(nèi)的一系列編程語言的支持,但由于各種原因,它的普及尚未擴展到機載和其他安全關鍵軟件。根本問題是驗證利用OOT三個基本元素的軟件的復雜性:繼承,多態(tài)性和動態(tài)綁定。(圖 1 說明了面向對象的基礎知識。一個簡單的例子說明了這些問題:

圖1:面向對象基礎知識

poYBAGNp9tyATsxyAAB1h1SmucU165.jpg

假設 Sensor 類是繼承層次結構的根,ref 是對此層次結構中任何類中的對象的多態(tài)引用,而 Reset 是為不同的 Sensor 類定義不同的操作。聲明參考。Reset(。..) 根據(jù) ref 表示的對象的類動態(tài)綁定到相應的版本。如何驗證此調(diào)用是否滿足重置操作的要求?

如果使用繼承來定義不是傳感器專用化的子類,則會出現(xiàn)一個問題。此子類的重置可能具有與重置傳感器無關的某些效果,或者可能會生成異常。ref 從這樣的子類引用對象將是一個錯誤,需要分析以表明錯誤不會發(fā)生。這使驗證過程復雜化。

另一個問題涉及結構覆蓋率分析。對于 DO-178 標準中三個最高級別(A、B 或 C)中的任何一個的系統(tǒng),必須使用基于需求的測試來證明完整的語句覆蓋率。但是,編譯器可能會選擇幾種實現(xiàn)策略來處理動態(tài)綁定,這些策略對“語句覆蓋率”的含義有不同的含義。結構覆蓋范圍的范圍不應取決于編譯器使用的實現(xiàn)策略。

DO-332[1]是DO-178C[2]的OOT補充,通過局部類型一致性的新概念解決了這些問題,該概念利用了繼承只應用于類專用化的原則。

繼承和利斯科夫替代原則

在面向對象的設計中,系統(tǒng)的體系結構反映了類及其關系。一個特別重要的關系是專業(yè)化(“is a”),但還有很多其他關系。實現(xiàn)設計涉及選擇用于捕獲關系的語言機制。

在面向對象的語言中,繼承可用于實現(xiàn)兩個類之間的各種關系。但是,當繼承用于專用化以外的任何內(nèi)容時,可能會出現(xiàn)異常,因為為超類定義的操作可能對子類沒有意義。在類型論的背景下,已經(jīng)研究了將繼承限制為專業(yè)化關系,其中它被稱為Liskov替換原理(LSP)[3]。非正式地說,LSP 意味著無論在哪里可以使用超類的實例,都應該允許替換任何子類的實例。

使用繼承進行專業(yè)化與操作的前置條件和后置條件(其“協(xié)定”)具有重要的交互作用。前提條件是在調(diào)用操作時對程序狀態(tài)所做的假設。后置條件是保證操作在操作完成時對程序狀態(tài)進行的操作。前置和后置條件可以明確指定 - 可以在源文本中指定,如Ada 2012[4]或SPARK[5],也可以單獨指定 - 或者它們可以隱含在操作邏輯中。

如果繼承符合 LSP,則操作的子類版本不應施加比超類版本更強(更具限制性)的前提條件。否則,調(diào)用可能在某些情況下(在超類實例上)成功,但在其他情況下(在子類實例上)失敗。類似地,子類的操作版本不應指定比超類版本更弱(更通用)的后置條件。

因此,符合 LSP 意味著滿足兩個屬性:

協(xié)定一致性:任何子類操作都不會加強它所覆蓋的超類操作的前置條件或削弱后置條件。

行為一致性:每個子類操作都滿足其超類的要求。

DO-332 在新目標“本地類型一致性驗證”中捕獲了這些概念。此目標不需要證明類層次結構符合 LSP,這將過于嚴格。相反,它反映了對于符合要求的類體系結構,驗證工作更簡單,并且分析只需要考慮本地上下文。

本地類型一致性

圖 2 顯示了與驗證本地類型一致性相關的活動,DO-332 需要 A、B 或 C 級別的軟件。“對于使用替換的每個子類型”的措辭是指發(fā)生動態(tài)綁定的上下文,例如 ref。Reset(。..),所討論的“子類型”是 ref 在這一點上可以引用的對象的類。潛在的類不一定是完整的層次結構,不同的類集可能適用于同一操作的不同調(diào)用。

圖2:與驗證本地類型一致性相關的活動,DO-332 要求級別為 A、B 或 C 級軟件

pYYBAGNp9t2ARSCqAABcrcuuKHg531.jpg

考慮引用的特定出現(xiàn)。Reset(。..),并讓 HeatSensor 成為 ref 可以在那里引用的對象可能的子類之一。引用的本地類型一致性。HeatSensor的重置(。..)可以“樂觀地”或“悲觀地”地證明。如果HeatSensor滿足LSP,則樂觀方法有效,可以通過兩種方式進行:

通過形式化方法,通過證明HeatSensor的復位版本滿足傳感器版本的要求,并且不會加強傳感器復位的前置條件或削弱后置條件。

通過測試,通過使用 HeatSensor 的實例對傳感器的重置版本運行基于要求的測試。

來自編程語言及其工具集(例如 Ada 2012 或 SPARK)的適當支持可以促進形式化方法。

樂觀的方法將證明超類和子類的操作版本之間的契約和行為一致性。通過對子類的基于需求的測試以及可能通過形式化方法獲得額外的驗證。

如果類不符合 LSP,或者動態(tài)綁定調(diào)用很少,或者層次結構很淺和/或很窄,那么測試可能出現(xiàn)的每種可能的情況可能是最簡單的。這是圖 2 中第三個項目符號項中指定的悲觀測試。需要基于需求的測試來對可能出現(xiàn)的每個子類執(zhí)行操作。

DO-332、本地類型一致性和 LSP 指南認證

本地類型一致性驗證只是安全使用 OOT 的一個方面;DO-332 包含有關其他 OOT 元素以及相關技術(如通用模板)的指南。DO-332 是“語言不可知論者”;有關如何使用 Ada 2012 作為編程語言在安全關鍵或高安全性系統(tǒng)中應用 OOT 的更多細節(jié)[6]。

DO-332 的本地類型一致性指南與 DO-178C 的一般驗證方法一致,確保所有測試都基于要求。它以一種新穎的方式調(diào)整驗證活動,以反映面向對象的語義和類結構對LSP的遵守程度。新指南應有助于促進面向對象編程(OOP)在航空電子設備和其他關鍵領域的安全使用。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2552

    文章

    51288

    瀏覽量

    755153
  • JAVA
    +關注

    關注

    19

    文章

    2973

    瀏覽量

    104905
  • C++
    C++
    +關注

    關注

    22

    文章

    2113

    瀏覽量

    73742
收藏 人收藏

    評論

    相關推薦

    面對快速迭代的技術,怎能忽視設備升級的高效與靈活性

    競爭的商業(yè)環(huán)境中,技術的飛速迭代和業(yè)務需求的持續(xù)變化,現(xiàn)場部署的效率與靈活性已成為衡量項目成功與否的關鍵因素之一。企業(yè)為了搶占市場先機,必須迅速完成新設備的部署與舊
    的頭像 發(fā)表于 11-05 08:03 ?252次閱讀
    面對快速迭代的技術,怎能忽視設備升級的高效與<b class='flag-5'>靈活性</b>?

    工業(yè) 4.0 時代:連接器不容忽視的挑戰(zhàn)與高效應對方案

    景。連接器市場面臨的挑戰(zhàn)1.產(chǎn)品迭代帶來的靈活性挑戰(zhàn)在下游產(chǎn)業(yè)中,產(chǎn)品和技術更新?lián)Q代的速度快。以汽車領域為例,新車型不斷涌現(xiàn),這就要求連接器具備高度的靈活性,能滿足多
    的頭像 發(fā)表于 10-30 08:08 ?429次閱讀
    工業(yè) 4.0 時代:連接器不容忽視的<b class='flag-5'>挑戰(zhàn)</b>與高效應對方案

    工業(yè) 4.0 時代:連接器在挑戰(zhàn)中探尋高效解決方案

    景。 國內(nèi)連接器市場面臨的挑戰(zhàn) 1. 產(chǎn)品迭代帶來的靈活性挑戰(zhàn) 在下游產(chǎn)業(yè)中,產(chǎn)品和技術更新?lián)Q代的速度快。以汽車領域為例,新車型不斷涌現(xiàn),這就要求連接器具備高度的靈活性,能滿足多品種、
    的頭像 發(fā)表于 10-29 17:35 ?216次閱讀
    工業(yè) 4.0 時代:連接器在<b class='flag-5'>挑戰(zhàn)</b>中探尋高效解決方案

    在實際開發(fā)中,動態(tài)代理技術都是如何應用的?

    動態(tài)代理技術因其靈活性和強大的功能,在軟件開發(fā)中被廣泛應用,特別是在需要在運行時動態(tài)地改變對象行為的場景中。
    的頭像 發(fā)表于 09-23 07:46 ?213次閱讀

    使用低成本MSPM0 MCU提高電池管理設計的靈活性

    電子發(fā)燒友網(wǎng)站提供《使用低成本MSPM0 MCU提高電池管理設計的靈活性.pdf》資料免費下載
    發(fā)表于 09-07 10:53 ?0次下載
    使用低成本MSPM0 MCU提高電池管理設計的<b class='flag-5'>靈活性</b>

    使用低成本MSPM0 MCU提高電子溫度計設計的靈活性

    電子發(fā)燒友網(wǎng)站提供《使用低成本MSPM0 MCU提高電子溫度計設計的靈活性.pdf》資料免費下載
    發(fā)表于 09-07 09:46 ?0次下載
    使用低成本MSPM0 MCU提高電子溫度計設計的<b class='flag-5'>靈活性</b>

    納米軟件帶您了解電源自動測試設備的儀器靈活接入與擴展

    在ATECLOUD智能云測試平臺上開發(fā)的電源自動測試系統(tǒng),對比傳統(tǒng)自動化測試系統(tǒng),其獨特之處在于擁有極為靈活的系統(tǒng)架構。這種架構的靈活性體現(xiàn)在自動化測試的靈活性、報告模板的多樣化選擇以及數(shù)據(jù)分析的自由度,而且在電源測試設備的配置
    的頭像 發(fā)表于 09-03 16:06 ?280次閱讀
    納米軟件帶您了解電源自動測試設備的儀器<b class='flag-5'>靈活</b>接入與擴展

    使用BQ27Z746實現(xiàn)反向充電保護的設計靈活性

    電子發(fā)燒友網(wǎng)站提供《使用BQ27Z746實現(xiàn)反向充電保護的設計靈活性.pdf》資料免費下載
    發(fā)表于 08-30 11:45 ?0次下載
    使用BQ27Z746實現(xiàn)反向充電保護的設計<b class='flag-5'>靈活性</b>

    探索中國星坤FPC連接器:電子設備靈活性與可靠性雙重保障

    了電子設備設計中的一顆璀璨明星。 ? FPC連接器的靈活性 FPC連接器由柔性電路板構成,它擁有極高的彎曲性和可塑性。這使得FPC連接器能夠適應各種需要彎曲和折疊的應用場景,無論是在復雜的曲面還是狹小的空間中,都能展現(xiàn)出其卓越的適應性。 體積與重量的優(yōu)勢 與傳
    的頭像 發(fā)表于 08-13 16:14 ?414次閱讀
    探索中國星坤FPC連接器:電子設備<b class='flag-5'>靈活性</b>與可靠性雙重保障

    OPSL 優(yōu)勢1:波長靈活性

    與其他類型的連續(xù)激光器相比,光泵半導體激光器 (OPSL) 技術有許多優(yōu)勢,包括波長的靈活性。 特別是OPSL打破了傳統(tǒng)技術的限制,可以通過設計與應用的波長要求相匹配。 不折不扣的波長靈活性 光泵
    的頭像 發(fā)表于 07-08 06:30 ?354次閱讀
    OPSL 優(yōu)勢1:波長<b class='flag-5'>靈活性</b>

    如何提升NMEA插座的靈活性

    德索工程師說道通過模塊化設計,將NMEA插座拆分成多個獨立的模塊,每個模塊具有特定的功能和接口。這種設計方式可以使插座更加靈活,方便用戶根據(jù)實際需求進行組合和擴展。同時,模塊化設計還可以降低制造和維護成本,提高產(chǎn)品的市場競爭力。
    的頭像 發(fā)表于 06-19 15:48 ?288次閱讀
    如何提升NMEA插座的<b class='flag-5'>靈活性</b>

    8芯M16公頭如何提升靈活性

      德索工程師說道在電子設備的連接和傳輸中,8芯M16公頭作為一種重要的電氣連接器,其靈活性對于提高連接效率、降低故障率和增強用戶體驗至關重要。因此,本文將詳細探討如何提升8芯M16公頭的靈活性,以滿足不斷變化的電子系統(tǒng)需求。
    的頭像 發(fā)表于 05-25 17:48 ?271次閱讀
    8芯M16公頭如何提升<b class='flag-5'>靈活性</b>

    英特爾銳炫A系列顯卡為客戶提供了強大的性能和靈活性

    在當今快速發(fā)展的邊緣計算和人工智能領域,英特爾憑借其創(chuàng)新的軟硬件解決方案,為客戶提供了強大的性能和靈活性。其中,推出的英特爾銳炫 A 系列顯卡備受關注。
    的頭像 發(fā)表于 03-22 15:17 ?556次閱讀
    英特爾銳炫A系列顯卡為客戶提供了強大的性能和<b class='flag-5'>靈活性</b>

    意法半導體推出一款兼?zhèn)渲悄芄δ芎驮O計靈活性的八路高邊開關

    意法半導體新推出的八路高邊開關兼?zhèn)渲悄芄δ芎驮O計靈活性,每條通道導通電阻RDS(on)(典型值)僅為110mΩ,保護系統(tǒng)能效,體積緊湊,節(jié)省 PCB 空間。
    的頭像 發(fā)表于 03-12 11:41 ?580次閱讀

    利用 IO-Link 提高工業(yè) 4.0 工廠的靈活性、利用率和效率

    和其他設備。在具有各種特性的傳統(tǒng)自動化網(wǎng)絡協(xié)議中,這一點是很難有效實現(xiàn)的。工業(yè) 4.0 設備需要在現(xiàn)有網(wǎng)絡和不斷增加的大量本地傳感器、執(zhí)行器和指示器之間建立另一層連接并實現(xiàn)靈活性。 為了應對這些挑戰(zhàn),IO-Link 作為一種開放式標準應運而生。利用這一標準可以
    的頭像 發(fā)表于 02-13 10:12 ?799次閱讀
    利用 IO-Link 提高工業(yè) 4.0 工廠的<b class='flag-5'>靈活性</b>、利用率和效率