02.26 SysML模型圖總覽

引言

SysML,全稱Systems Modeling Language,

即系統建模語言,它是一種表述(Specifying)、分析、設計以及驗證複雜系統的通用圖形化建模語言,複雜系統可能包括軟件、硬件、信息、人員、過程和設備等其他系統元素。

想要了解SysML的本質,我們首先關注其核心定位,即:SysML是一種圖形化的系統建模語言。由此我們可以抽離出4個維度:


SysML模型圖總覽

SysML與UML的關係

UML,即“Unified Modeling Language”,又稱為統一建模語言,是一種圖形化的建模語言,主要用於對軟件系統進行建模。同時,用戶可以利用UML提供的擴展機制對UML進行擴展,以滿足特定領域的建模需求。

系統工程比軟件領域覆蓋範圍更廣,除了可能包含的軟件組件,可能還包括硬件、人員、設施、過程等更多的系統元素。系統工程師基於UML進行建模工作,並不能很好的描述系統。也就是說在系統工程領域,UML存在“盲點”,基於當前已有的UML元素不足以對複雜系統進行充分的、有效的表達。因此,系統工程領域在尋求一種更為廣泛的建模語言。

“UML for Systems Engineering RFP”有OMG和INCOSE聯合開發,並由OMG於2003年3月發佈。該RFP文檔中描述了擴展UML以支持系統工程的需求。SysML規範正是為了滿足這些需求,由不同的工具供應商、終端用戶、學術界及政府代表聯合開發制定,2006年7月6日被OMG採納,並於2007年發佈了OMG SysML V1.0版。

如下圖所示,SysML和UML間存在交集,即SysML語言中的部分圖是和UML中的相應圖是一致的,例如用例圖。同時,SysML也有基於UML擴展而來的圖,例如活動圖。另外,還有一部分圖是SysML所特有的,這些圖與UML間沒有關係,例如需求圖。

SysML模型圖總覽

SysML建模語言中的圖模型如下圖所示,可以概括為“3類9種”。SysML可以分為行為圖、需求圖和結構圖。三類圖又具體化為共計9種模型圖。同時,SysML模型圖與UML圖存在交互。藍色部分是SysML和UML共有的圖,包括序列圖、用例圖、狀態機圖、包圖,黃色部分是SysML基於UML擴展而來,包括活動圖、模塊定義圖、內部模塊圖。還有一部分是SysML語言所特有的圖,包括需求圖和參數圖。

SysML模型圖總覽

用例圖:黑盒視圖,是系統功能的高層描述,用於表達系統執行用例以及引起系統執行行為的參與者。

模塊定義圖:結構圖,與內部模塊圖及參數圖互補,用於描述系統的層次以及系統/組件的分類。

內部模塊圖:結構圖,與模塊定義圖及參數圖互補,通過組件(Parts)、端口、連接器來用於描述系統模塊的內部結構。

包圖:結構圖,以包的形式組織模型間的層級關係。

參數圖:SysML特有的圖,與模塊定義圖及參數圖互補,用於說明系統的約束。

活動圖:行為圖,主要關注控制流程,以及輸入轉化為輸出的過程。

序列圖:行為圖,主要關注並精確描述系統內部不同模塊間的交互,

狀態機圖:行為圖,主要關注系統內部模塊的一系列狀態以及在事件觸發下的不同狀態間的轉換。

需求圖:用於表述文字化的需求、需求間的關係,以及與之存在滿足、驗證等關係的其他模型元素。

SysML還包含了分配關係的表述,包括功能到組件的分配、軟件到硬件的分配以及邏輯到物理的分配。

SysML的通用圖形化表述

SysML的通用圖形表述如下圖所示,每個SysML圖都有圖外框、頭部以及內容區域三部分組成。圖外框是指圖的外部黑色實線,在SysML中外框不能省略。內容區域是存放SysML模型元素的地方。頭部位於圖的左上角,對模型圖的類型、名稱、模型元素類型及名稱進行概要性描述。

SysML模型圖總覽

圖的頭部是最為重要的圖概念,一般包括四個信息:圖類型、模型元素類型、模型元素名稱、圖名稱。

圖的類型

圖類型的命名只能在SysML定義的圖類型縮寫集合中選擇,用戶不能隨意命名。SysML中定義的圖類型的縮寫集合簡稱如下所示:

SysML模型圖總覽

模型元素類型:SysML定義了模型元素類型集合,這些類型的模型元素在圖中是不能任意出現的,每種SysML圖中所能表達的模型元素是有規則限制的,參考如下的模型圖和模型元素匹配表。關於元素類型所表達的含義在後續系列文章中詳細說明。

SysML模型圖總覽

模型元素名稱:用戶自定義模型元素的名稱

圖名稱:

用戶自定義圖的名稱

SysML建模工具

我們說,SysML是一種圖形化的建模語言,OMG組織發佈了針對SysML的建模語言描述規範,其詳細定義SysML的語義。面面俱到的規範並不適合SysML初學者,這些主要面向建模規範制定者以及相關的建模工具廠商,用於進行建模規範制定以及建模工具的開發實現。支持SysML這一圖形化的建模語言的商業或免費的工具如下表,僅供參考。當然,用戶也可以基於SysML規範實現一款全新的建模工具。

SysML模型圖總覽

支持SysML的建模工具有很多,筆者瞭解比較多的是Rhapsody,這是一款來自IBM Rational 的商業化工具。基於Rhapsody我們可以實現可視化建模、模型驗證、測試用例自動生成、代碼自動生成等高級工作。關於Rhapsody的詳細介紹會在後續文章中詳細描述。

總結

  • SysML是一種圖形化建模語言,用於對複雜系統進行建模;
  • SysML基於UML 2,並對其進行了擴展;
  • SysML不是建模的方法論,也不是建模工具;


分享到:


相關文章: