1 關(guān)于系統(tǒng)建模的語(yǔ)言 對(duì)于語(yǔ)言來(lái)說(shuō),最早的系統(tǒng)建模語(yǔ)言是UML語(yǔ)言。UML語(yǔ)言創(chuàng)建于1997年,又稱統(tǒng)一建模語(yǔ)言(Unified Modeling Language),是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可視化和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言。UML使用面向?qū)ο笤O(shè)計(jì)的的建模工具,獨(dú)立于任何具體程序設(shè)計(jì)語(yǔ)言,UML為軟件系統(tǒng)建立可視化模型,為軟件系統(tǒng)建立構(gòu)件以及文檔。 圖1 MBSE語(yǔ)言、方法、工具支柱示例 為了滿足系統(tǒng)工程的實(shí)際需要,國(guó)際系統(tǒng)工程學(xué)會(huì)(INCOSE)和對(duì)象管理組織(OMG)決定在對(duì)UML的子集進(jìn)行重用和擴(kuò)展的基礎(chǔ)上,提出一種新的SysML系統(tǒng)建模語(yǔ)言(Systems Modeling Language),作為系統(tǒng)工程的標(biāo)準(zhǔn)建模語(yǔ)言。和UML用來(lái)統(tǒng)一軟件工程中使用的建模語(yǔ)言一樣,SysML的目的是統(tǒng)一系統(tǒng)工程的標(biāo)準(zhǔn)建模語(yǔ)言。SysML語(yǔ)言2006年被采納,2012年發(fā)布規(guī)范。SysML 是用于對(duì)系統(tǒng)進(jìn)行建模的標(biāo)準(zhǔn)和通用的建模語(yǔ)言。SysML 提供了非常豐富和先進(jìn)的表達(dá)方式,從高級(jí)架構(gòu)建模到仿真前沿的詳細(xì)設(shè)計(jì),涵蓋了非常廣泛的應(yīng)用范圍。 但無(wú)論如何,UML為“軟件(代碼)”系統(tǒng)建立可視化模型,為“軟件(代碼)”系統(tǒng)建立構(gòu)件,為“軟件”系統(tǒng)建立文檔。而SysML 1.0以UML建模語(yǔ)言為基礎(chǔ),但是SysML 1.0也有一些局限,尤其是在UML語(yǔ)言以“軟件(代碼)”為主的應(yīng)用范圍和架構(gòu)方面。即使更新的SysML 1.6也有同樣類似的問題。因此,SysML 2.0版本于2019年11月結(jié)束了征求建議階段,開發(fā)工作已經(jīng)正式提上日程,根據(jù)OMG的計(jì)劃,大約在2022年正式發(fā)布。SysML 2.0比較全面地解決了系統(tǒng)工程的軟、硬兩個(gè)方面的問題,最重要的是有效利用企業(yè)原有知識(shí)和經(jīng)驗(yàn),新的語(yǔ)言與歷史語(yǔ)言會(huì)實(shí)現(xiàn)并存。 2 關(guān)于系統(tǒng)建模語(yǔ)言的支持 一般來(lái)說(shuō),只要是系統(tǒng)建模工具,幾乎都是SysML語(yǔ)言寫出來(lái)的,都支持SysML語(yǔ)言,這些系統(tǒng)建模工具的菜單中,都可以另存為SysML語(yǔ)言模型,或者導(dǎo)出為SysML語(yǔ)言模型,所以幾乎所有系統(tǒng)建模工具在語(yǔ)言基礎(chǔ)上是互通的。當(dāng)然,在不同的工具導(dǎo)入、導(dǎo)出過程中,可能會(huì)丟失一些信息,這個(gè)道理就像CAD工具一樣,不同的CAD工具例如NX、CATIA、ProE是不可能互相打開其他工具的模型的,但是只要將CAD模型存成國(guó)際通用的標(biāo)準(zhǔn)格式,例如JT,異構(gòu)的CAD工具就可以打開異構(gòu)的CAD模型,同樣,也會(huì)丟失一些信息。所以,從這個(gè)角度來(lái)說(shuō),SysML語(yǔ)言(格式)就是不同異構(gòu)系統(tǒng)建模工具進(jìn)行互通的標(biāo)準(zhǔn)格式和基礎(chǔ)。 總結(jié)一下來(lái)說(shuō),目前所有主流的系統(tǒng)建模工具都支持系統(tǒng)建模語(yǔ)言,或者可以理解成這些主流工具都是用SysML語(yǔ)言寫出來(lái)的。因此,我們?cè)谶x擇系統(tǒng)建模(MBSE)工具的時(shí)候,就無(wú)需糾結(jié)哪些工具是否支持SysML語(yǔ)言了,我們要做的只是應(yīng)該基于本企業(yè)的歷史和現(xiàn)狀,來(lái)選擇適合本企業(yè)的工具就足夠了。 3 關(guān)于系統(tǒng)建模業(yè)務(wù)的重要性 目前很多用戶認(rèn)為,如果我們使用系統(tǒng)建模工具就必須要學(xué)會(huì)UML語(yǔ)言和SysML語(yǔ)言,這是對(duì)系統(tǒng)建模語(yǔ)言的非常深的誤解。大家知道,如果我們使用需求管理工具、產(chǎn)品數(shù)據(jù)管理(PDM)工具、產(chǎn)品全生命周期管理(PLM)工具,我們無(wú)需了解其建模語(yǔ)言是JAVA還是C++,我們只需要會(huì)使用這些工具,知道怎樣操作需求的建立和追溯、操作對(duì)BOM管理和更改就可以了,那么為什么進(jìn)行系統(tǒng)建模卻必須學(xué)會(huì)和使用SysML語(yǔ)言呢? 圖2 系統(tǒng)建模業(yè)務(wù)流程示例 這個(gè)問題的出現(xiàn)主要是我們把基于業(yè)務(wù)的工具使用、IT開發(fā)這兩個(gè)領(lǐng)域混淆在了一起。語(yǔ)言的使用原則上是工具開發(fā)人員的職責(zé)范疇,尤其是業(yè)務(wù)人員如果真的去學(xué)習(xí)系統(tǒng)建模語(yǔ)言,對(duì)于業(yè)務(wù)人員來(lái)說(shuō)學(xué)習(xí)成本非常高,一定會(huì)占用其業(yè)務(wù)方面的精力。當(dāng)然,如果業(yè)務(wù)人員去擴(kuò)展其他領(lǐng)域(例如建模語(yǔ)言)的知識(shí),對(duì)業(yè)務(wù)人員也是有幫助作用的,但是一味地去強(qiáng)調(diào)語(yǔ)言,而忽視業(yè)務(wù)方面知識(shí)的了解和提升是我們進(jìn)行MBSE過程的一個(gè)誤區(qū)。無(wú)論那種工具,如果不了解業(yè)務(wù)方法,只聚焦語(yǔ)言和工具,那么所有語(yǔ)言和工具也就失去了意義。 4 關(guān)于Arcadia/Capella的特點(diǎn) 對(duì)于Arcadia/Capella 解決方案來(lái)說(shuō),Arcadia是方法,Capella是工具,使用Capella根本不用學(xué)習(xí)SysML語(yǔ)言,而且Capella把業(yè)務(wù)流程直接放在工具里面了就是Arcadia方法,一步步非常清楚,例如畫任何一個(gè)模型,右面工具菜單只有四五個(gè),非常簡(jiǎn)單,這對(duì)學(xué)習(xí)這個(gè)工具要求非常低。 圖3 基于向?qū)较到y(tǒng)建模工具操作示例 圖4 基于Arcadia方法的系統(tǒng)建模內(nèi)容 Arcadia/Capella是泰雷斯公司根據(jù)業(yè)務(wù)要求開發(fā)出來(lái)的,泰雷斯公司做機(jī)載娛樂系統(tǒng)、APU、發(fā)動(dòng)機(jī)、起落架等等很多產(chǎn)品的系統(tǒng)工程研發(fā),也就是說(shuō),基于業(yè)務(wù)做出來(lái)的工具,更符合業(yè)務(wù)人員的使用和操作習(xí)慣。 另外,Arcadia/Capella 解決方案專注于系統(tǒng)架構(gòu)的設(shè)計(jì)。由于目標(biāo)是為了更容易的學(xué)習(xí)曲線以及所涉及的精確范圍,Arcadia/Capella與 SysML 相比,表達(dá)方式有時(shí)會(huì)減少一部分。Arcadia/Capella 的最終目標(biāo)是讓系統(tǒng)工程師接受 MBSE 的文化變革,而不是讓建?!皩<摇贝硐到y(tǒng)工程師擁有模型。因此,Arcadia/Capella 受到系統(tǒng)工程從業(yè)者當(dāng)前實(shí)踐和關(guān)注的強(qiáng)烈推動(dòng)。也就是說(shuō),Arcadia/Capella更符合業(yè)務(wù)的要求,而無(wú)需學(xué)習(xí)SysML語(yǔ)言。 Capella是開源的,但同時(shí)又是西門子PDM(PLM)平臺(tái)的一個(gè)模塊叫SMW(系統(tǒng)建模工作臺(tái))。因?yàn)橐胱龊?/span>MBSE數(shù)據(jù)追溯非常重要,所以工具必須進(jìn)入PLM數(shù)據(jù)庫(kù)進(jìn)行管理,否則數(shù)據(jù)就會(huì)很亂。另外MBSE的本質(zhì)是功能建模、架構(gòu)建模,Capella只聚焦對(duì)這兩個(gè)模型進(jìn)行建模。 |
|