UML2.0如何規范改善結構建模的性能
本節向大家介紹一下UML2.0規范改善了結構建模的性能,主要包括順序框圖和時序框圖等內容,相信通過本節的學習你對改善結構建模的性能有一定的認識。下面讓我們一起來看一下具體介紹。
UML2.0規范改善了結構建模的性能
UML2.0完全建立在UML1.x基礎之上,大多數的UML1.x模型在UML2.0中都可用。但UML2.0在結構建模方面有一系列重大的改進,包括結構類、精確的接口和端口、拓展性、交互片斷和操作符以及基于時間建模能力的增強。當然還有時序框圖,但如果你不使用這些功能,也就不用擔心這些特性,因為僅使用類框圖、順序框圖和狀態框圖仍可建立非常復雜的實時嵌入式系統。
順序框圖
對順序框圖進行修改主要是要達到兩個目標:改進“規格性”(定義事務的能力)和“拓展性”。最明顯的改變在后一個目標中得到體現。順序框圖可以被分解成“交換片段”,而這些片段既可以表示在同一個或者另外的順序框圖中。
雖然UML2.0的順序框圖看起來與UML1.x的非常相像,例如它們都有生命線(lifeline)、消息等,但兩者也有很明顯的不同。其中一個不同是在框圖右上角有一個5邊形的盒子(見圖4),它是交互片斷的“操作符”。在這個框圖中,我們看到“sd例子”。操作符sd是該片斷的名字。在這個大框圖中,還可以看到嵌套的另一個順序框圖,它的名字是“alt”,是“alternative”的縮寫(If/Then/Else),它作用于被嵌套的片斷。如果監視點(Guard)的值為“TRUE”,則這個片斷的上半部分被執行;相反地,如果“else”監視點的值為“TRUE”,則執行下部分片斷。這個標記比起UML1.x中的分支標記更加有效,同時還注意到了遞歸性。交互片斷也可以包含一些嵌套的交互片斷,而它們都有適用于自已整個(嵌套的)片斷的操作符。
這些操作符包括:Sd――命名順序框圖;ref――引用“交互片斷”;loop――重復交互片斷;alt――選擇;par――并發(平行)區域;seq――部分順序(缺省值);strict――嚴格排序;assert――必需的;opt――可選的“模板”;neg――“不可能發生”或有問題的規范。ref操作符允許引用在單獨框圖中定義的交互片段.
生命線也可以按照圖5所示進行分解。這時實例線“ServiceBase”可以分解成另一個框圖(圖5右下角中的小框圖)。消息的進入或退出點被稱作“門(gate)”,它們能讓工具確保順序框圖之間的兼容性和一致性.
時序框圖
順序框圖是觀察服務要求順序的一個有效方法,但它還只是觀察時間相關動作的一個次優方法。為了更詳細表達時序,我開發時序框圖,它們現在已經被UML2.0所采用并只做了很小修改。圖6表示了一個簡單的時序框圖,豎軸表示狀態,橫軸表示時間。豎軸方向的值通常是離散的,比如狀態和一些枚舉類型的值。時序框圖中離散值的數軸很常見,所有重要離散情況都可以使用,甚至是邏輯值或數學表達式。時序框圖也包含順序框圖中的其它元素,例如門、消息和約束。
圖7顯示了多個實例在時間上的協調關系,實例由虛線隔開。連續值有兩種表現形式。缺省形式如圖8的下半部分所示,值被保持直到它被改變。選取它作為缺省值是因為大多數離散系統都是嚴格據此工作的。對于值可在其中連續變化的物理過程和系統工程環境,可替代的形式可能更加適合。
其它資料
UML2.0的內容遠比前面介紹的要多。可能最重要的一點是,UML1.x模型在大部分情況下都將繼續有效。這里對內部元模型結構做了大量重新設計、再設計工作,并且隨著對技術細節不斷地推敲,這一工作還將繼續。許多細小而重要的(對于某些人)的變化正在發生,如關聯性(association)、關聯子集、合并動作、活動等。雖然UML的基本性質和表現力沒有變化,但仍有必要提及以下三件重大事項。
第一,交互框圖將活動框圖和順序框圖結合在一起,使活動框圖成為了一系列順序框圖的“主框圖”。這樣人們就可以建立一個順序框圖的”地圖”,從而很容易地在其中瀏覽.
第二,在UML1.x中,活動框圖和狀態框圖具有同樣的語義。換句話說,它們表達同樣的事情,但用了不同的標記。在UML2.0中,活動框圖是基于Petri網絡令牌語義,而不是基于有限狀態自動控制,因此更具有表現力。雖然它對計算算法不是很重要,但是對過程建模很有幫助。
第三,UML2.0包含了表示結構元素(對象)之間數據流動的流程框圖(FlowDiagrams)。它與協作框圖(collaborationdiagram)中的信息流動類似,但不完全相同。對于那些希望構建數據流框圖式模型的建模者,可按照圖9的UML方式進行建模。
本文小結
UML2.0是完全建立在UML1.x基礎之上,大多數的UML1.x模型在UML2.0中都可用。但UML2.0在結構建模方面有一系列重大的改進,包括結構類、精確的接口和端口、拓展性、交互片斷和操作符以及基于時間建模能力的增強。當然還有時序框圖,但如果你不使用這些功能,也就不用擔心這些特性,因為僅使用類框圖、順序框圖和狀態框圖仍可建立非常復雜的實時嵌入式系統。
【編輯推薦】


















