![運用UML分析設計占先式實時內核_第1頁](http://file4.renrendoc.com/view/32f279a6dec98fe7879fdab712c218ff/32f279a6dec98fe7879fdab712c218ff1.gif)
![運用UML分析設計占先式實時內核_第2頁](http://file4.renrendoc.com/view/32f279a6dec98fe7879fdab712c218ff/32f279a6dec98fe7879fdab712c218ff2.gif)
![運用UML分析設計占先式實時內核_第3頁](http://file4.renrendoc.com/view/32f279a6dec98fe7879fdab712c218ff/32f279a6dec98fe7879fdab712c218ff3.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
運用UML分設計占先式實時內核要UML是軟件工程領域的標準模語言。本文介紹使用統(tǒng)一建模語言對入式系中占先式實時內核的面向對象軟件分析與設計;詳述利用UML的各種標準符號進行從需求分析到整體設計的一系列工作。關鍵一建模語)面向對象占式實時內核嵌入系統(tǒng)引言在過去的10多年里,嵌入式技術得到飛速發(fā)展。隨著嵌入式應用的不斷深入,嵌入式系統(tǒng)的復雜性、不確定性在不斷提高,系統(tǒng)規(guī)模也在逐步增大;而產品的研發(fā)周期又在不斷地縮短,這給嵌入式應用軟件的開發(fā)帶來了新的挑戰(zhàn)。因此,最近幾年,對占先式實時內核的研究、開發(fā)與應用逐漸成為嵌入式系統(tǒng)的重點研究方向。面向對象技術由于內在地支持了對系統(tǒng)的抽象、分層和復用技術,能夠很好地控制系統(tǒng)的復雜性很地減輕嵌入式軟件的開發(fā)者必然面臨由于芯片性能的提高入操作系統(tǒng)平臺等技術方面不斷變化所帶來的各種壓力嵌入式領域得到越來越廣泛的應用。其中,統(tǒng)一建模語言是當今世界上面向對象系統(tǒng)開發(fā)領域中應用最為廣泛的工具之一統(tǒng)一建模語言UML1.1UML簡UMLUnifiedModelingLanguage)是一種標準的、用于面向對象和基于構件的軟件系統(tǒng)建模工具,是一種用于對軟件系統(tǒng)模型繪制可視化描述的工具。UML以準的、易于理解的方式建立能夠描述復雜系統(tǒng)結構和過程的可視化模型,廣泛用于描述信息管理系統(tǒng)有時要求的工業(yè)系統(tǒng)過程入系統(tǒng)分布式系統(tǒng)系統(tǒng)軟件等。UML由、視圖、模型元素、通用機制和擴展機制等幾個部分組成。其中圖是UML建的關鍵,視圖由圖來描述;而圖由模型元素結合通用機制、擴展機制等表示和語義組成。根據(jù)圖在系統(tǒng)開發(fā)過程中不同階段的應用,可以分為五類:用例圖、靜態(tài)圖、行為圖、交互圖與實現(xiàn)圖。這些圖為系統(tǒng)的分析、設計提供了多種圖形表達形式,應用于建模的不同階段。運用UML我可以分析設幾乎所有的軟件和非軟件系統(tǒng)然對具體的系統(tǒng)應該根據(jù)系統(tǒng)的類型、系統(tǒng)的規(guī)模和開發(fā)需要繪制相應的圖,不一定在一個系統(tǒng)中畫出所有種類的圖。1.2UML與先式實時內核開發(fā)一個占先式實時內核與一般軟件的開發(fā)一樣,必然要經過開發(fā)的分析、設計、編碼、測試四個階段。在嵌入式軟件開發(fā)過程中,一般采用的是一種順序開發(fā)方法。然而,由于嵌入式產品更新很快,研發(fā)周期要求盡可能的短,同時在開發(fā)過程中應能動態(tài)地調整,所以,開發(fā)初斯所做的需求分析和設計,在后期的實現(xiàn)和測試中往往要做變動。這反映了在軟件開發(fā)過程中的需求分析、設計與具體實現(xiàn)之間有某種程度上的脫節(jié),對軟件實現(xiàn)后面的驗證往往會帶來很大風險。另外,傳統(tǒng)的嵌入式系統(tǒng)軟件開發(fā)環(huán)境主要是對開發(fā)過程中軟件實現(xiàn)和測試階段的支持,是以源程序的開發(fā)和測試為核心的,缺少必要的需求分析和設計工具[!--empirenews.]UML為占式實時內核的設計和實現(xiàn)提供了一套功能強大的建模工具UML合了面向對象方法中的數(shù)據(jù)驅動和行為驅動兩種方式,可以從各個方面描述實時系統(tǒng)的功能及反映實時系統(tǒng)的結束條件,可以為具有靜態(tài)結構和動態(tài)結構的系統(tǒng)以面向對象圖形的方式建模。因此,使用面向對象的可很好地完成占先式實時內核的建模2占先實時內核的類圖UML建模的具體應用2.1占先式實時內核概述占先式實時內核具有多任務機制。多任務機制是基于面向任務對象的,以任務為對象,以事件和時間為驅動,通過實時內核管理時間關鍵任務和任務的優(yōu)先級,實現(xiàn)任務之間的調度、協(xié)同和仲裁。多任務機制的具體實現(xiàn)由調度程度來完成。在系統(tǒng)程序運行過程中,當前任務完成之后,調度程序調出任務就緒表中優(yōu)先級最高任務的入口地址,把CPU資分析給該任務,使之執(zhí)行。如果該任務在執(zhí)行過程中引起比它優(yōu)先級高的任務進入就緒態(tài),或者是中斷服務程序使一個更高優(yōu)先級任務進入就緒態(tài),調度程序會把任務的當前程序指針、寄存器壓入到該任務的任務堆棧指針指向的??臻g,保證現(xiàn)場,再把CPU資分配給更高優(yōu)先級任務,使高優(yōu)先級任務開始執(zhí)行。高優(yōu)先級任務執(zhí)行完畢后,下一個在任務就緒表中的最高級任務先從該任務的堆棧數(shù)據(jù)區(qū)恢復寄存器指序態(tài)后換并執(zhí)行該任務。采用占先式實時內核的思想設計單片機軟件,可以合理應用單片機的有限資源并達到很高的實時響應,能降低軟件設計的難度。在本設計中,要求占先式實時內核應用于單片機中,任
務數(shù)量最多不超過16個務。占先式實時內核的功能需求是*支持外部異步事件中斷、定時器中斷消傳遞及任務消息達時的調度支持基于任務優(yōu)先級占先調度種實時調度策略*任務的創(chuàng)建、運行、掛、喚醒與撤銷時器時鐘管理,任務延時處理共享資源管理,保證任務的同步運行。由于占先式實時內核主要體現(xiàn)在軟件設計方面,所以在此省略了構件圖和配置圖用圖圖1為例圖了系統(tǒng)最基本的功能及功能描述,包括一系列用例和從系統(tǒng)中抽象出來的執(zhí)行者色說任務是嵌入式系統(tǒng)中用戶想要實現(xiàn)的具體功能,是一個線程。這些功能包括:輸入、輸出、數(shù)據(jù)處理、通信等*中斷。用來通知占先式實時內核有一個事件發(fā)生,包括內部非屏蔽中斷、定時器中斷與外部異步時間中斷。[!--empirenews.]*統(tǒng)時鐘。用來創(chuàng)建中先式實時核所需要時候節(jié)拍使用案例說*中斷響應先實時內核通過對異步事件的處理得務運行所需要的信號與數(shù)據(jù),使任務得以正常運行中斷級調度。中斷處理使得需要該中斷信號的任務就緒,調度程序判斷該任務是否為當前任務就緒表中最高優(yōu)先級任務定任務否立即進行。*任就緒這指的不是由于中斷所引起的用戶任務就緒兩種方式一是用希望應用系統(tǒng)完成某個任務功能時,需要通知占先式實時內核,要求它創(chuàng)建該任務;另一個是,當當前運行的任務喚醒另一個任務時后者就緒任務級調度任務完成創(chuàng)建或被別的任務喚醒之后,調度程序判斷該任務是否為當前任務就緒表中最高優(yōu)先級任務,進而決定該任務是否立即進行。*任務運行。任務是當前任務就緒表中優(yōu)先級最高的任務時運行該任務。2.3類圖2為圖,包括一組由所討論系統(tǒng)中抽象出的類和它們之間的關系。類中斷的屬性中斷型包括非屏蔽中斷部斷與定時器中斷占先式實時同核進行相1][2]下一頁
應的中斷處理中斷向量號與單片機的中斷向量號相匹配嵌套狀態(tài)表明當前中斷是處于哪一層的中斷嵌套中。類中斷有一個操作:中斷處理,獲取外部事件的信號和數(shù)據(jù),并使上應的任務就緒,然后判斷中斷嵌套數(shù)是否為0。若不為零,執(zhí)行別的中斷響應;如果為零,選擇相應的調度程序進行調度。類調度的屬性中,調度策略用于選擇一種實時調度方案;調度類型包括中斷調度與任務級調度;任務就緒表與任務懸掛表是調度時所需要數(shù)據(jù)結構。類調度有一個操作:調度。當當前任務是任務就緒表中優(yōu)先級最高的任務時前任務繼續(xù)運行是當前任務運行時的狀態(tài)與數(shù)據(jù)壓入該任務堆棧,掛起該任務,然后調出最高級優(yōu)先權任務的任務堆棧數(shù)據(jù)與狀態(tài),使最高級任務運行。類任務的屬性中,任務ID表是哪一個任務;任務優(yōu)先級說明任務在所有任務中的運行優(yōu)先權;任務狀態(tài)說明該任務在占先式實時內核中是處在何種狀態(tài);任務堆棧保存任務切換時該任務的狀態(tài)與數(shù)據(jù)類任務有四個操作立務占先式實時內核中確認該任務起任務,是任務由就緒狀態(tài)轉為掛起狀態(tài);恢復任務,是任務由掛起狀態(tài)轉為就緒狀態(tài);任務延遲,是任務自我延遲若干個時鐘節(jié)拍,同時由就緒狀態(tài)轉為掛起狀態(tài)。類消息的屬性中,消息類型包括信號量與消息隊列;消息ID表明該消息是哪一個消息;消息發(fā)送任務ID表明消息是由哪個任務發(fā)送的消息接收任ID表哪些任務接收該消息類消息的操作有兩個發(fā)送消息個幾個任務發(fā)送信消息接收到某個信息[!--empirenews.]類任務定時器的屬性中務定時器表明定時器是屬于哪個任務的務時器時長說明該任務需要多長時鐘節(jié)后才能再次運行。類任務定時器中有兩個操作:時鐘節(jié)拍處理,處理任務的延時時鐘節(jié)拍;任務超時處理時到的任務狀態(tài)轉為為就緒狀態(tài)有以下聯(lián)系斷與任務之間,描述中斷處理使相應的任務就緒中斷與調度之間,描述由于中斷引起的中斷級調度*中斷與消息之間描中斷處理時應的消息得到信號或數(shù)據(jù)調度與任務之間描由于調度使任務就緒表中優(yōu)先級最高的任務運行于等待信號而自我掛起請求調度;*任與任務定時器之間,描述時器對任務延遲時間的處理*任務與消息之間,描述任務對消息的信息請求消息對任務息的接收息發(fā)送使接收該信息的任務就緒調與消
息之間,描述由于消息到而請求調度2.4狀態(tài)圖狀態(tài)圖表示對象的行為,被用來描述一個系統(tǒng)的動態(tài)視圖。由于在占先式實時內核中系統(tǒng)的狀態(tài)轉換可以通過任務的狀態(tài)轉換顯示出來,所以這里只給出對象任務的狀態(tài)務,如圖示。任務在占先式實時內核中具有就緒、運行、掛起三種狀態(tài)。任務正在運行時,由于等待消息、自我延時或自我掛起,可以由運行狀態(tài)進入掛起狀態(tài)。當?shù)却南⒌?、等待超時或延遲到時,任務狀態(tài)就由掛起狀態(tài)進入就緒狀態(tài)務果是任務就緒表優(yōu)先級最高的任務調度和任務切換入行狀態(tài)。任務處于運行狀態(tài)時,如中斷發(fā)生,通過中斷響應處理使任務就緒,并進行中斷級調度:如果是任務就緒表中優(yōu)先級最高的任務,繼續(xù)運行;如不是,進行任務切換,任務由運行狀態(tài)轉變?yōu)榫途w狀態(tài)。處于就緒狀態(tài)時的任務,也可以由于當前運行任務的請求從就緒狀態(tài)轉變?yōu)閽炱馉顟B(tài)2.5順序占先式時內核強調的是時間和事件。在UML中順圖是具有這種特性的動態(tài)交互模型。占先式實時內核的順序力圖示。圖4展了中斷和任務、任務和任務之間的交互情況,這也是占先式實時內核的基本內容。參與流程的對象在框圖頂部的矩形中顯示,共有五個對象:中斷對象用來通知正在運行的任務有異步事件發(fā)生,并將正在運行任務的當前狀態(tài)保存,暫停任務的運行;中斷響應對象處理任務的中斷服務代碼,并將與中斷信號相應的任務置為就緒狀態(tài),然后調度任務運行;低優(yōu)先級任務和高優(yōu)先級任務對象是用戶希望系統(tǒng)所能實現(xiàn)的功能,低優(yōu)先級任務只有當所有高優(yōu)先級任務運行完畢或處于懸掛狀態(tài)后才能運行;消息對象處理消息的發(fā)送與接收,消息接收表明有消息到來,然后消息發(fā)送使接收消息的任務狀態(tài)轉為就緒狀態(tài),進而進行任務級的調度,使高優(yōu)先級的任務得以運行圖4占先實時內核順序圖3占先式實時內核代碼實現(xiàn)在設計建模完成后,系統(tǒng)中對象的行為和它們之間的邏輯關系都已經清楚和確定下來,類和類的關系也得到進一步的抽象,這時需要選擇具體的開發(fā)工具來實現(xiàn)占先式實時內核。在設計建模完成后,系統(tǒng)中對象的行為和它們之間的邏輯關系都已經清楚和確定下來,類和類的關系也得到進一步的抽象,這時需要選擇具體的開發(fā)工具來實現(xiàn)占先式實時內核。我使用CygnalIDE(成開發(fā)環(huán)境)作系統(tǒng)的軟件開發(fā)平臺IDE支持C語言匯編語言的源程序級調試,具有豐富的開發(fā)與測試工具。本系統(tǒng)采用言作為開發(fā)工具,具體設計不再詳述。結語占先
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市房屋租賃合同范本
- 上海公寓出租合同范例
- 供熱合同范例封皮
- 2025年垃圾發(fā)電機項目可行性研究報告
- 豫劇樂隊伴奏十字訣
- 分期付合同范例
- 刷白合同范本
- 公司車輛洗車合同范本
- 代理辦理抵押合同范本
- 2025年白影貼面板項目投資可行性研究分析報告
- 一年級科學石頭
- 部編人教版八年級語文下冊全冊課件
- 新起點英語二年級下冊全冊教案
- 《紅星照耀中國》整本書閱讀教學設計-統(tǒng)編版語文八年級上冊
- 【幼兒園戶外體育活動材料投放的現(xiàn)狀調查報告(定量論文)8700字】
- 帶狀皰疹與帶狀皰疹后遺神經痛(HZ與PHN)
- JC-T 746-2023 混凝土瓦標準規(guī)范
- 漢密爾頓抑郁和焦慮量表
- 前列腺癌的診斷與治療
- 人教版八年級數(shù)學初中數(shù)學《平行四邊形》單元教材教學分析
- EPC項目設計及施工的配合
評論
0/150
提交評論