浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術資料 » 其它綜合

使用基于模型的設計來開發(fā)和驗證安全關鍵系統(tǒng)軟件

發(fā)布時間:2007/8/28 0:00:00 訪問次數(shù):531

本文描述了高度完整性代碼的開發(fā)和測試技術,并顯示如何在模型級上應用和自動化來提高嵌入系統(tǒng)的質(zhì)量同時縮短開發(fā)周期。
開發(fā)用于航空、汽車、軌道交通和其他行業(yè)中的安全關鍵系統(tǒng)軟件的要求相當嚴格,開發(fā)者通常使用自我保護的編程技術來確保系統(tǒng)具有容錯能力,并使軟件能在出現(xiàn)未預料到的情況下繼續(xù)工作。因此,首先實現(xiàn)可靠的驗證和確認策略來減少故障進入系統(tǒng)的可能性同樣重要。
這個額外步驟要求需要增加開發(fā)成本。行業(yè)報告顯示,用在安全關鍵系統(tǒng)的驗證和確認過程的成本和工作常常超過開發(fā)整個系統(tǒng)的一半,基于手工編程和紙上規(guī)范的傳統(tǒng)方法的這個問題更嚴重。使用Ada、C或Fortran開發(fā)模型不僅代碼冗長而且代碼可能有錯誤,在不同設計階段重新利用模型時可能產(chǎn)生不經(jīng)意的改變而導致不正確的結果。類似地,在團隊間頻繁用于交流的需求、規(guī)范、測試和其它內(nèi)容的文檔可能引起歧義和誤解。
通過使用基于模型的設計和集成開發(fā)環(huán)境,如MathWorks公司的Simulink產(chǎn)品系列,工程師能使開發(fā)和驗證自動化,減少費用和降低錯誤。
在基于模型的設計中,從通過建模和仿真來獲得需求到設計實現(xiàn)和測試,系統(tǒng)模型是開發(fā)過程的核心。模型是在整個開發(fā)過程中不斷細化的可執(zhí)行規(guī)范,與寫在紙上的規(guī)范相比,可執(zhí)行的規(guī)范能使系統(tǒng)工程師更深入了解他們策略的動態(tài)表現(xiàn)。在開始編碼之前的很長時間就對模型進行測試,確保規(guī)范的完整性和無歧義。自動代碼生成避免了手工拼寫錯誤和對設計的誤解,同時自動化的驗證和確認讓測試工程師開發(fā)完整的、基于需求并可在自動產(chǎn)生的代碼上重用的測試用例(test case)。
建模和仿真
開發(fā)工作從由結構框圖和狀態(tài)機組成的控制算法模型開始,每一個框圖和狀態(tài)機都具有特別的實時執(zhí)行特性。算法模型結合周邊部件,如傳感器、執(zhí)行器(actuator)、機械設備、電子單元和其它與控制算法有相互影響的物理元件,產(chǎn)生一個系統(tǒng)模型。
例如,顯示在圖1中的車輛故障檢測、隔離和恢復(FDIR)應用的系統(tǒng)模型,包括了FDIR邏輯模型、工作模式邏輯、控制規(guī)則、執(zhí)行器模型、被控對象(車輛動力學和大氣作用)、信號調(diào)理和插入故障的方法。一個設置故障的圖形界面讓開發(fā)者了解系統(tǒng)正常和故障下的行為。
模型風格的指導方針
模型風格指導方針使從系統(tǒng)規(guī)范到嵌入代碼產(chǎn)生的轉化變得簡單有效。對于編碼標準,生產(chǎn)單位通常建立他們自己的模型指導方針,準備用來產(chǎn)生嵌入代碼模型的步驟。
在建立這些標準時,回顧一下已發(fā)布的模型和代碼的指導方針和標準很有用。在一些組織,如MathWorks汽車咨詢部(MAAB)和發(fā)動機工業(yè)軟件可靠性聯(lián)合會(MISRA),已存在著指導方針,這些方針一般集中在安全性、一致性和簡潔性。



 
圖1:故障檢測、隔離和恢復模型。
MAAB建立于1988年,開始是協(xié)調(diào)包括福特、Daimler Benz(現(xiàn)在DaimlerChrysler)和豐田客戶間產(chǎn)品特征要求,現(xiàn)在MAAB把對象擴展到世界范圍,包括大多數(shù)主要的OEM廠商和供應商。MAAB的一個重大成果就是建立了一系列公開、可用的建模風格指導方針。其中一條MAAB規(guī)則規(guī)定了控制器模型必須只能使用離散模塊,因為連續(xù)模塊不能更貼切地表示控制器的實現(xiàn)方式而不允許使用。
MISRA的《在車輛中用C語言編制軟件的指導方針》(MISRA-C),于1998年4月發(fā)布,2004年十月更新,提供了安全相關的汽車嵌入系統(tǒng)的C語言編程指導。使用C語言開發(fā)電控單元軟件的汽車工業(yè)開發(fā)者創(chuàng)建了其中很大的部分。
雖然MISRA-C不是為自動代碼生成而定制的,其規(guī)則關注于C語言編譯器的可移植性,對于手工開發(fā)和自動產(chǎn)生的代碼是一致的。下面就是一個規(guī)則例子:
MISRA規(guī)則11(必要的):內(nèi)部和外部標識符應該不超過31個有效字符。此外,應該檢查編譯器/連接器來確保31個字符串有意義,并支持外部標識符的大小寫敏感特性。這個規(guī)則很重要,可以避免有長名字的標識符間的名字沖突。這個規(guī)則已可使代碼更有可移植性,因為大多數(shù)編譯器和連接器支持至少31個有效字符。
在自動產(chǎn)生的代碼中,標識符在模型中標明。盡管MISRA-C給出的是編碼風格指導方針,但它可以幫助在建模風格指導方針中包含相應的規(guī)則,因為模型是代碼發(fā)生器的輸入。MathWorks為它的嵌入代碼發(fā)生器-Real-Time Workshop Embedded Coder提供一個MISRA-C分析包。另外,最近MISRA建立了一個工作組來檢查自動代碼生成。
模型檢查器
明確的指導方針和標準使軟件開發(fā)者編寫可以系統(tǒng)地檢查對這些方針的符合性的腳本,所以建模環(huán)境必須提供每一個在設計中使用的圖形特征和參數(shù)相對應的API。然后它直接用來開發(fā)系統(tǒng)檢查規(guī)則,如限制標識符名字長度的工具。
在Simulink中的Model Advisor識別模型中那些阻止嵌入系統(tǒng)開發(fā)和限制代碼效率的部分。這個工具幫助開發(fā)者準備一個用來生成代碼的模型,通過分析模型或模塊級別上的配置,給出在每個領域查找結果并提出改進建議的報告。在設計周期早期它特別有用

本文描述了高度完整性代碼的開發(fā)和測試技術,并顯示如何在模型級上應用和自動化來提高嵌入系統(tǒng)的質(zhì)量同時縮短開發(fā)周期。
開發(fā)用于航空、汽車、軌道交通和其他行業(yè)中的安全關鍵系統(tǒng)軟件的要求相當嚴格,開發(fā)者通常使用自我保護的編程技術來確保系統(tǒng)具有容錯能力,并使軟件能在出現(xiàn)未預料到的情況下繼續(xù)工作。因此,首先實現(xiàn)可靠的驗證和確認策略來減少故障進入系統(tǒng)的可能性同樣重要。
這個額外步驟要求需要增加開發(fā)成本。行業(yè)報告顯示,用在安全關鍵系統(tǒng)的驗證和確認過程的成本和工作常常超過開發(fā)整個系統(tǒng)的一半,基于手工編程和紙上規(guī)范的傳統(tǒng)方法的這個問題更嚴重。使用Ada、C或Fortran開發(fā)模型不僅代碼冗長而且代碼可能有錯誤,在不同設計階段重新利用模型時可能產(chǎn)生不經(jīng)意的改變而導致不正確的結果。類似地,在團隊間頻繁用于交流的需求、規(guī)范、測試和其它內(nèi)容的文檔可能引起歧義和誤解。
通過使用基于模型的設計和集成開發(fā)環(huán)境,如MathWorks公司的Simulink產(chǎn)品系列,工程師能使開發(fā)和驗證自動化,減少費用和降低錯誤。
在基于模型的設計中,從通過建模和仿真來獲得需求到設計實現(xiàn)和測試,系統(tǒng)模型是開發(fā)過程的核心。模型是在整個開發(fā)過程中不斷細化的可執(zhí)行規(guī)范,與寫在紙上的規(guī)范相比,可執(zhí)行的規(guī)范能使系統(tǒng)工程師更深入了解他們策略的動態(tài)表現(xiàn)。在開始編碼之前的很長時間就對模型進行測試,確保規(guī)范的完整性和無歧義。自動代碼生成避免了手工拼寫錯誤和對設計的誤解,同時自動化的驗證和確認讓測試工程師開發(fā)完整的、基于需求并可在自動產(chǎn)生的代碼上重用的測試用例(test case)。
建模和仿真
開發(fā)工作從由結構框圖和狀態(tài)機組成的控制算法模型開始,每一個框圖和狀態(tài)機都具有特別的實時執(zhí)行特性。算法模型結合周邊部件,如傳感器、執(zhí)行器(actuator)、機械設備、電子單元和其它與控制算法有相互影響的物理元件,產(chǎn)生一個系統(tǒng)模型。
例如,顯示在圖1中的車輛故障檢測、隔離和恢復(FDIR)應用的系統(tǒng)模型,包括了FDIR邏輯模型、工作模式邏輯、控制規(guī)則、執(zhí)行器模型、被控對象(車輛動力學和大氣作用)、信號調(diào)理和插入故障的方法。一個設置故障的圖形界面讓開發(fā)者了解系統(tǒng)正常和故障下的行為。
模型風格的指導方針
模型風格指導方針使從系統(tǒng)規(guī)范到嵌入代碼產(chǎn)生的轉化變得簡單有效。對于編碼標準,生產(chǎn)單位通常建立他們自己的模型指導方針,準備用來產(chǎn)生嵌入代碼模型的步驟。
在建立這些標準時,回顧一下已發(fā)布的模型和代碼的指導方針和標準很有用。在一些組織,如MathWorks汽車咨詢部(MAAB)和發(fā)動機工業(yè)軟件可靠性聯(lián)合會(MISRA),已存在著指導方針,這些方針一般集中在安全性、一致性和簡潔性。



 
圖1:故障檢測、隔離和恢復模型。
MAAB建立于1988年,開始是協(xié)調(diào)包括福特、Daimler Benz(現(xiàn)在DaimlerChrysler)和豐田客戶間產(chǎn)品特征要求,現(xiàn)在MAAB把對象擴展到世界范圍,包括大多數(shù)主要的OEM廠商和供應商。MAAB的一個重大成果就是建立了一系列公開、可用的建模風格指導方針。其中一條MAAB規(guī)則規(guī)定了控制器模型必須只能使用離散模塊,因為連續(xù)模塊不能更貼切地表示控制器的實現(xiàn)方式而不允許使用。
MISRA的《在車輛中用C語言編制軟件的指導方針》(MISRA-C),于1998年4月發(fā)布,2004年十月更新,提供了安全相關的汽車嵌入系統(tǒng)的C語言編程指導。使用C語言開發(fā)電控單元軟件的汽車工業(yè)開發(fā)者創(chuàng)建了其中很大的部分。
雖然MISRA-C不是為自動代碼生成而定制的,其規(guī)則關注于C語言編譯器的可移植性,對于手工開發(fā)和自動產(chǎn)生的代碼是一致的。下面就是一個規(guī)則例子:
MISRA規(guī)則11(必要的):內(nèi)部和外部標識符應該不超過31個有效字符。此外,應該檢查編譯器/連接器來確保31個字符串有意義,并支持外部標識符的大小寫敏感特性。這個規(guī)則很重要,可以避免有長名字的標識符間的名字沖突。這個規(guī)則已可使代碼更有可移植性,因為大多數(shù)編譯器和連接器支持至少31個有效字符。
在自動產(chǎn)生的代碼中,標識符在模型中標明。盡管MISRA-C給出的是編碼風格指導方針,但它可以幫助在建模風格指導方針中包含相應的規(guī)則,因為模型是代碼發(fā)生器的輸入。MathWorks為它的嵌入代碼發(fā)生器-Real-Time Workshop Embedded Coder提供一個MISRA-C分析包。另外,最近MISRA建立了一個工作組來檢查自動代碼生成。
模型檢查器
明確的指導方針和標準使軟件開發(fā)者編寫可以系統(tǒng)地檢查對這些方針的符合性的腳本,所以建模環(huán)境必須提供每一個在設計中使用的圖形特征和參數(shù)相對應的API。然后它直接用來開發(fā)系統(tǒng)檢查規(guī)則,如限制標識符名字長度的工具。
在Simulink中的Model Advisor識別模型中那些阻止嵌入系統(tǒng)開發(fā)和限制代碼效率的部分。這個工具幫助開發(fā)者準備一個用來生成代碼的模型,通過分析模型或模塊級別上的配置,給出在每個領域查找結果并提出改進建議的報告。在設計周期早期它特別有用

相關IC型號

熱門點擊

 

推薦技術資料

羅盤誤差及補償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡技術有限公司
付款方式


 復制成功!