面向?qū)ο蟮脑O(shè)計(jì)匯總課件_第1頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)匯總課件_第2頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)匯總課件_第3頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)匯總課件_第4頁(yè)
面向?qū)ο蟮脑O(shè)計(jì)匯總課件_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第5章 面向?qū)ο蟮脑O(shè)計(jì) Object Oriented Design5.7 任務(wù)管理 重點(diǎn) 用UML描述實(shí)時(shí)系統(tǒng)5.7.1 實(shí)時(shí)系統(tǒng)特點(diǎn)5.7.2 實(shí)時(shí)系統(tǒng)建模描述的主要內(nèi)容5.7.3 面向?qū)ο蠛蛯?shí)時(shí)系統(tǒng)概念5.7.4 UML用于實(shí)時(shí)建模中1第5章 面向?qū)ο蟮脑O(shè)計(jì) 實(shí)施應(yīng)用實(shí)時(shí)操作系統(tǒng)硬件接口傳感器激勵(lì)器環(huán) 境圖 5-145 一個(gè)實(shí)時(shí)系統(tǒng)的例子實(shí)時(shí)系統(tǒng)的環(huán)境:2實(shí)施應(yīng)用實(shí)時(shí)操作系統(tǒng)硬件接口傳感器激勵(lì)器環(huán) 境圖 5-1455.7.1 實(shí)時(shí)系統(tǒng)特點(diǎn)5.7.2 實(shí)時(shí)系統(tǒng)建模描述的主要內(nèi)容 時(shí)間線是最重要的 事件驅(qū)動(dòng) 進(jìn)程并發(fā)執(zhí)行 對(duì)非功能需求要求高 非確定性 時(shí)間要求 異步、事件處理 通信 并發(fā)和同

2、步 系統(tǒng)的分布35.7.1 實(shí)時(shí)系統(tǒng)特點(diǎn)5.7.2 實(shí)時(shí)系統(tǒng)建模描述的主要內(nèi)5.7.3 面向?qū)ο蠛蛯?shí)時(shí)系統(tǒng)概念1) 活動(dòng)的類和對(duì)象 (activeclass) 活動(dòng)類,并發(fā)執(zhí)行“單元” UML中,活動(dòng)類用粗線方框表示:Communicationsupervisor:commmanager圖 5-146 活動(dòng)對(duì)象及內(nèi)部機(jī)構(gòu)Port:CommunicationportInput:MessageBufferOutput:MessageBuffer如 圖45.7.3 面向?qū)ο蠛蛯?shí)時(shí)系統(tǒng)概念1) 活動(dòng)的類和對(duì)象 (a2) 通信 (Communication)(1) 最常用的通信實(shí)現(xiàn)機(jī)制 操作調(diào)用:發(fā)送一

3、條同步消息給一個(gè)對(duì)象, 調(diào)用者等待操作完成并返回. 同步:指定兩條線程的同步點(diǎn).當(dāng)一個(gè)線 程到達(dá)指定的同步點(diǎn)后,等待另一 個(gè)線程的到耒,而后,交換信息,并發(fā)執(zhí)行. 共享內(nèi)存:將一塊內(nèi)存專用作通信區(qū).郵箱/消息隊(duì)列:發(fā)送一條異步消息,發(fā)送者 將一條消息放在郵箱后,立繼返回繼續(xù)執(zhí)行.接收者到同一點(diǎn)去讀消息,并處理消息. 52) 通信 (Communication)(1) 最常用的 將并發(fā)線程放在不同的計(jì)算機(jī)上實(shí)現(xiàn). 調(diào)用線程時(shí),標(biāo)識(shí)它調(diào)用的一個(gè)對(duì)象的操作, 然后把請(qǐng)求放入RPC庫(kù)中, RPC在網(wǎng)絡(luò)上找到該 對(duì)象,將請(qǐng)求打包,并通過(guò)網(wǎng)絡(luò)發(fā)送給目標(biāo)對(duì)象. 接收方,將請(qǐng)求轉(zhuǎn)為本地格式,執(zhí)行請(qǐng)求的調(diào) 用.

4、當(dāng)調(diào)用完成時(shí),將結(jié)果以同樣方式返回給發(fā) 送方. RPC即是一種通信機(jī)制,又是一種同步機(jī)制. 遠(yuǎn)程過(guò)程調(diào)用RPC:6 遠(yuǎn)程過(guò)程調(diào)用RPC:6(2) 通信中相關(guān)概念 事件(Event) 在實(shí)時(shí)系統(tǒng)中,事件是系統(tǒng)活動(dòng)的驅(qū)動(dòng)器在UML中,主要有四種不同類型的事件 條件成真- 條件事件 收到另一個(gè)對(duì)象的信號(hào)-信號(hào)事件 收到另一個(gè)對(duì)象(或?qū)ο蟊旧?操作調(diào)用-調(diào)用事件 經(jīng)過(guò)指定時(shí)間間隔的事件-時(shí)間事件7(2) 通信中相關(guān)概念 事件(Event)在UML中,主要有準(zhǔn)備就緒運(yùn)行等待 創(chuàng) 建 調(diào)用結(jié)果調(diào)度 運(yùn)行時(shí)間50秒調(diào) 用 終止圖 5-147 帶有引起狀態(tài)轉(zhuǎn)移事件的活動(dòng)對(duì)象狀態(tài)如圖8準(zhǔn)備就緒運(yùn)行等待 創(chuàng) 調(diào)用

5、結(jié)果調(diào)度 運(yùn)行時(shí)間50秒調(diào) 信號(hào)(Signal) UML中將信號(hào)定義為“可能發(fā)生的命名事件”是 對(duì)象之間異步通信的規(guī)格說(shuō)明.signalSignalabstractsignalphysicalabstractsignallogicalabstractsignalSynchronizationsignalMouseMovesignalKeyPressedsignalObjectDropsignalPerformCommand圖 5-148 信號(hào)類的層次性9 信號(hào)(Signal)signalsignals 消息(Message) UML中消息的類型簡(jiǎn)單消息 表示普通的控制流同步消息 一個(gè)嵌套控制流

6、,表示一個(gè)操作調(diào)用異步消息 異步控制流中,沒(méi)有直接的返回給 調(diào)用者,發(fā)送者發(fā)送完消息后,不需要等待消 息處理完成而是繼續(xù)執(zhí)行同 步 問(wèn) 題不正確的共享訪問(wèn)使用互斥機(jī)制解決低效率資源利用掛起等待的線程.調(diào)度器調(diào)度死鎖兩個(gè)線程互相等待對(duì)方的資源 餓死一個(gè)線程總是得不執(zhí)行.劃分優(yōu)先級(jí)解決解決同步問(wèn)題與線程調(diào)度有關(guān):優(yōu)先級(jí)高的線程易得到系統(tǒng)控制權(quán);調(diào)度參數(shù)化,選擇調(diào)度算法;調(diào)用sleep等待10 消息(Message)簡(jiǎn)單消息 (3) 在java中實(shí)現(xiàn)并發(fā)同步機(jī)制Class DemoThread extends Thread public void run() try /Do forever for(

7、;) /synchronous message to system.out object system.out.println(“Hello”) /Asynchronous message placed in globalmailbox /Needs Definition of class signal and Mailbox elsewhere signal s=new signal(“Asynch Hello”); Global_mailbox.Put(s); /waits for 10 milliseconds sleep(10); catch (InterruptedExecption

8、 e) 11(3) 在java中實(shí)現(xiàn)并發(fā)同步機(jī)制Class DemoThPublic static void main(string arg) /Create an instance of the active class(thread) DemoThread t1=new DemoThread(); /start execution t1.start(); /Create another instance of the active class DemoTHread t2=new DemoThread(); / Start execution t2.start(); 12Public sta

9、tic void main(string5.7.4 UML用于實(shí)時(shí)建模中UML可以定義的信息 時(shí)間 并發(fā) 異步事件 同步 分發(fā)135.7.4 UML用于實(shí)時(shí)建模中UML可以定義的信息 時(shí)房屋告警系統(tǒng)傳感器圖傳感器發(fā)送的消息有ACK,NAK或告警信號(hào)圖 5-149 告警系統(tǒng)中的傳感器Active Class傳感器abstractid:AddressSelfTest()Activate()DeActivate()圖像傳感器與設(shè)備有關(guān)的配置參數(shù)SelfTest()Activate()DeActivate()熱傳感器與設(shè)備有關(guān)的配置參數(shù)SelfTest()Activate()DeActivate()聲

10、音傳感器與設(shè)備有關(guān)的配置參數(shù)SelfTest()Activate()DeActivate()14房屋告警系統(tǒng)傳感器圖傳感器發(fā)送的消息圖 5-149 告警系房屋告警系統(tǒng)告警器圖圖 5-150 告警系統(tǒng)中的告警器告警器發(fā)送的消息有ACK,NAKActive Class告警器abstractid:AddressSelfTest()Trigger()觸發(fā)TurnOff()斷開(kāi)電話告警器與設(shè)備有關(guān)的配置參數(shù)SelfTest()Trigger()TurnOff()光告警器與設(shè)備有關(guān)的配置參數(shù)SelfTest()Trigger()TurnOff()聲音告警器與設(shè)備有關(guān)的配置參數(shù)SelfTest()Trigg

11、er()TurnOff()15房屋告警系統(tǒng)告警器圖圖 5-150 告警系統(tǒng)中的告警器告警類圖圖 5-151 房屋告警系統(tǒng)中的活動(dòng)對(duì)象和靜態(tài)對(duì)象Persistent系統(tǒng)配置信息Persistent單元配置信息單元處理器日志LCD顯示器包裝器聲音告警器鍵盤處理器包裝器Supervisor超級(jí)用戶傳感器告警器11.*11.*11.*1.*1.*系統(tǒng)處理器16類圖圖 5-151 房屋告警系統(tǒng)中的活動(dòng)對(duì)象和靜態(tài)對(duì)象Pe圖 5-152 房屋告警系統(tǒng)中的信號(hào)層次關(guān)系信號(hào)層次關(guān)系圖signalSignalabstractTimeSent:TimeSender:ObjectIdsignalGeneral Sig

12、nal (一般信號(hào))abstractsignalSensor(傳感器) SignalsabstractsignalAlarm(報(bào)警) SignalsabstractsignalErrorsignalTrigger(觸發(fā))signalAcksignalNAKsignalAlarmsignalTurnOff(斷路)signalActivatesignalDeactivatesignalHeartbeat(跳動(dòng))signalSelfTest17圖 5-152 房屋告警系統(tǒng)中的信號(hào)層次關(guān)系信號(hào)層次關(guān)系圖狀態(tài)圖圖 5-153 狀態(tài)圖中的并發(fā)子狀態(tài)激活階段告警器自檢激活傳感器設(shè)備傳感器自檢系統(tǒng)被激活自檢/

13、發(fā)送 ACKNAK自檢告警器傳感器激活命令/發(fā)送 ACK/發(fā)送 ACK初始化線程循環(huán)創(chuàng)建設(shè)備表創(chuàng)建單元處理器NAK成功激活失敗NAK18狀態(tài)圖圖 5-153 狀態(tài)圖中的并發(fā)子狀態(tài)激活階段告警器激活系統(tǒng)停止系統(tǒng)被激活激活失敗激活傳感器激活告警器初始化單元處理器“激活系統(tǒng)”命令圖 5-154 復(fù)雜狀態(tài)圖復(fù)雜狀態(tài)圖19系統(tǒng)停止系統(tǒng)被激活激活失敗激活傳感器激活告警器初始化“激活系順序圖:系統(tǒng)處理器:單元處理器:傳感器:告警器:單元配置信息激活讀配置同步返回配置信息異步簡(jiǎn)單自檢ACK激活自檢ACKACKACKAB循環(huán)處理每一個(gè)告警器和傳感器圖 5-155 告警器激活序列圖B-A 5秒20順序圖:系統(tǒng)處理

14、器:單元處理器:傳感器:告警器:單元配置信息:聲音告警:supervisor:日志:系統(tǒng)處理器2c.2觸發(fā)2c.1存儲(chǔ)(Date,Time,Cell,Sensor):電話告警:聲音告警:單元處理器:照相單元傳感器2c.告警2b.觸發(fā)2a.觸發(fā)1.告警圖 5-156 傳感器協(xié)作圖協(xié)作圖21:聲音告警:supervisor:日志:系統(tǒng)處理器2c.2觸活動(dòng)圖等待信號(hào)告警激活關(guān)閉超時(shí)觸發(fā)告警器觸發(fā)告警器A觸發(fā)告警器B觸發(fā)告警器X報(bào)告給系統(tǒng)告警(給系統(tǒng)處理器)請(qǐng)求超時(shí)信號(hào)激活消息處理關(guān)閉消息處理超時(shí)消息處理在獨(dú)立的活動(dòng)圖中描述給實(shí)時(shí)OS發(fā)來(lái)的超時(shí)信號(hào)排序圖 5-157 告警器活動(dòng)圖輸入事件22活動(dòng)圖等待信號(hào)告警激活關(guān)閉超時(shí)觸發(fā)告警器觸發(fā)觸發(fā)觸發(fā)報(bào)告給系 組件和展開(kāi) 圖圖 5-158 房屋告警系統(tǒng)的展開(kāi)器用戶面板Thread告警系統(tǒng)處理器Thread傳感器Thread單元處理器Thread告警器傳感器告警器主單元1111.*11.*23 組件和展開(kāi)實(shí)時(shí)系統(tǒng)分類:硬實(shí)時(shí),考慮容錯(cuò)性軟實(shí)時(shí)系統(tǒng)經(jīng)常是嵌入式系統(tǒng)實(shí)時(shí)系統(tǒng)特點(diǎn):時(shí)間并發(fā)執(zhí)行的線程非確定性實(shí)時(shí)系統(tǒng)建模:描述時(shí)間要求并發(fā)性異步通信同步通信分布活動(dòng)對(duì)象

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論