基于SCADE的嵌入式軟件開發(fā)
下面根據(jù)模塊功能,對系統(tǒng)模型進(jìn)行了進(jìn)一步劃分,主要分為以下幾個模塊:
(1)飛行狀態(tài)條件計算模塊Condition.其輸人為彈體姿態(tài)和彈目相對位置信息,以及兩個常數(shù)參數(shù),輸出為三個飛行狀態(tài)變化的條件。
(2)飛行狀態(tài)判斷模塊Fly-State.其輸人為三個狀態(tài)變化條件變量,輸出為三種狀態(tài)標(biāo)志。
(3)導(dǎo)引指令坐標(biāo)系轉(zhuǎn)換模塊Transition.其輸入為彈體姿態(tài)和慣性系下比例導(dǎo)引指令,輸出為彈體系下比例導(dǎo)引指令。
(4)過載計算模塊Acceleration.其輸入為三個飛行狀態(tài)標(biāo)志,彈體速度。攻角信息,彈體系下的比例導(dǎo)引指令,以及一個常數(shù)參數(shù),輸出為彈體過載指令。
(5)過載限幅模塊Alimit.其輸入為彈體過載指令,輸出為限幅后的彈體過載指令。
其中Condition.Acceleration.Transition和Alimit是功能計算模塊,用數(shù)據(jù)流圖建模;Fly-State是狀態(tài)計算模塊,用有限狀態(tài)機(jī)建模。系統(tǒng)模型圖如圖5所示。
圖6為飛行狀態(tài)計算模塊Fly-State的模型,其中共包含3個狀態(tài),分別為初始狀態(tài)(Istate),轉(zhuǎn)彎狀態(tài)(Tstate)和俯沖狀態(tài)(Astate)。根據(jù)三個輸入的布爾量條件可以進(jìn)行狀態(tài)變化。其中的狀態(tài)變化都是單向不可反復(fù)的,變化方向和線條箭頭方向一致。
5.4模型驗證和算法調(diào)試
完成模型設(shè)計后,需要使用SCADE提供的一系列檢查驗證手段來確保模型的正確性和安全性。對于發(fā)現(xiàn)的問題,可以在直觀的圖形化模型上進(jìn)行模型修改和參數(shù)調(diào)試。
使用模擬仿真工具,可以通過設(shè)計各種測試用例來模擬可能出現(xiàn)的實際情況,對模型進(jìn)行仿真調(diào)試??梢詮目刂扑惴ń嵌群蛙浖こ探嵌葘δP瓦M(jìn)行優(yōu)化,以達(dá)到滿足設(shè)計需求的目的。
5.5代碼集成
在代碼集成階段,根據(jù)實際需要,按照效率優(yōu)先原則進(jìn)行了配置并自動生成了標(biāo)準(zhǔn)C代碼。然后對使用了SCADE自動生成代碼的軟件進(jìn)行仿真,其仿真結(jié)果與模型仿真的結(jié)果一致,滿足設(shè)計需求。
6結(jié)束語
SCADE軟件開發(fā)環(huán)境的出現(xiàn),提供了一種基于模型的高安全性嵌入式軟件解決方案,使嵌入式軟件的開發(fā)效率大大提高。同時由于使用了基于模型的設(shè)計流程和高度自動化的開發(fā)進(jìn)程,研制工作的重心集中在建模層面,把軟件設(shè)計人員從繁復(fù)的編碼和驗證工作中解放出來,能夠把大量的精力投入到算法設(shè)計和建模工作中,這對于嵌入式軟件的工程開發(fā)有著重要的意義。
評論