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