


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
運(yùn)用UML分設(shè)計(jì)占先式實(shí)時(shí)內(nèi)核要UML是軟件工程領(lǐng)域的標(biāo)準(zhǔn)模語言。本文介紹使用統(tǒng)一建模語言對(duì)入式系中占先式實(shí)時(shí)內(nèi)核的面向?qū)ο筌浖治雠c設(shè)計(jì);詳述利用UML的各種標(biāo)準(zhǔn)符號(hào)進(jìn)行從需求分析到整體設(shè)計(jì)的一系列工作。關(guān)鍵一建模語)面向?qū)ο笳际綄?shí)時(shí)內(nèi)核嵌入系統(tǒng)引言在過去的10多年里,嵌入式技術(shù)得到飛速發(fā)展。隨著嵌入式應(yīng)用的不斷深入,嵌入式系統(tǒng)的復(fù)雜性、不確定性在不斷提高,系統(tǒng)規(guī)模也在逐步增大;而產(chǎn)品的研發(fā)周期又在不斷地縮短,這給嵌入式應(yīng)用軟件的開發(fā)帶來了新的挑戰(zhàn)。因此,最近幾年,對(duì)占先式實(shí)時(shí)內(nèi)核的研究、開發(fā)與應(yīng)用逐漸成為嵌入式系統(tǒng)的重點(diǎn)研究方向。面向?qū)ο蠹夹g(shù)由于內(nèi)在地支持了對(duì)系統(tǒng)的抽象、分層和復(fù)用技術(shù),能夠很好地控制系統(tǒng)的復(fù)雜性很地減輕嵌入式軟件的開發(fā)者必然面臨由于芯片性能的提高入操作系統(tǒng)平臺(tái)等技術(shù)方面不斷變化所帶來的各種壓力嵌入式領(lǐng)域得到越來越廣泛的應(yīng)用。其中,統(tǒng)一建模語言是當(dāng)今世界上面向?qū)ο笙到y(tǒng)開發(fā)領(lǐng)域中應(yīng)用最為廣泛的工具之一統(tǒng)一建模語言UML1.1UML簡UMLUnifiedModelingLanguage)是一種標(biāo)準(zhǔn)的、用于面向?qū)ο蠛突跇?gòu)件的軟件系統(tǒng)建模工具,是一種用于對(duì)軟件系統(tǒng)模型繪制可視化描述的工具。UML以準(zhǔn)的、易于理解的方式建立能夠描述復(fù)雜系統(tǒng)結(jié)構(gòu)和過程的可視化模型,廣泛用于描述信息管理系統(tǒng)有時(shí)要求的工業(yè)系統(tǒng)過程入系統(tǒng)分布式系統(tǒng)系統(tǒng)軟件等。UML由、視圖、模型元素、通用機(jī)制和擴(kuò)展機(jī)制等幾個(gè)部分組成。其中圖是UML建的關(guān)鍵,視圖由圖來描述;而圖由模型元素結(jié)合通用機(jī)制、擴(kuò)展機(jī)制等表示和語義組成。根據(jù)圖在系統(tǒng)開發(fā)過程中不同階段的應(yīng)用,可以分為五類:用例圖、靜態(tài)圖、行為圖、交互圖與實(shí)現(xiàn)圖。這些圖為系統(tǒng)的分析、設(shè)計(jì)提供了多種圖形表達(dá)形式,應(yīng)用于建模的不同階段。運(yùn)用UML我可以分析設(shè)幾乎所有的軟件和非軟件系統(tǒng)然對(duì)具體的系統(tǒng)應(yīng)該根據(jù)系統(tǒng)的類型、系統(tǒng)的規(guī)模和開發(fā)需要繪制相應(yīng)的圖,不一定在一個(gè)系統(tǒng)中畫出所有種類的圖。1.2UML與先式實(shí)時(shí)內(nèi)核開發(fā)一個(gè)占先式實(shí)時(shí)內(nèi)核與一般軟件的開發(fā)一樣,必然要經(jīng)過開發(fā)的分析、設(shè)計(jì)、編碼、測(cè)試四個(gè)階段。在嵌入式軟件開發(fā)過程中,一般采用的是一種順序開發(fā)方法。然而,由于嵌入式產(chǎn)品更新很快,研發(fā)周期要求盡可能的短,同時(shí)在開發(fā)過程中應(yīng)能動(dòng)態(tài)地調(diào)整,所以,開發(fā)初斯所做的需求分析和設(shè)計(jì),在后期的實(shí)現(xiàn)和測(cè)試中往往要做變動(dòng)。這反映了在軟件開發(fā)過程中的需求分析、設(shè)計(jì)與具體實(shí)現(xiàn)之間有某種程度上的脫節(jié),對(duì)軟件實(shí)現(xiàn)后面的驗(yàn)證往往會(huì)帶來很大風(fēng)險(xiǎn)。另外,傳統(tǒng)的嵌入式系統(tǒng)軟件開發(fā)環(huán)境主要是對(duì)開發(fā)過程中軟件實(shí)現(xiàn)和測(cè)試階段的支持,是以源程序的開發(fā)和測(cè)試為核心的,缺少必要的需求分析和設(shè)計(jì)工具[!--empirenews.]UML為占式實(shí)時(shí)內(nèi)核的設(shè)計(jì)和實(shí)現(xiàn)提供了一套功能強(qiáng)大的建模工具UML合了面向?qū)ο蠓椒ㄖ械臄?shù)據(jù)驅(qū)動(dòng)和行為驅(qū)動(dòng)兩種方式,可以從各個(gè)方面描述實(shí)時(shí)系統(tǒng)的功能及反映實(shí)時(shí)系統(tǒng)的結(jié)束條件,可以為具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)結(jié)構(gòu)的系統(tǒng)以面向?qū)ο髨D形的方式建模。因此,使用面向?qū)ο蟮目珊芎玫赝瓿烧枷仁綄?shí)時(shí)內(nèi)核的建模2占先實(shí)時(shí)內(nèi)核的類圖UML建模的具體應(yīng)用2.1占先式實(shí)時(shí)內(nèi)核概述占先式實(shí)時(shí)內(nèi)核具有多任務(wù)機(jī)制。多任務(wù)機(jī)制是基于面向任務(wù)對(duì)象的,以任務(wù)為對(duì)象,以事件和時(shí)間為驅(qū)動(dòng),通過實(shí)時(shí)內(nèi)核管理時(shí)間關(guān)鍵任務(wù)和任務(wù)的優(yōu)先級(jí),實(shí)現(xiàn)任務(wù)之間的調(diào)度、協(xié)同和仲裁。多任務(wù)機(jī)制的具體實(shí)現(xiàn)由調(diào)度程度來完成。在系統(tǒng)程序運(yùn)行過程中,當(dāng)前任務(wù)完成之后,調(diào)度程序調(diào)出任務(wù)就緒表中優(yōu)先級(jí)最高任務(wù)的入口地址,把CPU資分析給該任務(wù),使之執(zhí)行。如果該任務(wù)在執(zhí)行過程中引起比它優(yōu)先級(jí)高的任務(wù)進(jìn)入就緒態(tài),或者是中斷服務(wù)程序使一個(gè)更高優(yōu)先級(jí)任務(wù)進(jìn)入就緒態(tài),調(diào)度程序會(huì)把任務(wù)的當(dāng)前程序指針、寄存器壓入到該任務(wù)的任務(wù)堆棧指針指向的棧空間,保證現(xiàn)場(chǎng),再把CPU資分配給更高優(yōu)先級(jí)任務(wù),使高優(yōu)先級(jí)任務(wù)開始執(zhí)行。高優(yōu)先級(jí)任務(wù)執(zhí)行完畢后,下一個(gè)在任務(wù)就緒表中的最高級(jí)任務(wù)先從該任務(wù)的堆棧數(shù)據(jù)區(qū)恢復(fù)寄存器指序態(tài)后換并執(zhí)行該任務(wù)。采用占先式實(shí)時(shí)內(nèi)核的思想設(shè)計(jì)單片機(jī)軟件,可以合理應(yīng)用單片機(jī)的有限資源并達(dá)到很高的實(shí)時(shí)響應(yīng),能降低軟件設(shè)計(jì)的難度。在本設(shè)計(jì)中,要求占先式實(shí)時(shí)內(nèi)核應(yīng)用于單片機(jī)中,任
務(wù)數(shù)量最多不超過16個(gè)務(wù)。占先式實(shí)時(shí)內(nèi)核的功能需求是*支持外部異步事件中斷、定時(shí)器中斷消傳遞及任務(wù)消息達(dá)時(shí)的調(diào)度支持基于任務(wù)優(yōu)先級(jí)占先調(diào)度種實(shí)時(shí)調(diào)度策略*任務(wù)的創(chuàng)建、運(yùn)行、掛、喚醒與撤銷時(shí)器時(shí)鐘管理,任務(wù)延時(shí)處理共享資源管理,保證任務(wù)的同步運(yùn)行。由于占先式實(shí)時(shí)內(nèi)核主要體現(xiàn)在軟件設(shè)計(jì)方面,所以在此省略了構(gòu)件圖和配置圖用圖圖1為例圖了系統(tǒng)最基本的功能及功能描述,包括一系列用例和從系統(tǒng)中抽象出來的執(zhí)行者色說任務(wù)是嵌入式系統(tǒng)中用戶想要實(shí)現(xiàn)的具體功能,是一個(gè)線程。這些功能包括:輸入、輸出、數(shù)據(jù)處理、通信等*中斷。用來通知占先式實(shí)時(shí)內(nèi)核有一個(gè)事件發(fā)生,包括內(nèi)部非屏蔽中斷、定時(shí)器中斷與外部異步時(shí)間中斷。[!--empirenews.]*統(tǒng)時(shí)鐘。用來創(chuàng)建中先式實(shí)時(shí)核所需要時(shí)候節(jié)拍使用案例說*中斷響應(yīng)先實(shí)時(shí)內(nèi)核通過對(duì)異步事件的處理得務(wù)運(yùn)行所需要的信號(hào)與數(shù)據(jù),使任務(wù)得以正常運(yùn)行中斷級(jí)調(diào)度。中斷處理使得需要該中斷信號(hào)的任務(wù)就緒,調(diào)度程序判斷該任務(wù)是否為當(dāng)前任務(wù)就緒表中最高優(yōu)先級(jí)任務(wù)定任務(wù)否立即進(jìn)行。*任就緒這指的不是由于中斷所引起的用戶任務(wù)就緒兩種方式一是用希望應(yīng)用系統(tǒng)完成某個(gè)任務(wù)功能時(shí),需要通知占先式實(shí)時(shí)內(nèi)核,要求它創(chuàng)建該任務(wù);另一個(gè)是,當(dāng)當(dāng)前運(yùn)行的任務(wù)喚醒另一個(gè)任務(wù)時(shí)后者就緒任務(wù)級(jí)調(diào)度任務(wù)完成創(chuàng)建或被別的任務(wù)喚醒之后,調(diào)度程序判斷該任務(wù)是否為當(dāng)前任務(wù)就緒表中最高優(yōu)先級(jí)任務(wù),進(jìn)而決定該任務(wù)是否立即進(jìn)行。*任務(wù)運(yùn)行。任務(wù)是當(dāng)前任務(wù)就緒表中優(yōu)先級(jí)最高的任務(wù)時(shí)運(yùn)行該任務(wù)。2.3類圖2為圖,包括一組由所討論系統(tǒng)中抽象出的類和它們之間的關(guān)系。類中斷的屬性中斷型包括非屏蔽中斷部斷與定時(shí)器中斷占先式實(shí)時(shí)同核進(jìn)行相1][2]下一頁
應(yīng)的中斷處理中斷向量號(hào)與單片機(jī)的中斷向量號(hào)相匹配嵌套狀態(tài)表明當(dāng)前中斷是處于哪一層的中斷嵌套中。類中斷有一個(gè)操作:中斷處理,獲取外部事件的信號(hào)和數(shù)據(jù),并使上應(yīng)的任務(wù)就緒,然后判斷中斷嵌套數(shù)是否為0。若不為零,執(zhí)行別的中斷響應(yīng);如果為零,選擇相應(yīng)的調(diào)度程序進(jìn)行調(diào)度。類調(diào)度的屬性中,調(diào)度策略用于選擇一種實(shí)時(shí)調(diào)度方案;調(diào)度類型包括中斷調(diào)度與任務(wù)級(jí)調(diào)度;任務(wù)就緒表與任務(wù)懸掛表是調(diào)度時(shí)所需要數(shù)據(jù)結(jié)構(gòu)。類調(diào)度有一個(gè)操作:調(diào)度。當(dāng)當(dāng)前任務(wù)是任務(wù)就緒表中優(yōu)先級(jí)最高的任務(wù)時(shí)前任務(wù)繼續(xù)運(yùn)行是當(dāng)前任務(wù)運(yùn)行時(shí)的狀態(tài)與數(shù)據(jù)壓入該任務(wù)堆棧,掛起該任務(wù),然后調(diào)出最高級(jí)優(yōu)先權(quán)任務(wù)的任務(wù)堆棧數(shù)據(jù)與狀態(tài),使最高級(jí)任務(wù)運(yùn)行。類任務(wù)的屬性中,任務(wù)ID表是哪一個(gè)任務(wù);任務(wù)優(yōu)先級(jí)說明任務(wù)在所有任務(wù)中的運(yùn)行優(yōu)先權(quán);任務(wù)狀態(tài)說明該任務(wù)在占先式實(shí)時(shí)內(nèi)核中是處在何種狀態(tài);任務(wù)堆棧保存任務(wù)切換時(shí)該任務(wù)的狀態(tài)與數(shù)據(jù)類任務(wù)有四個(gè)操作立務(wù)占先式實(shí)時(shí)內(nèi)核中確認(rèn)該任務(wù)起任務(wù),是任務(wù)由就緒狀態(tài)轉(zhuǎn)為掛起狀態(tài);恢復(fù)任務(wù),是任務(wù)由掛起狀態(tài)轉(zhuǎn)為就緒狀態(tài);任務(wù)延遲,是任務(wù)自我延遲若干個(gè)時(shí)鐘節(jié)拍,同時(shí)由就緒狀態(tài)轉(zhuǎn)為掛起狀態(tài)。類消息的屬性中,消息類型包括信號(hào)量與消息隊(duì)列;消息ID表明該消息是哪一個(gè)消息;消息發(fā)送任務(wù)ID表明消息是由哪個(gè)任務(wù)發(fā)送的消息接收任ID表哪些任務(wù)接收該消息類消息的操作有兩個(gè)發(fā)送消息個(gè)幾個(gè)任務(wù)發(fā)送信消息接收到某個(gè)信息[!--empirenews.]類任務(wù)定時(shí)器的屬性中務(wù)定時(shí)器表明定時(shí)器是屬于哪個(gè)任務(wù)的務(wù)時(shí)器時(shí)長說明該任務(wù)需要多長時(shí)鐘節(jié)后才能再次運(yùn)行。類任務(wù)定時(shí)器中有兩個(gè)操作:時(shí)鐘節(jié)拍處理,處理任務(wù)的延時(shí)時(shí)鐘節(jié)拍;任務(wù)超時(shí)處理時(shí)到的任務(wù)狀態(tài)轉(zhuǎn)為為就緒狀態(tài)有以下聯(lián)系斷與任務(wù)之間,描述中斷處理使相應(yīng)的任務(wù)就緒中斷與調(diào)度之間,描述由于中斷引起的中斷級(jí)調(diào)度*中斷與消息之間描中斷處理時(shí)應(yīng)的消息得到信號(hào)或數(shù)據(jù)調(diào)度與任務(wù)之間描由于調(diào)度使任務(wù)就緒表中優(yōu)先級(jí)最高的任務(wù)運(yùn)行于等待信號(hào)而自我掛起請(qǐng)求調(diào)度;*任與任務(wù)定時(shí)器之間,描述時(shí)器對(duì)任務(wù)延遲時(shí)間的處理*任務(wù)與消息之間,描述任務(wù)對(duì)消息的信息請(qǐng)求消息對(duì)任務(wù)息的接收息發(fā)送使接收該信息的任務(wù)就緒調(diào)與消
息之間,描述由于消息到而請(qǐng)求調(diào)度2.4狀態(tài)圖狀態(tài)圖表示對(duì)象的行為,被用來描述一個(gè)系統(tǒng)的動(dòng)態(tài)視圖。由于在占先式實(shí)時(shí)內(nèi)核中系統(tǒng)的狀態(tài)轉(zhuǎn)換可以通過任務(wù)的狀態(tài)轉(zhuǎn)換顯示出來,所以這里只給出對(duì)象任務(wù)的狀態(tài)務(wù),如圖示。任務(wù)在占先式實(shí)時(shí)內(nèi)核中具有就緒、運(yùn)行、掛起三種狀態(tài)。任務(wù)正在運(yùn)行時(shí),由于等待消息、自我延時(shí)或自我掛起,可以由運(yùn)行狀態(tài)進(jìn)入掛起狀態(tài)。當(dāng)?shù)却南⒌?、等待超時(shí)或延遲到時(shí),任務(wù)狀態(tài)就由掛起狀態(tài)進(jìn)入就緒狀態(tài)務(wù)果是任務(wù)就緒表優(yōu)先級(jí)最高的任務(wù)調(diào)度和任務(wù)切換入行狀態(tài)。任務(wù)處于運(yùn)行狀態(tài)時(shí),如中斷發(fā)生,通過中斷響應(yīng)處理使任務(wù)就緒,并進(jìn)行中斷級(jí)調(diào)度:如果是任務(wù)就緒表中優(yōu)先級(jí)最高的任務(wù),繼續(xù)運(yùn)行;如不是,進(jìn)行任務(wù)切換,任務(wù)由運(yùn)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)。處于就緒狀態(tài)時(shí)的任務(wù),也可以由于當(dāng)前運(yùn)行任務(wù)的請(qǐng)求從就緒狀態(tài)轉(zhuǎn)變?yōu)閽炱馉顟B(tài)2.5順序占先式時(shí)內(nèi)核強(qiáng)調(diào)的是時(shí)間和事件。在UML中順圖是具有這種特性的動(dòng)態(tài)交互模型。占先式實(shí)時(shí)內(nèi)核的順序力圖示。圖4展了中斷和任務(wù)、任務(wù)和任務(wù)之間的交互情況,這也是占先式實(shí)時(shí)內(nèi)核的基本內(nèi)容。參與流程的對(duì)象在框圖頂部的矩形中顯示,共有五個(gè)對(duì)象:中斷對(duì)象用來通知正在運(yùn)行的任務(wù)有異步事件發(fā)生,并將正在運(yùn)行任務(wù)的當(dāng)前狀態(tài)保存,暫停任務(wù)的運(yùn)行;中斷響應(yīng)對(duì)象處理任務(wù)的中斷服務(wù)代碼,并將與中斷信號(hào)相應(yīng)的任務(wù)置為就緒狀態(tài),然后調(diào)度任務(wù)運(yùn)行;低優(yōu)先級(jí)任務(wù)和高優(yōu)先級(jí)任務(wù)對(duì)象是用戶希望系統(tǒng)所能實(shí)現(xiàn)的功能,低優(yōu)先級(jí)任務(wù)只有當(dāng)所有高優(yōu)先級(jí)任務(wù)運(yùn)行完畢或處于懸掛狀態(tài)后才能運(yùn)行;消息對(duì)象處理消息的發(fā)送與接收,消息接收表明有消息到來,然后消息發(fā)送使接收消息的任務(wù)狀態(tài)轉(zhuǎn)為就緒狀態(tài),進(jìn)而進(jìn)行任務(wù)級(jí)的調(diào)度,使高優(yōu)先級(jí)的任務(wù)得以運(yùn)行圖4占先實(shí)時(shí)內(nèi)核順序圖3占先式實(shí)時(shí)內(nèi)核代碼實(shí)現(xiàn)在設(shè)計(jì)建模完成后,系統(tǒng)中對(duì)象的行為和它們之間的邏輯關(guān)系都已經(jīng)清楚和確定下來,類和類的關(guān)系也得到進(jìn)一步的抽象,這時(shí)需要選擇具體的開發(fā)工具來實(shí)現(xiàn)占先式實(shí)時(shí)內(nèi)核。在設(shè)計(jì)建模完成后,系統(tǒng)中對(duì)象的行為和它們之間的邏輯關(guān)系都已經(jīng)清楚和確定下來,類和類的關(guān)系也得到進(jìn)一步的抽象,這時(shí)需要選擇具體的開發(fā)工具來實(shí)現(xiàn)占先式實(shí)時(shí)內(nèi)核。我使用CygnalIDE(成開發(fā)環(huán)境)作系統(tǒng)的軟件開發(fā)平臺(tái)IDE支持C語言匯編語言的源程序級(jí)調(diào)試,具有豐富的開發(fā)與測(cè)試工具。本系統(tǒng)采用言作為開發(fā)工具,具體設(shè)計(jì)不再詳述。結(jié)語占先
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國技術(shù)摩擦材料項(xiàng)目商業(yè)計(jì)劃書
- 采礦工程生產(chǎn)實(shí)習(xí)報(bào)告【可編輯版】
- 電動(dòng)護(hù)理床項(xiàng)目申請(qǐng)報(bào)告
- 農(nóng)產(chǎn)品深加工園區(qū)綠色循環(huán)發(fā)展示范項(xiàng)目可行性研究報(bào)告
- 2025西點(diǎn)店創(chuàng)業(yè)計(jì)劃書
- 中國冷彎型鋼機(jī)械行業(yè)市場(chǎng)規(guī)模及投資前景預(yù)測(cè)分析報(bào)告
- 2025年醫(yī)藥項(xiàng)目投資分析及可行性報(bào)告
- 2025年新能源汽車電池梯次利用的儲(chǔ)能電站建設(shè)與商業(yè)模式創(chuàng)新可行性研究報(bào)告
- 工業(yè)氣體可行性報(bào)告
- 銅絲清潔球項(xiàng)目可行性研究報(bào)告-圖文
- 小兒推拿(大全)課件
- 全身麻醉和睡眠
- 科技與文化融合的傳播方式
- 基層武裝工作知識(shí)
- 生產(chǎn)異常處理方法及流程
- 《小米銷售培訓(xùn)》課件
- 2025年北京鐵路局集團(tuán)招聘筆試參考題庫含答案解析
- 2025年牛津譯林版英語七年級(jí)下冊(cè)全冊(cè)單元重點(diǎn)知識(shí)點(diǎn)與語法匯編
- 2024-2025年能源管理系統(tǒng)(EMS)行業(yè)市場(chǎng)分析報(bào)告
- 2024上海中考英語試卷及答案
- 財(cái)務(wù)管理專業(yè)就業(yè)指導(dǎo)
評(píng)論
0/150
提交評(píng)論