專利名稱:基于模型的面向嵌入式實時操作系統(tǒng)的建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)領(lǐng)域的嵌入式實時系統(tǒng),特別涉及一種基于模型的面向嵌入式實時操作系統(tǒng)的建模方法。
背景技術(shù):
嵌入式實時操作系統(tǒng),也叫實時內(nèi)核,是在各類嵌入式芯片的應(yīng)用程序上實現(xiàn)多任務(wù)的機(jī)制。它的核心功能是實現(xiàn)多任務(wù)調(diào)度,以及任務(wù)間的通訊等。
嵌入式實時操作系統(tǒng)運用于各個領(lǐng)域,其執(zhí)行的效率和可靠性都高于普通的前后臺系統(tǒng)的程序,面向嵌入式實時操作系統(tǒng)的開發(fā)設(shè)計是嵌入式實時操作系統(tǒng)應(yīng)用的關(guān)鍵。當(dāng)前的嵌入式操作系統(tǒng)應(yīng)用開發(fā)主要以手寫代碼為主,開發(fā)者必須對該操作系統(tǒng)內(nèi)核十分了解。這種開發(fā)模式不僅對工程師的要求很高,要求工程師熟悉內(nèi)核代碼。而且延長了開發(fā)的時間,在開發(fā)過程中產(chǎn)生很多人為的錯誤。以手寫代碼為主的開發(fā)模式的弊端不斷地涌現(xiàn),一些成熟的商用操作系統(tǒng)應(yīng)用開發(fā)已經(jīng)轉(zhuǎn)向了可視化編程和單獨適合自己操作系統(tǒng)的建模開發(fā)環(huán)境。這種開發(fā)模式在不同的實時操作系統(tǒng)之間缺乏兼容性,面向?qū)崟r操作系統(tǒng)進(jìn)行設(shè)計開發(fā)對工程師提出了挑戰(zhàn),增加了開發(fā)過程中的錯誤,拖長了開發(fā)時間。
建模的過程是使用高層次的規(guī)約來描述軟件是如何形成的,最后我們看到的是源代碼這種字面的形式。建模實際上是“創(chuàng)建代碼”過程中不可分離的一部分。系統(tǒng)工程師偏向集中精力建模,基于模型的開發(fā)在軟件開發(fā)中越來越重要,當(dāng)前形成了統(tǒng)一的建模語言和標(biāo)準(zhǔn),比如UML(Unified Modeling Language統(tǒng)一建模語言)。但是在實時嵌入式領(lǐng)域,基于模型的設(shè)計沒有得到充分發(fā)展,模型設(shè)計都是高層的,模型設(shè)計完了之后,就是一堆圖紙,除了開頭用于項目人員的交流,總體來說對整個開發(fā)過程貢獻(xiàn)不大。目前在面向?qū)崟r操作系統(tǒng)的開發(fā)中雖然有了建模,但主要工作還是在手寫代碼這部分,對開發(fā)帶來了很大的影響。為了解決上述問題,本發(fā)明提出一個面向?qū)崟r操作系統(tǒng)的基于模型的建模方法,極大的方便了工程師在嵌入式實時系統(tǒng)領(lǐng)域進(jìn)行建模設(shè)計。
發(fā)明內(nèi)容
本發(fā)明的發(fā)明目的在于解決上述面向?qū)崟r操作系統(tǒng)的建模設(shè)計難題,為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種為實時操作系統(tǒng)開發(fā)的基于模型的建模環(huán)境,以UML為基礎(chǔ),加上針對實時操作系統(tǒng)的擴(kuò)展,用多個角度的模型圖為主線,集系統(tǒng)建模,代碼生成,模擬仿真,文檔生成于一體,從而解決面向嵌入式實時操作系統(tǒng)開發(fā)的難題。
本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下本發(fā)明提供了一種基于模型的面向嵌入式實時操作系統(tǒng)的建模方法,基于UML規(guī)范面向?qū)崟r操作系統(tǒng)建模,包括以下步驟(1)建立靜態(tài)圖提取出嵌入式實時操作系統(tǒng)的共同特征和接口,依據(jù)UML規(guī)范用圖形結(jié)構(gòu)的表示對操作系統(tǒng)的核心特征進(jìn)行建模;(2)建立動態(tài)圖依據(jù)靜態(tài)圖對象結(jié)構(gòu),描述任務(wù)、事件和定時器三者之間的動態(tài)關(guān)系,展示調(diào)度、任務(wù)與任務(wù)之間、任務(wù)和事件之間的激活關(guān)系;(3)自動生成時間圖系統(tǒng)從動態(tài)圖和靜態(tài)圖自動生成時間圖,以定時器為根源描述每一個定時器控制的任務(wù)模塊和該模塊激活的所有模塊;(4)自動生成時序圖系統(tǒng)根據(jù)動態(tài)圖、靜態(tài)圖和時間圖生成時序圖,以此規(guī)范多個任務(wù)模塊在系統(tǒng)運行中的先后順序。
作為本發(fā)明的一種改進(jìn),步驟(1)中用圖形結(jié)構(gòu)的表示對操作系統(tǒng)的核心特征進(jìn)行建模時,核心特征和圖形表示之間的映射關(guān)系為圖形對應(yīng)實時操作系統(tǒng)的核心特征、任務(wù)的圖形模塊對應(yīng)任務(wù)實體、任務(wù)圖形模塊間的連線對應(yīng)任務(wù)之間的激活關(guān)系、事件的圖形模塊對應(yīng)事件實體、定時器的圖形模塊對應(yīng)定時器實體、計數(shù)器的圖形模塊對應(yīng)計數(shù)器實體、任務(wù)圖形和定時器圖形的連線對應(yīng)定時器和任務(wù)的從屬關(guān)系、資源的圖形模塊對應(yīng)資源實體、任務(wù)圖形和資源圖形的連線對應(yīng)任務(wù)所需的資源關(guān)系、任務(wù)圖形和事件圖形的連線對應(yīng)任務(wù)和事件之間的設(shè)置關(guān)系。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是1、模型的通用性。本發(fā)明建立的模型以UML為基礎(chǔ),是面向整個實時操作系統(tǒng)的,不是特定的為某一個嵌入式系統(tǒng)服務(wù)。模型可以在各種芯片和各種實時操作系統(tǒng)中運用。這種基于模型的面向?qū)崟r操作系統(tǒng)的設(shè)計方法彌補(bǔ)了在嵌入式領(lǐng)域建模不兼容性的缺陷。
2、模型的完整性。本發(fā)明從四個不同角度對面向?qū)崟r操作系統(tǒng)的開發(fā)進(jìn)行建模,能夠充分的反映一個系統(tǒng)模型的各個方面。模型的完整性使得工程師之間的交流更加便利,同時很大的提高了模型的準(zhǔn)確性和可行性。
3、模型的自動生成。本發(fā)明從各個角度建立的模型是相互存在聯(lián)系的,某個角度的模型可以根據(jù)其他模型自動生成一個可行的模型,同時本發(fā)明又允許工程師對自動生成的模型進(jìn)行重構(gòu)。模型的自動生成很好的節(jié)省了建模時間和增強(qiáng)建模的準(zhǔn)確度。
4、節(jié)省開發(fā)時間。工程師完成面向?qū)崟r操作系統(tǒng)的建模后可以根據(jù)模型自動生成代碼,自動生成各類文檔,進(jìn)行模擬仿真??梢源蟠鬁p少整個開發(fā)過程在編寫代碼,撰寫文檔和模擬測試過程中所花費的時間。對于大的系統(tǒng)和復(fù)雜的模型,效果更加明顯,可以節(jié)省一半以上時間。
圖1本發(fā)明的靜態(tài)圖示意圖;圖2本發(fā)明的靜態(tài)圖屬性配置表;圖3本發(fā)明的動態(tài)圖示意圖;圖4本發(fā)明的時間圖示意圖;圖5本發(fā)明的時序圖示意圖;圖6本發(fā)明的例子中建模的靜態(tài)圖;圖7本發(fā)明的例子中建模的動態(tài)圖;圖8本發(fā)明的例子中建模的時間圖;圖9本發(fā)明的例子中建模的時序圖。
具體實施例方式
為實時操作系統(tǒng)開發(fā)的基于模型的建模環(huán)境,以UML為基礎(chǔ),加上針對實時操作系統(tǒng)的擴(kuò)展,用多個角度的模型圖為主線,集系統(tǒng)建模,代碼生成,模擬仿真,文檔生成于一體,從而解決面向嵌入式實時操作系統(tǒng)開發(fā)的難題。
建立在實時操作系統(tǒng)上的應(yīng)用設(shè)計,僅使用單一的模型,從一個角度很難把整個系統(tǒng)展現(xiàn)出來并描述清楚?;趯崟r操作系統(tǒng)的多種特征,本發(fā)明從四個不同角度對系統(tǒng)進(jìn)行建模,包括靜態(tài)圖,動態(tài)圖,時間圖,序列圖。
面向嵌入式實時操作系統(tǒng)的建模過程主要包括以下步驟(1)建立靜態(tài)圖。
本發(fā)明先提取出嵌入式實時操作系統(tǒng)的共同特征和接口,并依據(jù)UML規(guī)范,用一定的圖形結(jié)構(gòu)對這些操作系統(tǒng)核心特征進(jìn)行建模。實時操作系統(tǒng)的最基本特征包含六個方面任務(wù)(Task),任務(wù)占用的資源(Resource),定時器(Alarm),計數(shù)器(Counter),事件(Event),回調(diào)函數(shù)(UserFunction)。
把任務(wù)的核心特征抽象成對象,任務(wù)對象包含自己的屬性,以及對這些屬性的設(shè)置;因此任務(wù)可以建模成一個對象的結(jié)構(gòu)。任務(wù)占用的資源和定時器等同樣也被抽象成對象。任務(wù)之間,任務(wù)和資源之間以及任務(wù)和定時器之間等各種關(guān)系配置,在圖形上表示為對象結(jié)構(gòu)之間的連線。
靜態(tài)圖中,本發(fā)明設(shè)計的實時操作系統(tǒng)的核心特征和圖形表示之間的映射關(guān)系如下表
靜態(tài)圖的建模過程從靜態(tài)的角度描述了實時系統(tǒng)各部分特征之間的從屬關(guān)系,靜態(tài)的對各部分特征進(jìn)行了屬性配置,嵌入式實時操作系統(tǒng)的靜態(tài)圖示意圖見圖1和圖2。
圖1描述了實時系統(tǒng)各部分特征之間的聯(lián)系。
圖2描述了對任務(wù)模塊的屬性設(shè)置。
(2)建立動態(tài)圖。
上述靜態(tài)模型圖只是對實時操作系統(tǒng)應(yīng)用的核心元素進(jìn)行了靜態(tài)配置。并不能展示調(diào)度以及任務(wù)與任務(wù)之間,任務(wù)和事件之間的激活關(guān)系。從動態(tài)的角度,在本發(fā)明中提供了動態(tài)圖這一模塊。動態(tài)圖采用靜態(tài)圖對象結(jié)構(gòu)思想,但是只是展示一個對象結(jié)構(gòu),不提供靜態(tài)配置。動態(tài)圖主要描述任務(wù),事件,定時器三者之間的動態(tài)關(guān)系,全面展示任務(wù)激活任務(wù),任務(wù)設(shè)置事件和等待事件,任務(wù)設(shè)置計時器等動態(tài)關(guān)系。
嵌入式實時操作系統(tǒng)的動態(tài)圖示意圖見圖3。
(3)自動生成時間圖。
動態(tài)圖和靜態(tài)圖從不同的角度對系統(tǒng)進(jìn)行建模,時間圖綜合靜態(tài)圖和動態(tài)圖反映的信息,以定時器為根源,描述了每一個定時器控制的任務(wù)模塊和該模塊激活的所有模塊。時間圖可以從動態(tài)圖,靜態(tài)圖自動生成,但是他從另一個角度描述了系統(tǒng)的建模。嵌入式實時操作系統(tǒng)的時間圖示意圖見圖4。
4)、自動生成時序圖。
動態(tài)圖描述了系統(tǒng)模型的動態(tài)關(guān)系,但是沒有把系統(tǒng)運行的先后順序表現(xiàn)出來。多個任務(wù)模塊之間的激活順序,任務(wù)模塊激活定時器的時間等等時序問題應(yīng)該是系統(tǒng)建模設(shè)計后系統(tǒng)仿真分析需要的重要的信息。系統(tǒng)可以根據(jù)動態(tài)圖,靜態(tài)圖,時間圖生成默認(rèn)的時序圖,當(dāng)然工程師可以自己重新設(shè)計時序圖,滿足系統(tǒng)建模要求。時序圖與仿真模擬,自動代碼生成都有密切關(guān)系。嵌入式實時操作系統(tǒng)的時序圖示意圖見圖5。
工程師在面向?qū)崟r操作系統(tǒng)建模時,從上述四個不同角度來建立模型,能夠充分描述模型的各個方面,同時可以很好的根據(jù)模型進(jìn)行文檔生成,仿真模擬,自動代碼生成。
下面結(jié)合附圖和實例對本發(fā)明作進(jìn)一步介紹。
實例是對簡化后的汽車發(fā)動機(jī)的控制過程進(jìn)行建模,主要包括發(fā)動機(jī)噴油,點火,轉(zhuǎn)速計算等一系列的功能的設(shè)計。
第一步,用戶在可視化環(huán)境下進(jìn)行靜態(tài)圖的建模,并對相應(yīng)的模塊進(jìn)行屬性配置。(圖6)
建模的過程就是畫一幅圖的過程,工程師根據(jù)自己的應(yīng)用設(shè)計畫出一幅模型圖,建立圖形的方式就是利用鼠標(biāo)進(jìn)行“拖-放”的操作。圖6是建立好的一個模型的例子。
例子中描述的模型中有四個任務(wù)發(fā)動機(jī)控制中心任務(wù),主要用來控制發(fā)動機(jī)噴油量,點火時間,轉(zhuǎn)速,傳感器。發(fā)動機(jī)控制中心是這個模型的核心任務(wù)模塊,它的優(yōu)先級相對比較高為21,有一個定時器定時自動的激活控制中心進(jìn)行控制。定時器的周期時間為10ms。靜態(tài)圖中還定義了點火噴油任務(wù)模塊,轉(zhuǎn)速計算任務(wù)模塊,傳感器采樣任務(wù)模塊,它們的屬性設(shè)置如圖中所示。同時靜態(tài)圖中還定義了兩個事件模塊。
第二步,用戶在可視化環(huán)境下進(jìn)行動態(tài)圖的建模,動態(tài)圖的建模必須和靜態(tài)圖的建模信息保持一致,根據(jù)第一步的靜態(tài)圖建模相應(yīng)的動態(tài)圖。(圖7)圖中反映了的信息說明發(fā)動機(jī)控制中心分別激活轉(zhuǎn)速計算,噴油點火,傳感器采樣三大模塊。當(dāng)轉(zhuǎn)速計算完成后,發(fā)送一個事件通知控制中心。
第三步,自動生成時間圖,更清楚地認(rèn)識模型。(圖8)這個時間模型可以自動生成,根據(jù)圖6和圖7,從定時器的角度展示了模型間的關(guān)系。
第四部,建模時序圖,可以利用自動生成的時序圖,工程師可以自動建模。(圖9)時序圖中把控制中心分成六部分,轉(zhuǎn)速計算分成兩部分,傳感器也被分成兩部分。首先控制中心激活轉(zhuǎn)速計算,讓它完成發(fā)動機(jī)轉(zhuǎn)速值的確定,轉(zhuǎn)速計算機(jī)算出發(fā)動機(jī)轉(zhuǎn)速后發(fā)送一個事件通知控制中心,控制中心得到發(fā)動機(jī)轉(zhuǎn)速后激活傳感器采樣,進(jìn)行采樣數(shù)據(jù)同樣再告訴控制中心,當(dāng)轉(zhuǎn)速計算和傳感器采樣完成后,控制中心就可以根據(jù)所得到的數(shù)據(jù)激活發(fā)動機(jī)進(jìn)行噴油點火。定時器周期性的啟動控制中心完成控制任務(wù)。
從四個角度對發(fā)動機(jī)控制進(jìn)行建模后,整個建模結(jié)束??梢岳帽景l(fā)明開發(fā)的相應(yīng)功能進(jìn)行各類文檔的生成,自動代碼,模擬仿真。
本發(fā)明在上述工作的基礎(chǔ)上,提出了在實時操作系統(tǒng)領(lǐng)域統(tǒng)一建模的思想。在嵌入式領(lǐng)域采用基于模型的建模設(shè)計方法,對傳統(tǒng)開發(fā)設(shè)計的提出了挑戰(zhàn)并引起深刻變革。
權(quán)利要求
1.一種基于模型的面向嵌入式實時操作系統(tǒng)的建模方法,基于UML規(guī)范面向?qū)崟r操作系統(tǒng)建模,其特征在于,包括以下步驟(1)建立靜態(tài)圖提取出嵌入式實時操作系統(tǒng)的共同特征和接口,依據(jù)UML規(guī)范用圖形結(jié)構(gòu)的表示對操作系統(tǒng)的核心特征進(jìn)行建模;(2)建立動態(tài)圖依據(jù)靜態(tài)圖對象結(jié)構(gòu),描述任務(wù)、事件和定時器三者之間的動態(tài)關(guān)系,展示調(diào)度、任務(wù)與任務(wù)之間、任務(wù)和事件之間的激活關(guān)系;(3)自動生成時間圖系統(tǒng)從動態(tài)圖和靜態(tài)圖自動生成時間圖,以定時器為根源描述每一個定時器控制的任務(wù)模塊和該模塊激活的所有模塊;(4)自動生成時序圖系統(tǒng)根據(jù)動態(tài)圖、靜態(tài)圖和時間圖生成時序圖,以此規(guī)范多個任務(wù)模塊在系統(tǒng)運行中的先后順序。
2.根據(jù)權(quán)利要求1所述的基于模型的面向嵌入式實時操作系統(tǒng)的建模方法,其特征在于,步驟(1)中用圖形結(jié)構(gòu)的表示對操作系統(tǒng)的核心特征進(jìn)行建模時,核心特征和圖形表示之間的映射關(guān)系為圖形對應(yīng)實時操作系統(tǒng)的核心特征、任務(wù)的圖形模塊對應(yīng)任務(wù)實體、任務(wù)圖形模塊間的連線對應(yīng)任務(wù)之間的激活關(guān)系、事件的圖形模塊對應(yīng)事件實體、定時器的圖形模塊對應(yīng)定時器實體、計數(shù)器的圖形模塊對應(yīng)計數(shù)器實體、任務(wù)圖形和定時器圖形的連線對應(yīng)定時器和任務(wù)的從屬關(guān)系、資源的圖形模塊對應(yīng)資源實體、任務(wù)圖形和資源圖形的連線對應(yīng)任務(wù)所需的資源關(guān)系、任務(wù)圖形和事件圖形的連線對應(yīng)任務(wù)和事件之間的設(shè)置關(guān)系。
全文摘要
本發(fā)明涉及計算機(jī)領(lǐng)域的嵌入式實時系統(tǒng),旨在提供一種基于模型的面向嵌入式實時操作系統(tǒng)的建模方法。該方法包括步驟建立靜態(tài)圖、建立動態(tài)圖、自動生成時間圖和自動生成時序圖。本發(fā)明具有的有益的效果是模型可以在各種芯片和各種實時操作系統(tǒng)中運用;能夠充分的反映一個系統(tǒng)模型的各個方面,很大的提高了模型的準(zhǔn)確性和可行性;模型的自動生成很好的節(jié)省了建模時間和增強(qiáng)建模的準(zhǔn)確度;可以大大減少整個開發(fā)過程在編寫代碼,撰寫文檔和模擬測試過程中所花費的時間。
文檔編號G06F9/44GK1996237SQ20061015532
公開日2007年7月11日 申請日期2006年12月20日 優(yōu)先權(quán)日2006年12月20日
發(fā)明者趙民德, 楊國青, 李紅, 周炎淼, 高志剛, 吳朝暉 申請人:浙江大學(xué)