當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]UML技術(shù)在嵌入式系統(tǒng)中的應(yīng)用

     1 UML引入到嵌入式系統(tǒng)中的可行性

  20世紀(jì)六七十年代,軟件產(chǎn)業(yè)遇到了危機(jī)。其原因就是軟件越來越龐大和復(fù)雜,而軟件的質(zhì)量和生產(chǎn)率卻越來越低。由此促進(jìn)了軟件工程的誕生,使得 軟件開發(fā)的規(guī)范化和效率都得到了很大提高。在20世紀(jì)90年代,隨著面向?qū)ο蠹夹g(shù)的發(fā)展,軟件工程向自動化、智能化方向發(fā)展,其突出的標(biāo)志就是UML標(biāo)準(zhǔn) 的出現(xiàn)與發(fā)展。隨后,很多軟硬件廠商相繼開發(fā)出了許多基于UML標(biāo)準(zhǔn)的CASE工具。從此開發(fā)軟件可以借助UML的CASE工具來完成從軟件的分析、設(shè) 計(jì)、實(shí)現(xiàn)到測試的一系列軟件工程過程,大大提高了軟件開發(fā)的復(fù)用性和效率,降低了軟件開發(fā)過程中的返工率。

  UML突出的特點(diǎn)就是以面向?qū)ο蟮挠^點(diǎn)來分析和設(shè)計(jì)所開發(fā)的系統(tǒng),它把系統(tǒng)的每個功能都作為一個模塊(以“類”來表 示)。在UML中,使用用例視圖、邏輯視圖、組件視圖、并發(fā)視圖和展開視圖來分別對軟件實(shí)現(xiàn)需求分析、設(shè)計(jì)、實(shí)現(xiàn)、集成和測試等過程;并且每個視圖都包括 一系列的圖來具體實(shí)現(xiàn),上面的5類視圖包括了用例圖、類圖、對象圖、狀態(tài)圖、序列圖、協(xié)作圖、活動圖、組件圖和展開圖。其中,用例圖、類圖、對象圖、組件 圖和展開圖屬于靜態(tài)圖,是從靜態(tài)方面對系統(tǒng)進(jìn)行分析和建模的;而狀態(tài)圖、序列圖、協(xié)作圖和活動圖則是從動態(tài)方面對系統(tǒng)進(jìn)行分析,模擬系統(tǒng)動態(tài)交互情況的。

  2001年,UML2.0的發(fā)布標(biāo)志著UML技術(shù)進(jìn)一步成熟,也得到了越來越多的硬件和軟件廠商的支持,這也使得UML的發(fā)展前景更加廣闊。面 對基于軟件工程的UML在軟件領(lǐng)域所取得的巨大成就,是否可以把UML引入到嵌入式系統(tǒng)開發(fā)中來,用來改變當(dāng)前嵌入式系統(tǒng)開發(fā)效率低下的局面呢?通過研究 分析發(fā)現(xiàn),UML應(yīng)用到嵌入式系統(tǒng)主要存在以下幾個方面困難:

  ① 嵌入式系統(tǒng)包括硬件和軟件兩部分,不同廠商的硬件千差萬別,在某個嵌入式芯片中能正確運(yùn)行的軟件在另外一個嵌入式硬件平臺上就不一定能正常運(yùn)行。

 ?、?嵌入式系統(tǒng)軟件平臺也千差萬別,各自對開發(fā)的要求差異較大。

 ?、?大部分嵌入式系統(tǒng)對實(shí)時性要求嚴(yán)格。

 ?、?嵌入式平臺的軟件一般不是采用面向?qū)ο笳Z言開發(fā)的,主要采用C語言甚至是匯編語言編寫。

  所有以上這些特點(diǎn),導(dǎo)致在實(shí)際的嵌入式系統(tǒng)中UML模型很難被構(gòu)建。即使構(gòu)建出模型,其正確性、實(shí)時性能也很難得到驗(yàn)證和保證。

  雖然如此,各國的研究者和開發(fā)商為把UML引入到嵌入式系統(tǒng)中都做出了不懈的努力,并取得了一些成果,主要包括:

  ① 為了使所建立模型的正確性能夠得到驗(yàn)證,有人提出采用形式化的方法。例如William和H. C. Cheng使用VHDL作為模型的形式化描述語言,通過分析UML模型中的類圖和狀態(tài)圖得到嵌入式系統(tǒng)的VHDL描述,確定系統(tǒng)的結(jié)構(gòu)和行為,并進(jìn)行模型 驗(yàn)證[2]。還有學(xué)者使用有限狀態(tài)自動機(jī)與UML相結(jié)合來完成系統(tǒng)的分析、設(shè)計(jì)和驗(yàn)證[3]。

 ?、?對于實(shí)時性要求,提供的解決方法主要包括: 使用標(biāo)準(zhǔn)的UML及其構(gòu)造型概念設(shè)計(jì)實(shí)時系統(tǒng)[4],以及擴(kuò)充UML或改造UML以使其滿足實(shí)時系統(tǒng)的要求[5]。[!--empirenews.page--]

  ③ 對于語言的問題,主要有以下兩種解決方法: 一種是使用面向?qū)ο蟮腃++語言開發(fā),如SystemC[6];另一種是使用可以與C語言結(jié)合的UML開發(fā)環(huán)境,如美國ILogix公司推出的Rhapsody。

  由以上3種解決方案可知,UML應(yīng)用在嵌入式系統(tǒng)所產(chǎn)生的可驗(yàn)證性、實(shí)時性以及語言的問題,都是可以解決的,因而有可能廣泛使用UML來分析、設(shè)計(jì)與指導(dǎo)嵌入式系統(tǒng)開發(fā),以解決嵌入式系統(tǒng)開發(fā)效率低下的問題。

  2 一種改進(jìn)的通用嵌入式系統(tǒng)UML方案

  由于目前對UML應(yīng)用在嵌入式系統(tǒng)中的研究往往都是側(cè)重于解決嵌入式系統(tǒng)的某一方面,因而不具有通用性,很難成為嵌入式系統(tǒng)建模的標(biāo)準(zhǔn)。為了解決UML在嵌入式系統(tǒng)中的建模問題,本文提出了一種通用的UML嵌入式系統(tǒng)設(shè)計(jì)解決方案。

  為了給嵌入式系統(tǒng)建模必須考慮以下方面:

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

  ◆ 并發(fā)性。用活動類來描述并發(fā)。活動類的屬性(如優(yōu)先級)可以定義成類的標(biāo)簽值,可通過組件版類﹤﹤Process﹥﹥和﹤﹤Thread﹥﹥將它們映射到實(shí)現(xiàn)環(huán)境中。

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

  ◆ 同步通信。定義信號量、監(jiān)視器或關(guān)鍵區(qū)的類/版類來描述同步。

  由此,可以得出嵌入式系統(tǒng)建模的一般過程如下:

  ① 首先確定系統(tǒng)需求。在此階段既不考慮哪部分是軟件,也不考慮哪部分是硬件,只根據(jù)調(diào)研和與用戶的交流得出系統(tǒng)應(yīng)具有的功能,并通過角色與用例的關(guān)系表現(xiàn)出來,從而得出用例圖和系統(tǒng)最終需求。

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

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

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

  ⑤ 最后,使用組件圖和展開圖來實(shí)現(xiàn)系統(tǒng)的集成與驗(yàn)證。

  以上過程可以在Rhapsody軟件環(huán)境下實(shí)現(xiàn),因?yàn)樵撥浖梢援a(chǎn)生嵌入式系統(tǒng)常用的C語言,更接近通常的嵌入式開發(fā)環(huán)境。

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

  這里以一個報(bào)警系統(tǒng)為例,說明如何使用UML來設(shè)計(jì)嵌入式系統(tǒng)。一個報(bào)警系統(tǒng)一般由傳感器(包括聲音傳感器、圖像傳感器和熱傳感器),報(bào)警器 (包括聲音報(bào)警器、電話報(bào)警器和光報(bào)警器),鍵盤,LCD顯示器,系統(tǒng)處理器,以及用于存儲系統(tǒng)配置信息和日志信息的存儲器等部件組成。

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

  該系統(tǒng)的序列圖如圖1所示。從圖1中可以看出,該系統(tǒng)要求從傳感器返回信息到發(fā)出報(bào)警的時間間隔小于3 s。這就是序列圖中對嵌入式實(shí)時系統(tǒng)時間要求的一個例子。[!--empirenews.page--]

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


圖1 報(bào)警系統(tǒng)序列圖


圖2 報(bào)警器系統(tǒng)組成的類圖

  結(jié)語

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

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉