<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種改進(jìn)型UML在嵌入式系統中的應用

一種改進(jìn)型UML在嵌入式系統中的應用

作者: 時(shí)間:2010-04-16 來(lái)源:網(wǎng)絡(luò ) 收藏

  為了給建模必須考慮以下方面:

  ◆ 時(shí)間。在序列圖中描述時(shí)間及其約束信息。

  ◆ 并發(fā)性。用活動(dòng)類(lèi)來(lái)描述并發(fā)?;顒?dòng)類(lèi)的屬性(如優(yōu)先級)可以定義成類(lèi)的標簽值,可通過(guò)組件版類(lèi)Process和Thread將它們映射到實(shí)現環(huán)境中。

  ◆ 異步通信。支持線(xiàn)程間發(fā)送異步消息。

  ◆ 同步通信。定義信號量、監視器或關(guān)鍵區的類(lèi)版類(lèi)來(lái)描述同步。

  由此,可以得出建模的一般過(guò)程如下:

 ?、?首先確定需求。在此階段既不考慮哪部分是軟件,也不考慮哪部分是硬件,只根據調研和與用戶(hù)的交流得出系統應具有的功能,并通過(guò)角色與用例的關(guān)系表現出來(lái),從而得出用例圖和系統最終需求。

 ?、?進(jìn)入系統設計階段,也就是根據用例圖得出的需求來(lái)設計類(lèi)圖。這個(gè)階段需要確定哪些功能由硬件完成,哪些功能由軟件完成。軟件類(lèi)圖的設計與純軟件建模方法基 本一樣,在此不再贅述。對硬件的處理一般由硬件包裝類(lèi)來(lái)實(shí)現,硬件包裝類(lèi)提供訪(fǎng)問(wèn)硬件的接口。這些硬件包裝類(lèi)處理到設備的通信和設備產(chǎn)生的中斷,通過(guò)這樣 的硬件類(lèi)可以隱藏低級協(xié)議的細節,并且很方便、快速地將低級中斷轉換為系統中其余部分的高級事件。包裝類(lèi)是屬于活動(dòng)的還是靜態(tài)的類(lèi),主要取決于硬件的屬性。

 ?、?如果類(lèi)圖中所描述的軟件類(lèi)或硬件類(lèi)比較復雜,難以描述清楚,那么可以采用對象圖來(lái)細化,使之更加具體和明確。

 ?、?對于實(shí)時(shí)性要求,需要在序列圖中進(jìn)行定義和描述;如果想知道不同對象之間的鏈接,以及鏈接對象間如何發(fā)送消息,可以建立協(xié)作圖;通過(guò)建立狀態(tài)圖,可以了解到某個(gè)對象所能到達的所有狀態(tài),以及對象收到的事件對該對象狀態(tài)的影響等。

 ?、?最后,使用組件圖和展開(kāi)圖來(lái)實(shí)現系統的集成與驗證。

  以上過(guò)程可以在Rhapsody軟件環(huán)境下實(shí)現,因為該軟件可以產(chǎn)生系統常用的C語(yǔ)言,更接近通常的嵌入式開(kāi)發(fā)環(huán)境。

  3、實(shí)例分析與討論

  這里以一個(gè)報警系統為例,說(shuō)明如何使用來(lái)設計嵌入式系統。一個(gè)報警系統一般由傳感器(包括聲音傳感器、圖像傳感器和熱傳感器),報警器(包括聲音報 警器、電話(huà)報警器和光報警器),鍵盤(pán),LCD顯示器,系統處理器,以及用于存儲系統配置信息和日志信息的存儲器等部件組成。

  當傳感器接收到某個(gè)信號,通過(guò)模數轉換把信息送到系統處理器中后,系統處理器根據設定的配置信息條件,判斷是否需要報警。若需要,則會(huì )向報警器發(fā)出報警命令。鍵盤(pán)和LCD顯示器用于人機對話(huà),可以根據實(shí)際需要設定報警條件和方式。

  該系統的序列圖如圖1所示。從圖1中可以看出,該系統要求從傳感器返回信息到發(fā)出報警的時(shí)間間隔小于3 s。這就是序列圖中對嵌入式實(shí)時(shí)系統時(shí)間要求的一個(gè)例子。

  

  圖1 報警系統序列圖

  在類(lèi)圖中,把系統處理器設計成活動(dòng)類(lèi),負責處理通過(guò)帶有LCD 顯示的控制面板與用戶(hù)的交互。通過(guò)控制面板,可以配置、激活和關(guān)閉系統。所有的配置變化均保存在系統配置信息類(lèi)中。系統處理器接收傳感器的信息,并把它與 系統配置信息比較,從而決定是否報警。為了查詢(xún)和了解報警系統歷史信息,系統處理器將所有事件保存在日志中。系統處理器、傳感器和報警器的類(lèi)圖的簡(jiǎn)單關(guān)系如圖2所示。

  

  圖2 報警器系統組成的類(lèi)圖

  結語(yǔ)

  為嵌入式系統引入一個(gè)通用、完善的技術(shù),必將對當前高速發(fā)展的嵌入式系統的研究與開(kāi)發(fā)產(chǎn)生積極的影響。而本文所提出的思想和方法,對于擺脫UML技術(shù)在嵌入式領(lǐng)域的困境起到了有益的探索和建議作用。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


c++相關(guān)文章:c++教程



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>