許 維,趙 艷
(1. 廊坊師范學院 數信學院基礎部,廊坊 065000;2. 北華航天工業學院 基礎部,廊坊 065000)
基于UML的嵌入式系統可視化建模研究
許 維1,趙 艷2
(1. 廊坊師范學院 數信學院基礎部,廊坊 065000;2. 北華航天工業學院 基礎部,廊坊 065000)
統一建模語言UML( Uni fi ed Modeling Language)是一種定義良好、易于表達、功能強大、用于編制軟件藍圖的標準化語言,提供用于描述軟件系統的概念和圖形表示法,以及語言擴展機制和對象約束語言OCL(Object Constraint Language)[1]。
對嵌入式系統建立模型過程中,鑒于該系統的復雜性,用單一圖形不能完整描述系統整體功能結構,應從不同側面來表達系統的各個方面,從多視圖中拼接出整個系統,從而比較全面的完成系統描述。在UML中采用視圖來描述系統不同側面且闡述其特性,因此嵌入式系統的開發模型可由用例圖、邏輯圖、組件圖、合作圖、時序圖、部署圖[2]來共同描述。CASE工具可以采用Rose,并且結合Rational統一過程推薦的Use Case驅動的系統分析與設計方法。
設計模式(Design Pattern)是被人們廣為接受并反復使用、經過分類編目的代碼設計經驗的總結。設計模式由Use Case 實現、構架模式、構架機制三個部分組成,Use Case實現是在需求分析報告的基礎上,得到的系統需求,作為系統功能需求過度到構架模式的中介;構架機制是描述可復用的前人設計經驗,通過構架機制可以實現知識的復用。Use Case 實現和構架機制這兩者讓系統從需求分析向設計方案過度。設計模式中的構架模式是在特定領域基于體系結構的可重用的設計,是系統重要的構件組織或結構,它是分析設計工作流程的結果。層次構架是一種典型的構架模式,它把分析和設計的結果按特殊到一般分成四個層次:特定應用層、一般應用層、通用服務層、系統服務層[3]。
嵌入式系統是用來控制或監視機器、裝備或工廠等大規模系統的設備。在嵌入式計算機體系結構中,嵌入式的硬件系統處在體系中的最底層,它的上面分別為硬件驅動和SOC片上系統以及相對應的應用軟件[4]。相對臺式計算機而言,嵌入式硬件系統可分為:微處理器、存儲器、輸入輸出設備[5],這樣的系統具有專用性強、系統內核小、系統精簡、實時性強等優點,它可用于工業控制、信息家電、人工智能、計算機網絡、電子產品等方面[6]。以下我們利用UML技術來建立一個通用的嵌入式系統。
在概念級階段,關鍵是確定要解決的問題和需要完成的目標,在系統需求分析時常采用黑盒方法識別角色和識別用例,并在這個基礎上確定它們之間的關系,最后繪制用例圖。本系統中,主要的參與者為系統的使用者,它分為軟件設計師和普通用戶;主要的用例是軟件設計師可對該系統進行編程,這包括硬件驅動的編寫、軟件系統的編寫和系統的基本操作。普通用戶通過軟件設計師設計的軟件來操作系統,完成相應操作,如圖1所示。該階段中所得到的成果,我們可以把它們存放在Use Case視圖或者Use Case實現中。

圖1 系統用例圖
在邏輯級階段的設計模式中,我們采用了層次構架,該階段的主要任務是在確定所建系統范圍的基礎上,詳細分析用例的基本信息和具體工作流程,包括提取分析類,建立相應的類圖、狀態圖、時序圖、活動圖、合作圖等并把它們按照與應用邏輯關聯的程度分別存放在層次構架的各層次中。在整個分析設計過程中,我們又可以把這些過程劃分為靜態描述和動態描述。
2.2.1 靜態描述
該階段主要是明確系統的關鍵要素(類)、要素間的關系、以及要素的關鍵狀態和關鍵行為。可以使用類圖、對象圖等進行靜態描述。通過對系統用例圖和用戶手冊的分析,可以得到系統的關鍵類為:MCU微處理器類、SDRAM類、ROM類、BUS(總線)類、接口類等,它們之間的關系為關聯關系,其中接口類又是USB接口類、KEYBOARD類、LCD類、ETHERNET(以太網)類的父類,因此它們間的關系應該為聚合關系。在確定類與關系的基礎上再進一步描述出每個類的屬性和功能,比如MCU微處理器類的屬性有CPU_OE(使能)屬性、A(地址)屬性、D(數據)屬性等,相應的操作有INIT()初始化操作、READ()讀操作、WRITE()寫操作等。
2.2.2 動態描述
在動態描述中我們主要使用的是時序圖、合作圖等對系統進行描述,如圖2所示。用戶通過鍵盤把數據輸入到PCLD(可編程邏輯控制器)中,然后再通過總線輸入到微處理器里進行相應的運算處理;當數據從微處理器向外輸出數據時,也必須通過總線,然后再經過PCLD, 最終通過顯示器顯示出來。

圖2 系統時序圖
進入物理級這個階段后,我們著重考慮系統的實際結構并考慮該系統的物理部署,它包括了系統和設備間的連接。通過部署圖,可以了解到硬件組件之間的物理關系以及處理節點的組件分布情況。如圖3所示,在該系統中,系統與各設備的連接如下:鍵盤通過可編程邏輯控制器接口;以太網通過IEEE802.3協議;USB設備通過USB2.0串口;串口設備通過通用串口;工業設備通過相應的CANBUS(控制器局域網絡總線技術);顯示設備通過可編程邏輯控制器與系統相連。

圖3 系統部署圖
本文闡述了UML的基本開發方法,把UML技術運用到嵌入式領域,通過一個通用的嵌入式系統開發,具體描述了如何用UML技術分析、設計以及實施該嵌入式系統。利用UML面向對象技術開發嵌入式系統有助于提高開發人員和用戶對整個系統的清晰認識,有助于開發、維護系統,節約各方面的花費,為后繼的開發和使用提供堅實的保障。
[1]Grady Booch, James Rumbaugh,Ivar Jacobson. 邵維忠,麻志毅,張文娟, 等, 譯. UML用戶指南[M].機械工業出版社, 2001.
[2]Wendy Boggs, Michael Boggs. Mastering UML with Rational Rose 2002 Publishing House of Electronic Industry. 2002.
[3]吳麗君, 張毅剛, 姜守達. UML在嵌入式系統設計中的應用[J]. 哈爾濱工業大學學報, 2005-9(9).
[4]尤克濱. UML應用建模實踐過程[M]. 機械工業出版社,2003.
[5]沈文斌. 嵌入式硬件系統設計與開發實例詳解[M]. 電子工業出版社, 2005.
[6]賈少銳, 薛紅梅, 等. 基于UML的遠程家電控制軟件系統的設計[J]. 微計算機信息2006(09X).
Research on the visual modeling of embedded system based on unified modeling language
XU Wei1, ZHAO Yan2
本文闡述了統一建模語言UML的基本語法結構和建模步驟。利用UML建立完善的開發模型,有利于提升嵌入式系統的開發效率與質量。本文運用UML,借助其多視圖表達方式,通過實例論述UML可視化建模方法在嵌入式系統開發過程中的具體應用。
UML; 建模; 嵌入式系統
許維(1982-),男,河北廊坊人,助教,本科,主要從事計算機教育及應用研究。
TP302.1
A
1009-0134(2011)1(上)-0150-02
10.3969/j.issn.1009-0134.2011.1(上).45
2010-09-09