MBSE實踐之建模語言SysML
引言
系統工程是一種多學科和整體的方法,為復雜的工程問題開發解決方案。隨著系統復雜性的不斷增長,需要更加嚴格和形式化的系統工程實踐。為了滿足這種需求,以及計算機技術的進步,系統工程實踐正在經歷從基于文檔的方法到基于模型的方法的根本性轉變。在基于模型的方法中,重點從生成和控制關于系統的文檔轉移到生成和控制系統的一致模型。基于模型的系統工程(MBSE)可以幫助管理復雜性,同時提高設計質量和周期時間,增強不同開發團隊之間的溝通,并促進知識獲取和設計演進。
MBSE實踐的三大構成為:建模語言+方法論+建模工具。其中,標準化和健壯的建模語言被認為是實現MBSE的關鍵因素。系統建模語言(OMG SysML? System modeling language)就是這樣一種通用建模語言,是UML在系統工程應用領域的延續和擴展,它支持系統的規范、設計、分析和驗證,這些系統可能包括硬件和設備、軟件、數據、人員、過程和設施。SysML是一種圖形化建模語言,為建模系統需求、行為、結構和參數提供了語義基礎,用于與其他工程分析模型集成。它是MBSE實踐者在創建系統模型時“說”的語言,可以把他們的系統設計觀點可視化,并與利益相關者溝通。
一、SymML與UML的區別與聯系
SysML是統一建模語言(UML 2.0)的擴展,其擴展需要滿足UML?對系統工程征詢方案( UML for Systems Engineering Request For Proposal)的需求,由對象管理組織(OMG)和國際系統工程委員會(INCOSE)聯合開發,并由OMG在2003年3月發布。SysML規范是根據工具供應商、最終用戶、學術界和政府代表的不同團體的需求而開發的。對象管理組在2006年7月6日宣布采用OMG SysML?v1.0,并在2007年9月宣布了OMG SysML?v1.0的可用性。目前,最新的版本是2019年12月份發布的Sysml 1.6。
如下圖所示,SysML與UML之間有交集,即SysML中的部分圖與UML是一致的,例如用例圖、序列圖、狀態機圖。有一部分圖是在UML基礎上進行擴展而得,如活動圖。另外,SysML還增加了一些特有的圖,如需求圖等。
圖1 SysML與UML的關系
二、Sysml圖種類劃分
圖2 SysML圖種類劃分
圖3 SysML的9種圖
如上兩幅圖所示,SysML總共包含9種圖,可以劃分為4大類。分別為:
結構類:內部模塊圖、包圖、模塊定義圖
需求類:需求圖
行為類:活動圖、序列圖、狀態機圖、用例圖
參數類:參數圖
三、SysML的通用圖形化表示
每個SysML 圖都代表一種模型元素,且每個圖都需要有一個圖框,由Header和Contents兩部分組成,如下圖所示。
圖4 SysML Diagram
(1) Header包括:
1) DiagramKind:表示圖類型的縮寫。9類SysML圖的縮寫分別為:
u 活動圖:act
u 模塊定義圖:bdd
u 內部模塊圖:ibd
u 包圖:pkg
u 參數圖:par
u 需求圖:req
u 序列圖:sd
u 狀態機圖:stm
u 用例圖:uc
2) Model element type:圖框架所對應的模型元素的類型。不同的圖類型具有對應不同的模型元素類型的圖表框架。圖類型與可表示的模型元素類型對應關系如下:
表1 Sysml圖類型與可表示的模型元素類型
圖類型 |
可表示的模型元素類型 |
活動圖act |
activity |
模塊定義圖bdd |
block, constraint block, package, model, model library |
內部模塊圖ibd |
block |
包圖pkg |
package, model, model library, profle, view |
參數圖par |
activity, block, constraint block |
需求圖req |
package, model, model library, requirement |
序列圖sd |
interaction |
狀態機圖stm |
state machine |
用例圖uc |
package, model, model library |
3) Model element name-與圖框相對應的模型元素的名稱
4) Diagram name:圖的名稱,常用來表示圖的目的
5) Diagram usage:一個關鍵字,表示圖表的特殊用法。
(2) Diagram description 圖的描述
圖描述是一個可選的注釋,附加在圖框的內部或外部。它的目的是使建模者能夠捕獲關于圖的附加信息,比如版本、完成狀態、描述、引用、用戶自定義域等;
(3) Diagram Content 圖的內容
圖內容區域(有時稱為畫布)包含以圖形方式表示模型元素的元素。內容區域包括表示感興趣的模型片段的關系圖元素(符號)。如上所述,圖的類型限制了可以顯示哪種模型元素以及它們如何顯示。在圖的約束中,建模人員決定要顯示哪些模型元素以及要隱藏哪些模型元素來實現圖的意圖。
四、SysML 9種圖的含義及示例:
1. 模塊定義圖bdd
用于表示模塊和值類型之類的元素(定義能夠在可操作的系統中存在的事物類型)以及那些元素之間的關系。bdd的通常用法包括顯示系統層級關系樹以及分類樹。
圖5 bdd示例圖
2. 內部模塊圖ibd
用于指定單個模塊的內部結構。更精確的說法是,IBD會顯示模塊內部組成部分之間的關系,以及它們之間的接口。
圖6 ibd示例圖
3. 包圖pkg
用于顯示模型以包相互包含的層級關系形式組織的方式。包圖可能還會顯示包所包含的模型元素,以及包之間的依賴關系和它們包含的模型元素。
圖7 pkg示例圖
4. 參數圖par
用于表示一種或多種約束——特別是等式和不等式——如何與系統的屬性綁定。參數圖支持工程分析,包括性能、可靠性、電力、人力和成本。參數圖還可以用于支持候選物理架構的優劣勢研究。
圖8 par示例圖
5. 需求圖req
用于表示基于文字的需求、需求之間的關系(包含關系、繼承關系以及復制關系),以及滿足、驗證和改善它們的其他模型元素。
圖9 req示例圖
6. 活動圖
用于指定一種行為,主要關注控制流程,以及輸入通過一系列動作轉換為輸出的過程。活動圖一般用作一種分析工具,以理解和表達系統所需要的行為。
圖10 act示例圖
7. 序列圖sd
用于指定一種行為,主要關注模塊的組成部分如何通過操作調用和異步信號交互。序列圖通常用作詳細設計工具。以精確地把一種行為指定為生命周期開發階段的輸入項。序列圖也是指定測試案例的一種優秀機制。
圖11 sd示例圖
8. 狀態機圖stm
用于指定一種行為,主要關注模塊的一系列狀態,以及響應事件時,狀態之間的可能轉換。狀態機圖和序列圖一樣,都可以精確說明一個模塊的行為,可以作為生命周期開發階段的輸入項。
圖12 stm示例圖
9. 用例圖uc
用于表達系統執行的用例,以及引起用例的行為者和其中的參與者。用例圖是系統在行為者的協作下所執行服務的黑盒視圖。
小結
本文主要介紹了系統工程建模語言SysML,包括SysML的由來,與UML的區別聯系,SysML的四大支柱:需求、行為、結構和參數;以及SysML 9種圖的含義和表示方法。希望通過本文能讓您對SysML有個初步的認識,協助您更好地進行系統工程實踐。
圖12 uc示例圖
參考資料:
1、http://www.omg.org
2、《OMG Systems Modeling Language》Version 1.6 formal/2019-11-01
3、《A Practical Guide to SysML-The Systems Modeling Language》,Third edition, Sanford Friedenthal ,Alan Moore ,Rick Steiner.
文章來源:blingbling從業感悟
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















