基于SCADE的嵌入式軟件開發(fā)
嵌入式技術(shù)是計算機發(fā)展的趨勢之一,被廣泛應(yīng)用于工業(yè)和軍事領(lǐng)域。SCADE(高安全性的應(yīng)用程序開發(fā)環(huán)境)為嵌入式軟件提供了一套基于模型的開發(fā)方式。從嵌入式軟件的特點入手,對基于模型的嵌入式系統(tǒng)軟件開發(fā)技術(shù)進行了深入剖析,并給出了一個基于SCADE的開發(fā)實例。
1引言
隨著嵌入式應(yīng)用技術(shù)的發(fā)展,嵌入式系統(tǒng)被廣泛應(yīng)用于人們生活的各個方面。大量功能強大而價格便宜的通用嵌入式硬件隨之出現(xiàn)在市場上。而如何能夠在通用硬件平臺上,高效的開發(fā)出滿足安全性與可靠性需要的專用嵌入式軟件成為了制約嵌入式技術(shù)應(yīng)用的瓶頸。在計算機領(lǐng)域,如何為軟件的工業(yè)化大生產(chǎn)創(chuàng)造必要的技術(shù)條件和設(shè)計模式一直是軟件工程研究的首要問題。無論是軟件工程領(lǐng)域出現(xiàn)過的計算機輔助軟件工程的熱潮,還是,基于面向?qū)ο蠹夹g(shù)和組件技術(shù)的“裝配重用”軟件思路,都有一些根本性的問題沒有得到解決,因此大規(guī)模的“裝配”軟件生產(chǎn)還處在一個理想階段。
隨著研究的深入,用模型化。組件化的方法定義并開發(fā)軟件及其系統(tǒng)的思想引起了人們的興趣,也提供了一種新的軟件工業(yè)化大生產(chǎn)的可能性。在這方面,嵌入式軟件由于其本身的特殊性走在了通用軟件(PC機用軟件)的前面。
2 SCADE軟件開發(fā)環(huán)境簡介
SCADE(Safety-Critical Application Develop-ment Environment)高安全性的應(yīng)用程序開發(fā)環(huán)境,是法國Esterel Technologies公司研制的一個用于開發(fā)達到歐洲航空業(yè)DO一178B標(biāo)準(zhǔn)的嵌入式軟件的完整工具包。它針對嵌入式軟件的特點,運用了正確構(gòu)建(Correct by Construction)的概念,提出了一種基于模型的圖形化開發(fā)方式,覆蓋了從需求分析到代碼實現(xiàn)的整個軟件開發(fā)流程。
SCADE開發(fā)環(huán)境提供的一系列開發(fā)工具,實現(xiàn)了直觀的圖形化需求建模功能,基于模型的仿真驗證和軟件測試功能,以及基于模型的標(biāo)準(zhǔn)C代碼和開發(fā)文檔的自動生成功能。其嚴(yán)謹(jǐn)?shù)慕@碚摵徒?jīng)過高安全性驗證的代碼生成器KCG,保證了軟件需求和代碼產(chǎn)品的高度同步。
SCADE開發(fā)環(huán)境的出現(xiàn),使軟件設(shè)計工作可以集中在需求建模的層面,為基于模型的軟件開發(fā)方法提供了載體。
3基于SCADE的嵌入式軟件開發(fā)理論基礎(chǔ)
根據(jù)嵌入式系統(tǒng)的特點,SCADE提出了反應(yīng)式系統(tǒng)。確定性。同步假設(shè)。并發(fā)性四個關(guān)鍵概念,從嵌入式系統(tǒng)的本質(zhì)特征出發(fā),極大的簡化了系統(tǒng)設(shè)計的考慮,為基于模型的開發(fā)方式提供了理論基礎(chǔ)。
3.1反應(yīng)式系統(tǒng)
反應(yīng)式(Reactive system)系統(tǒng)是指在運行過程中,不停的和外部環(huán)境交換信息,以外部環(huán)境的輸入信息為主導(dǎo),進行特定的計算和輸出的嵌人式系統(tǒng)。
反應(yīng)式系統(tǒng)的工作方式是一個“輸入一計算一輸出”的連續(xù)循環(huán)過程。反應(yīng)式系統(tǒng)一般還兼具實時性和周期性,廣泛應(yīng)用于工業(yè)領(lǐng)域的嵌入式系統(tǒng)大都屬于這種系統(tǒng)。反應(yīng)式系統(tǒng)的工作方式如圖1所示。
反應(yīng)式系統(tǒng)的概念,把嵌入式系統(tǒng)簡化為一個能不斷接收輸入,并計算輸出的黑盒,為嵌人式系統(tǒng)的需求建模提供了基本模型。
3.2確定性
一個系統(tǒng),如果使用相同的一組輸入序列,在相同的時間調(diào)度下,其反應(yīng)情況相同,始終產(chǎn)生相同的一組輸出,那么它就是確定的。確定性提高了系統(tǒng)的安全性,是大多數(shù)嵌入式軟件的重要需求,在航空航天等高科技領(lǐng)域,這也是一個必要條件。‘確定性的要求降低了系統(tǒng)設(shè)計的復(fù)雜度,簡化了系統(tǒng)建模和仿真驗證的考慮。SCADE開發(fā)環(huán)境提供的各種機制確保了系統(tǒng)的確定性,開發(fā)者不能引入不確定性。
3.3同步假設(shè)
同步假設(shè)(synchrony hypothesis)是假設(shè)反應(yīng)式系統(tǒng)的處理速度無限快,即系統(tǒng)在一個可以忽略不計的瞬間響應(yīng)輸入,并產(chǎn)生輸出。這樣,任何兩次響應(yīng)之間都不會重疊,每一次輸出都會在下一次輸人前完成。
相對于通用軟件的設(shè)計,時間是嵌入式系統(tǒng)設(shè)計必須考慮的一個因素,而嵌入式軟件的運行時間又是與硬件環(huán)境息息相關(guān)的。為了簡化系統(tǒng)設(shè)計,SCADE提出了同步假設(shè)概念,把物理時間從系統(tǒng)設(shè)計中剝離出來。一方面確保了系統(tǒng)的實時性,另一方面也體現(xiàn)了設(shè)計的平臺無關(guān)性。
評論