基于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ā)出滿足安全性與可靠性需要的專(zhuān)用嵌入式軟件成為了制約嵌入式技術(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)論