《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 改進型UML在嵌入式系統中的應用
改進型UML在嵌入式系統中的應用
摘要: 在后PC時代,越來越多的領域需要嵌入式系統的支持,傳統嵌入式系統的開發手段已不能滿足日益增長的復雜性和質量要求;而UML技術在軟件領域所取得的巨大成就為嵌入式系統開發帶來了希望。因此,如何把基于軟件領域的UML作為通用和完善的方法引入到嵌入式系統領域,將成為一個迫切需要考慮和解決的問題。
關鍵詞: 軟件 UML 嵌入式系統
Abstract:
Key words :

在后PC時代,越來越多的領域需要嵌入式系統的支持,傳統嵌入式系統的開發手段已不能滿足日益增長的復雜性和質量要求;而UML技術在軟件領域所取得的巨大成就為嵌入式系統開發帶來了希望。因此,如何把基于軟件領域的UML作為通用和完善的方法引入到嵌入式系統領域,將成為一個迫切需要考慮和解決的問題。

隨著計算機技術、網絡技術和通信技術的迅速發展,當前的信息社會已從當初傳統的個人計算機時代進入了后PC時代;而后PC時代的主要特征就是以嵌入式系統的廣泛應用與發展為標志的。

關于嵌入式系統的定義雖然有很多種,不過國內普遍認可的定義是[1]:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適合應用系統對功能、可靠性、成本、體積和功耗要求的專用計算機系統。

嵌入式系統主要是使用微型的芯片及其固化的軟件,嵌入在其他系統中,以達到對其他系統進行智能化或信息化實時控制等目的。

當前,嵌入式系統已在工業控制、航空航天、國防以及信息家電等領域得到廣泛的應用,并發揮了重要作用,而且越來越多的領域都迫切需要嵌入式系統的支持。然而,由于嵌入式系統的硬件、軟件、應用環境的千差萬別,因此當前有限的嵌入式技術人員的時間和精力主要花在熟悉不同的硬件、軟件及其代碼的開發上。這樣不但造成嵌入式系統開發的效率和質量得不到保證,而且也嚴重束縛了嵌入式技術人員進行更高層次的研究與開發。這些都成為日益復雜的嵌入式系統迅速發展的瓶頸。

1 UML引入到嵌入式系統中的可行性

20世紀六七十年代,軟件產業遇到了危機。其原因就是軟件越來越龐大和復雜,而軟件的質量和生產率卻越來越低。由此促進了軟件工程的誕生,使得軟件開發的規范化和效率都得到了很大提高。在20世紀90年代,隨著面向對象技術的發展,軟件工程向自動化、智能化方向發展,其突出的標志就是UML標準的出現與發展。隨后,很多軟硬件廠商相繼開發出了許多基于UML標準的CASE工具。從此開發軟件可以借助UML的CASE工具來完成從軟件的分析、設計、實現到測試的一系列軟件工程過程,大大提高了軟件開發的復用性和效率,降低了軟件開發過程中的返工率。

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

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

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

② 嵌入式系統軟件平臺也千差萬別,各自對開發的要求差異較大。

③ 大部分嵌入式系統對實時性要求嚴格。

④ 嵌入式平臺的軟件一般不是采用面向對象語言開發的,主要采用C語言甚至是匯編語言編寫。

所有以上這些特點,導致在實際的嵌入式系統中UML模型很難被構建。即使構建出模型,其正確性、實時性能也很難得到驗證和保證。

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

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

② 對于實時性要求,提供的解決方法主要包括:使用標準的UML及其構造型概念設計實時系統[4],以及擴充UML或改造UML以使其滿足實時系統的要求[5]。

③ 對于語言的問題,主要有以下兩種解決方法:一種是使用面向對象的C++語言開發,如SystemC[6];另一種是使用可以與C語言結合的UML開發環境,如美國ILogix公司推出的Rhapsody。

由以上3種解決方案可知,UML應用在嵌入式系統所產生的可驗證性、實時性以及語言的問題,都是可以解決的,因而有可能廣泛使用UML來分析、設計與指導嵌入式系統開發,以解決嵌入式系統開發效率低下的問題。

2 一種改進的通用嵌入式系統UML方案

由于目前對UML應用在嵌入式系統中的研究往往都是側重于解決嵌入式系統的某一方面,因而不具有通用性,很難成為嵌入式系統建模的標準。為了解決UML在嵌入式系統中的建模問題,本文提出了一種通用的UML嵌入式系統設計解決方案。

為了給嵌入式系統建模必須考慮以下方面:

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

◆ 并發性。用活動類來描述并發。活動類的屬性(如優先級)可以定義成類的標簽值,可通過組件版類﹤﹤Process﹥﹥和﹤﹤Thread﹥﹥將它們映射到實現環境中。

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

◆ 同步通信。定義信號量、監視器或關鍵區的類/版類來描述同步。

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

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

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

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

④ 對于實時性要求,需要在序列圖中進行定義和描述;如果想知道不同對象之間的鏈接,以及鏈接對象間如何發送消息,可以建立協作圖;通過建立狀態圖,可以了解到某個對象所能到達的所有狀態,以及對象收到的事件對該對象狀態的影響等。

⑤ 最后,使用組件圖和展開圖來實現系統的集成與驗證。

以上過程可以在Rhapsody軟件環境下實現,因為該軟件可以產生嵌入式系統常用的C語言,更接近通常的嵌入式開發環境。

3 實例分析與討論

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

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

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



圖1 報警系統序列圖

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



圖2 報警器系統組成的類圖

結語

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品欧美一区喷水| 韩日精品视频| 久久亚洲国产成人| 亚洲欧美精品suv| 亚洲色图制服丝袜| 一本色道久久综合亚洲精品婷婷| 亚洲国产高清自拍| 久久精品国产77777蜜臀| 亚洲综合色丁香婷婷六月图片| 日韩一区二区精品视频| 亚洲精品一区二区网址| 亚洲人成在线观看| 亚洲精品国久久99热| 亚洲国产精品va在线看黑人| 在线播放日韩| 亚洲大胆在线| 亚洲国产日韩欧美在线动漫| 亚洲国产91| 亚洲激情电影中文字幕| 亚洲第一级黄色片| 亚洲成在人线av| 亚洲黄色成人| 亚洲三级视频| 99精品欧美一区| 在线中文字幕一区| 亚洲一区日韩在线| 欧美一区二区日韩一区二区| 欧美在线观看一区| 久久精品99| 亚洲黄色三级| 日韩一级欧洲| 亚洲综合欧美日韩| 欧美一区二区免费视频| 久久久久成人精品| 欧美va亚洲va香蕉在线| 欧美激情综合在线| 欧美午夜精品理论片a级大开眼界| 国产精品久久久一本精品| 国产九九视频一区二区三区| 国产一区二区无遮挡| 亚洲第一视频网站| 亚洲美女在线视频| 亚洲一级一区| 久久国产免费看| 亚洲美女中文字幕| 亚洲一级片在线看| 久久精品国产免费| 欧美岛国在线观看| 欧美午夜精品电影| 国产在线不卡精品| 亚洲国产老妈| 亚洲一区二区三区四区视频| 久久精品国产精品| 一卡二卡3卡四卡高清精品视频| 亚洲欧美国产高清va在线播| 久久久久亚洲综合| 女女同性精品视频| 欧美性天天影院| 国产一区二区在线观看免费| 亚洲日韩视频| 西西人体一区二区| 日韩亚洲欧美一区二区三区| 午夜日韩福利| 欧美成人免费va影院高清| 欧美三区在线视频| 国内成+人亚洲| 亚洲精品视频在线| 欧美制服丝袜第一页| 一区二区三区蜜桃网| 久久精品亚洲精品国产欧美kt∨| 欧美精品久久久久久久久老牛影院| 国产精品一卡二卡| 亚洲国产精品国自产拍av秋霞| 亚洲一区二区四区| 亚洲三级免费电影| 欧美在线播放视频| 欧美视频精品一区| 在线播放亚洲一区| 亚洲一区二区三区涩| 亚洲精品一区二| 欧美综合77777色婷婷| 欧美日韩美女| 亚洲东热激情| 欧美亚洲视频在线观看| 制服丝袜亚洲播放| 欧美 日韩 国产一区二区在线视频| 国产精品欧美久久| 亚洲精品欧美日韩| 亚洲国产天堂网精品网站| 欧美一区二区播放| 欧美区在线观看| 狠狠色丁香久久婷婷综合_中| 亚洲午夜久久久久久久久电影院| 亚洲精品社区| 久久综合久久久| 国产欧美一区二区三区久久| av成人免费在线| 亚洲精品久久久一区二区三区| 久久精品国产第一区二区三区最新章节 | 亚洲第一主播视频| 欧美一区二区精品在线| 亚洲欧美三级伦理| 欧美手机在线视频| 亚洲精品国产精品国产自| 亚洲激精日韩激精欧美精品| 久久久一二三| 国产欧美一区二区色老头| 亚洲一区欧美二区| 午夜精品久久久久久久99樱桃 | 亚洲精品影视| 亚洲美女一区| 欧美国产日产韩国视频| 曰本成人黄色| 亚洲激情电影在线| 另类专区欧美制服同性| 国产综合香蕉五月婷在线| 欧美在线看片a免费观看| 久久国产精品久久久久久久久久| 国产精品一区二区在线观看| 亚洲午夜一区二区| 亚洲免费在线看| 国产精品久久久久久亚洲调教| 99视频在线精品国自产拍免费观看 | 亚洲私人黄色宅男| 欧美日韩卡一卡二| 日韩一区二区免费高清| 一区二区三区四区五区精品视频| 欧美欧美午夜aⅴ在线观看| 亚洲乱亚洲高清| 亚洲影院免费观看| 国产精品www网站| 亚洲男女毛片无遮挡| 欧美在线一区二区三区| 国内精品久久久久影院薰衣草 | 亚洲国产精品999| 欧美/亚洲一区| 亚洲精品黄色| 亚洲一区国产视频| 国产精品天天摸av网| 欧美一区二区三区日韩| 久久伊人免费视频| 亚洲电影免费观看高清完整版在线观看 | 亚洲综合日本| 国产欧美日韩另类一区 | 久久精品91久久久久久再现| 美女国内精品自产拍在线播放| 在线观看日产精品| 一区二区三区不卡视频在线观看 | 欧美一级二区| 农村妇女精品| 亚洲美女av网站| 亚洲欧美日韩第一区| 国产欧美一区二区视频| 亚洲福利专区| 欧美日韩国产一区精品一区| 亚洲在线中文字幕| 久久三级视频| 亚洲剧情一区二区| 欧美一级免费视频| 欲香欲色天天天综合和网| 一本色道久久综合亚洲精品不卡| 国产精品嫩草影院av蜜臀| 久久精品亚洲一区| 欧美日韩国产一区精品一区| 午夜精品久久久久久久男人的天堂| 老司机午夜精品| 亚洲最新在线| 久久夜色精品国产欧美乱极品| 亚洲精品国产欧美| 久久国产福利| 亚洲久久在线| 久久精品成人| 亚洲免费av片| 久久久国产精品一区| 亚洲另类春色国产| 久久精品欧美日韩| 亚洲巨乳在线| 久久综合网络一区二区| 99国产精品视频免费观看| 久久免费精品日本久久中文字幕| 日韩视频一区| 免费观看久久久4p| 亚洲欧美激情四射在线日| 欧美福利视频在线| 先锋影音久久| 欧美日韩一区二区三| 久久精品一区蜜桃臀影院| 欧美视频第二页| 亚洲精品久久久蜜桃| 国产日韩欧美在线播放| 亚洲午夜精品久久久久久app| 怡红院av一区二区三区| 午夜天堂精品久久久久| 亚洲欧洲在线播放| 久久嫩草精品久久久精品| 亚洲一区二区成人| 欧美精品九九| 亚洲国产成人不卡| 国产精品免费aⅴ片在线观看| 99精品视频免费观看|