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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、,表示一個操作調(diào)用異步消息 異步控制流中,沒有直接的返回給 調(diào)用者,發(fā)送者發(fā)送完消息后,不需要等待消 息處理完成而是繼續(xù)執(zhí)行同 步 問 題不正確的共享訪問使用互斥機(jī)制解決低效率資源利用掛起等待的線程.調(diào)度器調(diào)度死鎖兩個線程互相等待對方的資源 餓死一個線程總是得不執(zhí)行.劃分優(yōu)先級解決解決同步問題與線程調(diào)度有關(guān):優(yōu)先級高的線程易得到系統(tǒng)控制權(quán);調(diào)度參數(shù)化,選擇調(diào)度算法;調(diào)用sleep等待10 消息(Message)簡單消息 (3) 在java中實現(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中實現(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用于實時建模中UML可以定義的信息 時間 并發(fā) 異步事件 同步 分發(fā)135.7.4 UML用于實時建模中UML可以定義的信息 時房屋告警系統(tǒng)傳感器圖傳感器發(fā)送的消息有ACK,NAK或告警信號圖 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()斷開電話告警器與設(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)中的活動對象和靜態(tài)對象Persistent系統(tǒng)配置信息Persistent單元配置信息單元處理器日志LCD顯示器包裝器聲音告警器鍵盤處理器包裝器Supervisor超級用戶傳感器告警器11.*11.*11.*1.*1.*系統(tǒng)處理器16類圖圖 5-151 房屋告警系統(tǒng)中的活動對象和靜態(tài)對象Pe圖 5-152 房屋告警系統(tǒng)中的信號層次關(guān)系信號層次關(guān)系圖signalSignalabstractTimeSent:TimeSender:ObjectIdsignalGeneral Sig

12、nal (一般信號)abstractsignalSensor(傳感器) SignalsabstractsignalAlarm(報警) SignalsabstractsignalErrorsignalTrigger(觸發(fā))signalAcksignalNAKsignalAlarmsignalTurnOff(斷路)signalActivatesignalDeactivatesignalHeartbeat(跳動)signalSelfTest17圖 5-152 房屋告警系統(tǒng)中的信號層次關(guān)系信號層次關(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)處理器:單元處理器:傳感器:告警器:單元配置信息激活讀配置同步返回配置信息異步簡單自檢ACK激活自檢ACKACKACKAB循環(huán)處理每一個告警器和傳感器圖 5-155 告警器激活序列圖B-A 5秒20順序圖:系統(tǒng)處理

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論