六月婷婷综合-日韩理论在线-69久久久久-欧色图-蜜桃成人在线视频-色先锋在线-亚洲va中文字幕-香蕉影院在线-av一区免费-强开小嫩苞一区二区三区网站-国产视频九色蝌蚪

寧波市鄞州首南恒宇激光雕刻廠

一種改進型UML在嵌入式系統(tǒng)中的應用
分享到:


引言

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

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

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

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

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

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

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

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

① 嵌入式系統(tǒng)包括硬件和軟件兩部分,不同廠商的硬件千差萬別,在某個嵌入式芯片中能正確運行的軟件在另外一個嵌入式硬件平臺上就不一定能正常運行。
② 嵌入式系統(tǒng)軟件平臺也千差萬別,各自對開發(fā)的要求差異較大。
③ 大部分嵌入式系統(tǒng)對實時性要求嚴格。
④ 嵌入式平臺的軟件一般不是采用面向對象語言開發(fā)的,主要采用C語言甚至是匯編語言編寫。

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

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

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

② 對于實時性要求,提供的解決方法主要包括: 使用標準的UML及其構造型概念設計實時系統(tǒng)

[4],以及擴充UML或改造UML以使其滿足實時系統(tǒng)的要求[5]。

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

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

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

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

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

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

◆ 并發(fā)性。用活動類來描述并發(fā)。活動類的屬性(如優(yōu)先級)可以定義成類的標簽值,可通過組件版類﹤﹤Process﹥﹥和﹤﹤Thread﹥﹥將它們映射到實現(xiàn)環(huán)境中。
◆ 異步通信。UML支持線程間發(fā)送異步消息。
◆ 同步通信。定義信號量、監(jiān)視器或關鍵區(qū)的類/版類來描述同步。

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

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

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

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

聯(lián)系我們

地址: 浙江省.寧波市鄞州區(qū)寧姜公路(九曲小區(qū)二期旁)

郵編: 315040

聯(lián)系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機: 13867861670

郵箱: 85400329@qq.com

聯(lián)系我們
主站蜘蛛池模板: 清徐县| 武城县| 斗六市| 万荣县| 英超| 宁明县| 渝北区| 柘荣县| 罗定市| 拜泉县| 凤凰县| 中牟县| 和硕县| 苏尼特右旗| 叶城县| 淮安市| 灵丘县| 嘉峪关市| 台安县| 会理县| 堆龙德庆县| 双牌县| 黄陵县| 射洪县| 鄄城县| 会泽县| 江门市| 吴忠市| 蓝田县| 合山市| 仪征市| 延庆县| 巴中市| 新邵县| 额尔古纳市| 公安县| 麟游县| 岐山县| 咸宁市| 西安市| 丹寨县|