「基于模型的系统工程」的发展历程
節(jié)選自《「基于模型的系統(tǒng)工程」的發(fā)展歷程》,因篇幅有限,完整報(bào)告文末領(lǐng)取。
當(dāng)下,人們熱衷于討論基于計(jì)算機(jī)的建模、模型、數(shù)據(jù)庫(kù)和敏捷設(shè)計(jì)方法。然而,很少有人會(huì)耐心地審視和理解大量的技術(shù)創(chuàng)新,這些技術(shù)創(chuàng)新和發(fā)明是我們當(dāng)下發(fā)展MBSE 技術(shù)的重要基石。從近幾十年 MBSE 相關(guān)技術(shù)的發(fā)展來(lái)看,現(xiàn)在的 MBSE 方法是「站在巨人的肩膀上」所提出的技術(shù)創(chuàng)新。如圖1所示,MBSE 發(fā)展分為五個(gè)階段,在下文中將進(jìn)行一一介紹。
MBSE孕育期
MBSE 可以理解為一種工程模型,在 MBSE 啟蒙期前,也曾經(jīng)出現(xiàn)過(guò)各類工程模型,這段時(shí)間我們定義為 MBSE 孕育期,如圖2所示。被認(rèn)為最早的具備工程特性的模型出自迦勒底的一個(gè)叫哥弟的工程師之手。
他在公元 4000 年前,在一個(gè)石板上畫(huà)出了一個(gè)要塞的圖形,這個(gè)石板現(xiàn)存于巴黎的盧浮宮。從石板上可以很清晰地看出它所表達(dá)的含義,木頭、蓬草、石頭等。公元前 5 世紀(jì),希臘數(shù)學(xué)家阿基米德、畢達(dá)哥拉斯和歐幾里得創(chuàng)建幾何學(xué)。希臘建筑師堅(jiān)持對(duì)幾何學(xué)的研究,并于公元前 4 世紀(jì),將幾何應(yīng)用于帕臺(tái)農(nóng)神廟的建立。
在公元前的最后幾個(gè)世紀(jì),羅馬建筑師馬庫(kù)斯·維特魯威發(fā)表題為《建筑學(xué)》的十卷論文,直到 19 世紀(jì),這份著作都起到了十分重要的作用。公元 1100 年,宋代李誡創(chuàng)作了建筑學(xué)著作《營(yíng)造法式》,該書(shū)成為北宋官方頒布的一部建筑設(shè)計(jì)、施工的規(guī)范書(shū)。
在 18 世紀(jì),法國(guó)數(shù)學(xué)家、設(shè)計(jì)師 Gaspard Monge 提出了采用幾何技術(shù)解決工程設(shè)計(jì)問(wèn)題的思想。法國(guó)政府對(duì)他的貢獻(xiàn)十分認(rèn)可,并將其思想和相關(guān)資料秘密保存了將近 20 年。最終到 1795 年,他才被允許在大學(xué)中建立了工程師的培訓(xùn)體系,將他的思想向普通工程師推廣。
18 世紀(jì)初葉,美國(guó)國(guó)家國(guó)防教育機(jī)構(gòu)建立了圖形化研究中心,Christian Zoeller 在 1807 年開(kāi)設(shè)了首批繪圖課程。在1926 年,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所、美國(guó)工程教育協(xié)會(huì)、美國(guó)機(jī)械工程協(xié)會(huì)提出了建立機(jī)械制圖規(guī)范草本。在 MBSE 孕育期,科學(xué)家關(guān)注的工程模型偏向于幾何模型,目的也是基于幾何技術(shù)實(shí)現(xiàn)對(duì)于工程問(wèn)題的解決。
MBSE啟蒙期:20世紀(jì)60年代
直到 20 世紀(jì) 60 年代,MBSE 技術(shù)進(jìn)入啟蒙期。這段時(shí)間對(duì)商業(yè)及工業(yè)計(jì)算領(lǐng)域來(lái)說(shuō),是最富有成效的十年。作者對(duì)這么早的時(shí)候提出、被人們接受、并進(jìn)行大量實(shí)踐,感到十分驚訝。因?yàn)?#xff0c;在這段時(shí)期,大型計(jì)算機(jī)還被認(rèn)為是一種新興技術(shù),沒(méi)有多少人能真正了解其全部潛力。隨著不斷提出新理論、硬件和軟件,大型機(jī)被廣泛應(yīng)用于工程技術(shù),具體案例如下:
-
數(shù)據(jù)庫(kù)設(shè)計(jì)
-
早期用戶參與被認(rèn)為是關(guān)鍵的成功因素
-
功能分解和定義模塊化的規(guī)則
-
定義早期的形式化方法
-
首次提出軟件生命周期
**數(shù)據(jù)庫(kù)。**MBSE 生命周期的橫軸向集成及管理,在很大程度上依賴于信息存儲(chǔ)技術(shù),而近些年信息存儲(chǔ)技術(shù)的成功又歸功于最早期數(shù)據(jù)庫(kù)的成熟。隨著硬件性能的不斷提升,早期的計(jì)算機(jī)科學(xué)家開(kāi)始研究軟件開(kāi)發(fā)過(guò)程中的人因要素。當(dāng)新一代編程語(yǔ)言開(kāi)發(fā)出來(lái)時(shí),人類程序員不再需要像機(jī)器一樣思考,他們可以更加專注于編寫(xiě)代碼的過(guò)程。
這真是一幅因?yàn)樘鎸?shí)而讓人感到滑稽的諷刺畫(huà):管理者離開(kāi)滿是忙碌程序員的房間說(shuō)道:「開(kāi)始編程吧,我去看看我們的客戶想要什么。」它表現(xiàn)了當(dāng)時(shí)技術(shù)界普遍存在的傲慢,并不是所有人認(rèn)為早期用戶參與軟件項(xiàng)目是項(xiàng)目成功的關(guān)鍵因素。
**形式化方法。**在新興的 IT 行業(yè)中,程序員團(tuán)隊(duì)如何一起工作和相互溝通是一個(gè)值得關(guān)注的問(wèn)題。結(jié)構(gòu)化編程和對(duì)形式化方法的研究始于這個(gè)階段,這對(duì) MBSE 的發(fā)展至關(guān)重要。
常遭人詬病的軟件開(kāi)發(fā)生命周期瀑布模型也出現(xiàn)在這個(gè)時(shí)候,這個(gè)新概念消除了人們認(rèn)為軟件開(kāi)發(fā)是隨之任之的藝術(shù)形式的錯(cuò)覺(jué),并為后續(xù)的系統(tǒng)及軟件生命周期研究提供了一個(gè)基礎(chǔ)參考模型。北約科學(xué)委員會(huì)(NATO Science Committee)于1968 年和 1969 年召開(kāi)了兩次具有里程碑意義的會(huì)議,推動(dòng)了這一勢(shì)頭的發(fā)展。
**模塊化。**物理系統(tǒng)的模塊化為大規(guī)模生產(chǎn)帶來(lái)了經(jīng)濟(jì)增長(zhǎng),同時(shí)促進(jìn)了工業(yè)設(shè)計(jì)和制造技術(shù)。它將系統(tǒng)分解為具有明確定義和接口的單元并通過(guò)它們的交互來(lái)實(shí)現(xiàn)設(shè)計(jì)。在 David Parnas(1972)的研究中,首次提出將模塊化應(yīng)用于軟件的設(shè)計(jì)模式。同時(shí),Stevens,Myers 和 Constantine(1974)提出了更加便捷的系統(tǒng)分解方法。
**康威定律。**Melvin Conway 在 1968 年發(fā)表了他的假設(shè)(Conway 1968):
Any organization that designs a system will inevitably produce a design whosestructure is a copy of the organization’s communication structure.
系統(tǒng)認(rèn)知和項(xiàng)目團(tuán)隊(duì)創(chuàng)建對(duì)系統(tǒng)研發(fā)所帶來(lái)的效果從古至今是一樣的。如果項(xiàng)目團(tuán)隊(duì)在定義工作模塊之前就已經(jīng)創(chuàng)建了,那么產(chǎn)品系統(tǒng)的主要組件數(shù)量和特性將根據(jù)組織結(jié)構(gòu)來(lái)定義(例如,系統(tǒng)的三個(gè)分包商建議用一個(gè)系統(tǒng)分解為三個(gè)主要系統(tǒng)組件或工作包)。這樣的組織并不一定是壞事,但是它表明模塊化定義的規(guī)則并沒(méi)有推動(dòng)系統(tǒng)設(shè)計(jì)及功能組件的分解,從而導(dǎo)致模塊化定義要次優(yōu)于生產(chǎn)組織結(jié)構(gòu)。
MBSE上升期:20世紀(jì)70年代
在 20 世紀(jì) 70 年代,計(jì)算機(jī)的體積隨著計(jì)算能力的提高而減小。對(duì)于這個(gè)仍處于起步階段的新興行業(yè),技術(shù)人員渴望找到提高工作效率和產(chǎn)品質(zhì)量的方法,以及更加優(yōu)秀的計(jì)算機(jī)技術(shù)和方法。在這十年里,我們首次認(rèn)識(shí)到在產(chǎn)品研發(fā)過(guò)程中,人和時(shí)間不是可互換的資源。這一時(shí)期的技術(shù)包括:
-
CASE/計(jì)算機(jī)輔助軟件工程(從需求工程開(kāi)始)
-
結(jié)構(gòu)化方法 (Dahl, Dijkstra and & Hoare 1972)
-
面向?qū)ο蠓椒?(Dahl, Myhrhaug and Nygaard 1970) 迭代和進(jìn)化的生命周期
-
程序規(guī)格復(fù)核和檢查
-
成熟度網(wǎng)格
CASE。當(dāng)計(jì)算機(jī)被應(yīng)用于工業(yè)創(chuàng)新時(shí),計(jì)算機(jī)精英也在尋找將它應(yīng)用于軟件開(kāi)發(fā)的方法。CASE 工具提出一種可以擺脫單調(diào)乏味和容易出錯(cuò)的編碼工作方式。DanTeichroew 和 E.A.Hershey 創(chuàng)建的 PSL/PSA(問(wèn)題陳述語(yǔ)言 / 問(wèn)題陳述分析器),是一個(gè)關(guān)系數(shù)據(jù)庫(kù),用于維護(hù)系統(tǒng)需求,并描述它們與后續(xù)設(shè)計(jì)和研發(fā)文檔的關(guān)系。這套系統(tǒng)通常被認(rèn)為是最早的 CASE 工具之一。
他們提出的目標(biāo)很明確:「引入軟件開(kāi)發(fā)支持基礎(chǔ)設(shè)計(jì)框架,以中央計(jì)算機(jī)化數(shù)據(jù)庫(kù)為基礎(chǔ),提供一套完整的設(shè)計(jì)工具」。在這一階段,這些系統(tǒng)主要服務(wù)于文檔管理工作。但由于其功能逐漸完善,許多研究和開(kāi)發(fā)工作都在朝著根據(jù)特定計(jì)算環(huán)境的功能要求來(lái)設(shè)計(jì)可執(zhí)行軟件的最終目標(biāo)邁進(jìn)。
隨之而來(lái)的是更多復(fù)雜的工具,但這些模型定義及用他們替換代碼花費(fèi)了數(shù)年的時(shí)間。CASE 工具是 MBSE 的祖先,他們的發(fā)明人和倡導(dǎo)人提出利用術(shù)語(yǔ)及規(guī)范來(lái)定義所需模型在其軟件中解決實(shí)際問(wèn)題的愿景和總體目標(biāo)。
他們通過(guò)數(shù)據(jù)存儲(chǔ)方式來(lái)促進(jìn)溝通和資源協(xié)調(diào),同時(shí)發(fā)現(xiàn),目前領(lǐng)域研發(fā)軟件之間互操作性所帶來(lái)的集成問(wèn)題有很大的技術(shù)限制。然而,功能建模和自動(dòng)代碼生成技術(shù)推動(dòng)了 CASE 工具的普及,這些方法構(gòu)成了現(xiàn)代 MBSE 的基礎(chǔ),這套技術(shù)的兩位主要貢獻(xiàn)者是 Wayne Wymore 和 MackAlford 。
前者提出了數(shù)學(xué)系統(tǒng)理論,支持系統(tǒng)設(shè)計(jì)的過(guò)程,該理論稱為T(mén)ricotyledon 理論。Tricotyledon 理論基于集合論提出一種描述系統(tǒng)及需求的語(yǔ)言。用該語(yǔ)言可以建立狀態(tài)機(jī)節(jié)點(diǎn)的數(shù)學(xué)模型,以描述需求與需求之間的關(guān)聯(lián)關(guān)系。后者發(fā)明了 R-Nets 對(duì)系統(tǒng)中的信息流進(jìn)行建模,支持完整性和一致性的自動(dòng)化檢查,以及需求文檔的自動(dòng)生成。同時(shí),解釋性結(jié)構(gòu)模型被提出來(lái)提供系統(tǒng)圖論的迭代應(yīng)用,用于描述元素之間的關(guān)聯(lián)關(guān)系的文本式表達(dá)。
**面向?qū)ο蠓椒ā?*該方法提供了現(xiàn)實(shí)世界映射到軟件虛擬世界的落地方法。同時(shí),科學(xué)家在軟件開(kāi)發(fā)生命周期中提出了關(guān)于迭代開(kāi)發(fā)流程的訴求。在 2009 年,很多研究人員認(rèn)為系統(tǒng)工程的成功與否與能否應(yīng)用這些實(shí)踐有關(guān)。
**工程評(píng)審方法。**通過(guò)引入同行評(píng)審的方法,防止個(gè)人做出錯(cuò)誤判斷并提升交付產(chǎn)品質(zhì)量。Cosby 的質(zhì)量成熟度網(wǎng)格包含不確定性、覺(jué)醒、啟蒙、智慧和確定性這 5個(gè)階段,是隨后的成熟度模型的先驅(qū)。所有這些研究都有助于實(shí)現(xiàn)在 MBSE 的全生命周期里的無(wú)縫溝通。
MBSE發(fā)展期:1980–2010
在 80 年代初期,海外研究人員發(fā)現(xiàn)能一勞永逸地解決所有軟件工程問(wèn)題的方法是不存在的。許多技術(shù)創(chuàng)新仍在不停支持工業(yè)軟件解決工業(yè)問(wèn)題的技術(shù)革新。幾個(gè)MBSE 的典型技術(shù)在這個(gè)階段被提出,因此我們稱這個(gè)階段為發(fā)展期。其中有幾個(gè)亮點(diǎn)技術(shù),值得一提:
-
統(tǒng)一建模語(yǔ)言(OMG)于1997年結(jié)束了面向?qū)ο蠓椒?zhēng)論
-
軟件重用
-
配置管理
-
CMM和CMMI(SEI)
-
架構(gòu)
-
敏捷方法
**UML。**在20世紀(jì)80年代末和90年代活躍于軟件開(kāi)發(fā)行業(yè)的人都記得面向?qū)ο蠓椒ǖ臓?zhēng)論,因?yàn)槊總€(gè)領(lǐng)域牽頭人都嘗試引入他們自己特殊的建模符號(hào):云型與矩形等等。在對(duì)象管理組織(OMG)的努力下,建立了一套統(tǒng)一建模符號(hào),即UML,于1997年問(wèn)世。
UML嵌入了狀態(tài)機(jī),狀態(tài)轉(zhuǎn)換圖表規(guī)范。這種規(guī)范擁有自己的交互式圖形輸入、仿真工具和代碼生成工具。這種「狀態(tài)機(jī)」在CASE工具的研發(fā)中,取得了一個(gè)重大進(jìn)步,因?yàn)樗鼘?duì)于精度和符號(hào)語(yǔ)義的關(guān)注,可以為不同的領(lǐng)域概念,提供不同的圖形化符號(hào)與分層式模型結(jié)構(gòu)。這些新特性很好地支持紙張、屏幕和對(duì)模型大小的認(rèn)知限制等問(wèn)題(語(yǔ)義相關(guān)概念將在下一章 SysML2.0 與KARMA語(yǔ)言章節(jié)介紹)。
**SysML1. X及其他建模語(yǔ)言。**INCOSE在與OMG的合作中發(fā)揮了重要作用,將系統(tǒng)特定的元素引入建模語(yǔ)言,從而產(chǎn)生了SysML。在MBSE的領(lǐng)域中,人們已經(jīng)將經(jīng)常使用的SysML建模語(yǔ)言集成至MBSE工具,類似建模語(yǔ)言還有OPM,BPMN,EAST/ADL,UPDM等,各類語(yǔ)言在各自領(lǐng)域承擔(dān)了統(tǒng)一符號(hào)化表達(dá)的重任。
**重用。**面向?qū)ο蠹夹g(shù)的支持者經(jīng)常依靠軟件或代碼重用控制軟件生命周期成本。如今,在MBSE環(huán)境中也有類似模型重用的概念,重用技術(shù)高度依賴于數(shù)據(jù)存儲(chǔ)、檢索和版本控制的相關(guān)要素,而且在開(kāi)發(fā)管理方面還需要研發(fā)人員遵循于良好的設(shè)計(jì)規(guī)范。
模式(Patterns)是一種從面向?qū)ο笊鐓^(qū)中產(chǎn)生的軟件工程問(wèn)題解決域。模式在許多學(xué)科被廣泛應(yīng)用,最著名的是Alexander在城市規(guī)劃和建筑方面的工作,其實(shí)現(xiàn)了代碼生成中的主動(dòng)重用和「最佳10實(shí)踐」。
**配置管理。**如前所述,MBSE的生命周期應(yīng)用高度依賴于控制基線和修訂控制系統(tǒng)。
**質(zhì)量。**軟件質(zhì)量一直是業(yè)界關(guān)注的首要問(wèn)題。能力成熟度模型(CMM)最早發(fā)表于1993年。INCOSE曾提出倡議,將系統(tǒng)工程的關(guān)鍵過(guò)程和活動(dòng)納入一個(gè)集成的CMMI。MBSE要求這些模型進(jìn)一步成熟,以定義維護(hù)生命周期模型的橫向及縱向規(guī)劃。
**架構(gòu)。**架構(gòu)的早期定義集中于領(lǐng)域分析、產(chǎn)品線和戰(zhàn)略管理等領(lǐng)域。Leveson的工作表明,安全(人和自然環(huán)境)等因素必須包含在早期的系統(tǒng)需求設(shè)計(jì)過(guò)程中,這就需要在架構(gòu)設(shè)計(jì)中盡力考慮所有利益相關(guān)方的關(guān)注點(diǎn)及對(duì)應(yīng)視角。
**相關(guān)工程方法。**關(guān)于工程方法的討論很多,涵蓋了原型設(shè)計(jì)、敏捷設(shè)計(jì)和精益工程等不同主題,它們都表明MBSE落地依賴于規(guī)范和工程實(shí)現(xiàn)之間存在的緊密聯(lián)系。其中,形式化方法的眾多支持者更加關(guān)注模型的價(jià)值。
在軟件開(kāi)發(fā)領(lǐng)域的研發(fā)人員也面臨類似的挑戰(zhàn)——他們研究的重點(diǎn)是在集成建模環(huán)境中,研究基于模型的一體化開(kāi)發(fā)(數(shù)據(jù)集成、模型集成等類似概念),即是否可以一種模型包打天下(這部分的難點(diǎn)將在下節(jié)中介紹)。圖3中描述了過(guò)去50年中取得的研究進(jìn)展。
他們追求的目標(biāo)是使用更高的抽象層次將軟件開(kāi)發(fā)重用率提升到最高,使模型不再是方法論的一部分,而是代表一種支持完整軟件生命周期的范式,并使軟件開(kāi)發(fā)人員更加接近用戶領(lǐng)域(參見(jiàn)DCI)。對(duì)MBSE來(lái)說(shuō),類似的觀點(diǎn)可能是我們最終是否能夠用具體的產(chǎn)品和其他系統(tǒng)元素來(lái)代替「代碼」。
正如圖3中所示,在早期研發(fā)過(guò)程中,采用純代碼及文檔配合的研發(fā)模式,實(shí)現(xiàn)基于文檔的研發(fā)過(guò)程。隨著建模技術(shù)被初步應(yīng)用于軟件及系統(tǒng)研發(fā),工程師采用以文檔為中心的研發(fā)模式,使文檔、模型及代碼有機(jī)配合,提高研發(fā)效率。在這期間,部分代碼進(jìn)行模型化表達(dá),實(shí)現(xiàn)代碼即是模型。
隨后,建模技術(shù)的不斷發(fā)展促使研發(fā)方法從文檔為中心向模型增強(qiáng)方法轉(zhuǎn)化,實(shí)現(xiàn)構(gòu)建一定抽象能力的模型并實(shí)現(xiàn)模型與代碼的雙向同步。在這種設(shè)計(jì)方法中,文檔的應(yīng)用將逐步弱化。
當(dāng)使用以模型為中心的研發(fā)方法時(shí),采用建模技術(shù)實(shí)現(xiàn)研發(fā)過(guò)程中的代碼及方案的自動(dòng)化生成,實(shí)現(xiàn)模型即為代碼和方案,這個(gè)階段文檔將逐步地被模型取代。最終,實(shí)現(xiàn)基于模型的系統(tǒng)工程的研發(fā)方法,實(shí)現(xiàn)工程師構(gòu)建模型即自動(dòng)生成代碼及方案,到這個(gè)階段,設(shè)計(jì)人員就不需要關(guān)注代碼了。
2010 年以后,迎來(lái)了 MBSE 的調(diào)整及復(fù)蘇期。本章節(jié),將從 INCOSE 國(guó)際系統(tǒng)工程學(xué)會(huì)角度,介紹這一時(shí)期所提出的 MBSE 相關(guān)概念。MBSE 利用統(tǒng)一化、標(biāo)準(zhǔn)化、規(guī)范化、形式化及圖形化模型實(shí)現(xiàn)從概念定義、方案設(shè)計(jì)、試驗(yàn)驗(yàn)證到工程實(shí)施的產(chǎn)品研發(fā)周期全過(guò)程管理,其核心是建立起以模型為中心的系統(tǒng)工程管理體系。
國(guó)際系統(tǒng)工程協(xié)會(huì)(INCOSE)于 2007 年發(fā)布的《SE 愿景 2020》中,對(duì)基于模型系統(tǒng)工程提出定義:
「MBSE is the formalized application of modeling to support systemrequirements, design, analysis, verification and validation activitiesbeginning in the conceptual design phase and continuing throughoutdevelopment and later life cycle phases」(對(duì)建模的形式化應(yīng)用,用來(lái)支持系統(tǒng)的需求、設(shè)計(jì)、分析、驗(yàn)證和確認(rèn)活動(dòng),這些活動(dòng)開(kāi)始于概念設(shè)計(jì)階段并持續(xù)到整個(gè)開(kāi)發(fā)及以后的生命期階段。)
自從 2007 年初,INCOSE 面向工業(yè)界及學(xué)術(shù)界發(fā)起MBSE 倡議開(kāi)始,此定義逐漸被業(yè)界普遍接受為 MBSE 標(biāo)準(zhǔn)定義。針對(duì)此定義,《SE 愿景 2020》中有如下解釋:以模型為中心的產(chǎn)品研發(fā)方法被廣泛應(yīng)用于機(jī)械、電子和軟件等工程領(lǐng)域,并將取代原來(lái)系統(tǒng)工程所提倡的以文檔為中心的設(shè)計(jì)方法,而 MBSE 正是向以模型為中心的產(chǎn)品研發(fā)方法轉(zhuǎn)變的重要一環(huán)。
INCOSE 英國(guó)分會(huì)在 2012 年發(fā)布的系統(tǒng)工程系列「MBSE 是什么」技術(shù)報(bào)告的第一版中除引用 INCOSE 標(biāo)準(zhǔn)定義外,對(duì)MBSE 定義有如下解釋:MBSE 使用建模方法分析和記錄系統(tǒng)工程生命周期的關(guān)鍵要素,它有著極強(qiáng)的適用范圍,橫跨整個(gè)系統(tǒng)生命周期,縱跨體系、系統(tǒng)及單一組件;
在2015 年發(fā)布的第二版引用《系統(tǒng)工程中的 SysML》一書(shū)中的定義:MBSE 是由邏輯連貫一致的多視角系統(tǒng)模型驅(qū)動(dòng)進(jìn)而實(shí)現(xiàn)系統(tǒng)研發(fā)成功的技術(shù)手段。其相比于基于文檔的系統(tǒng)設(shè)計(jì)方法,具有如下特點(diǎn):
設(shè)計(jì)要素表達(dá)無(wú)歧義性。產(chǎn)品研發(fā)的相關(guān)信息描述經(jīng)常會(huì)因個(gè)人的知識(shí)差異而產(chǎn)生不同的理解。由于模型是一種高度圖形化的表示方法,具有圖形化、統(tǒng)一化、標(biāo)準(zhǔn)化、模塊化等優(yōu)點(diǎn),建立系統(tǒng)模型進(jìn)行精準(zhǔn)統(tǒng)一地描述系統(tǒng)工程相關(guān)信息,可以提高參與人員之間理解的一致性,實(shí)現(xiàn)設(shè)計(jì)信息的無(wú)歧義表達(dá)。
研發(fā)人員溝通交流效率的提高。隨著系統(tǒng)規(guī)模和復(fù)雜程度的提高,各種文檔越來(lái)越多,相對(duì)于厚厚的技術(shù)及研發(fā)文檔,閱讀圖形化的模型更加直觀,再配以適當(dāng)?shù)淖⑨?#xff0c;使得不同的人對(duì)統(tǒng)一建模規(guī)范的同一模型具有統(tǒng)一的理解,同時(shí)也使計(jì)算機(jī)更好地理解相應(yīng)模型的信息描述,有利于提高系統(tǒng)研發(fā)各部門(mén)之間的溝通、交流及協(xié)調(diào)的效率提升及計(jì)算機(jī)輔助管理能力。
體系、系統(tǒng)、子系統(tǒng)及組件的一體化設(shè)計(jì)。由于系統(tǒng)模型的建立涵蓋了產(chǎn)品研發(fā)的整個(gè)生命周期,包括系統(tǒng)的任務(wù)定義、體系設(shè)計(jì)、系統(tǒng)能力分解、需求分析、系統(tǒng)設(shè)計(jì)、架構(gòu)設(shè)計(jì)及分析、系統(tǒng)驗(yàn)證和確認(rèn)等活動(dòng)。因此能提供一個(gè)完整的、一致并可追溯的一體化設(shè)計(jì)方法,對(duì)于保障系統(tǒng)設(shè)計(jì)一致性管理、追溯性管理及復(fù)雜度管理,避免各部分的設(shè)計(jì)沖突具有十分重要的意義。
增強(qiáng)設(shè)計(jì)知識(shí)的自動(dòng)化捕捉能力和可重用性。系統(tǒng)研發(fā)生命周期中,包括很多點(diǎn)對(duì)點(diǎn)的信息創(chuàng)建、刪除、修改、查詢等過(guò)程,如設(shè)計(jì)人員需要提取客戶所提出的需求信息來(lái)進(jìn)行系統(tǒng)的設(shè)計(jì)。由于模型具有模塊化及統(tǒng)一數(shù)據(jù)源特點(diǎn),使得信息的捕捉、獲取、轉(zhuǎn)換以及再利用都更加方便、有效。
可以進(jìn)行多視角信息表達(dá)、分析及驗(yàn)證。通過(guò)模型底層的唯一數(shù)據(jù)源統(tǒng)一信息表達(dá),支持研發(fā)信息的多視角表達(dá)及分析。基礎(chǔ)計(jì)算機(jī)輔助設(shè)計(jì)及分析方法,支持各部分變更對(duì)系統(tǒng)本身可能造成的影響分析,并可以在早期進(jìn)行系統(tǒng)的驗(yàn)證和確認(rèn),從而降低設(shè)計(jì)變更所帶來(lái)的時(shí)間和費(fèi)用上的設(shè)計(jì)風(fēng)險(xiǎn)。
INCOSE 于 2007 年發(fā)布 2008 年更新的《MBSE 方法學(xué)綜述》中,對(duì) MBSE 方法學(xué)完整的研發(fā)體系及其各要素之間關(guān)系進(jìn)行了解釋:MBSE 頂層體系愿景包括研發(fā)流程、方法論、語(yǔ)言和工具,以支持基于模型、模型中心或模型驅(qū)動(dòng)環(huán)境下的系統(tǒng)工程。以《SE 愿景 2020》英文定義為基礎(chǔ),結(jié)合 MBSE 方法學(xué)綜述,本章節(jié)結(jié)合林雪萍先生所提出中文 MBSE 定義對(duì) MBSE 概念進(jìn)行中文描述:
基于模型的系統(tǒng)工程是一種采用形式化建模技術(shù)的正向設(shè)計(jì)方法,用于取代傳統(tǒng)的基于文檔系統(tǒng)工程的研發(fā)模式,以統(tǒng)一的體系、系統(tǒng)、領(lǐng)域、項(xiàng)目規(guī)劃及生命周期管理的多架構(gòu)視角,包括體系工程視角系統(tǒng)工程視角(需求、功能、邏輯、物理、架構(gòu)及驗(yàn)證)等模型集為集成研發(fā)框架,實(shí)現(xiàn)跨領(lǐng)域研發(fā)信息的可驗(yàn)證、可追蹤、可共享的全生命期內(nèi)的數(shù)據(jù)及知識(shí)的動(dòng)態(tài)關(guān)聯(lián),進(jìn)而貫穿于從概念方案、工程研制、報(bào)廢更新的系統(tǒng)全生命期、以及從體系、系統(tǒng)、子系統(tǒng)及系統(tǒng)組件的各層級(jí)系統(tǒng)工程過(guò)程和活動(dòng)(包括技術(shù)過(guò)程、技術(shù)管理過(guò)程、協(xié)議過(guò)程和組織項(xiàng)目使能過(guò)程)。
英文定義中 MBSE 是一種狹隘的形式化建模技術(shù)的工程應(yīng)用,INCOSE《MBSE 方法學(xué)綜述》將 MBSE 具體化為一種方法學(xué)。考慮到作為 MBSE 使能技術(shù)的標(biāo)準(zhǔn)建模語(yǔ)言逐漸與 MBSE 過(guò)程和工具相融合的發(fā)展趨勢(shì),以及《SE 愿景 2020》從過(guò)程和研發(fā)流程、方法論、建模語(yǔ)言和建模工具等幾方面討論出的 MBSE 的現(xiàn)狀和發(fā)展趨勢(shì),中文定義引入廣義 MBSE 的說(shuō)法,將英文定義中的狹義概念具體化為由圖 4 和圖 5 結(jié)合而成廣義MBSE 方法學(xué)。
因此,對(duì)于相關(guān)的 MBSE 技術(shù),集成相關(guān)研發(fā)流程、工具、方法論和建模語(yǔ)言等要素,實(shí)現(xiàn)具備跨語(yǔ)言數(shù)據(jù)集成,是下一代 MBSE 建模語(yǔ)言解決生命周期數(shù)據(jù)互用性及多視角、全要素大一統(tǒng)集成和開(kāi)放性等問(wèn)題的核心要求。2019 年,ISO/IEC/IEEE 準(zhǔn)備發(fā)布《系統(tǒng)及軟件工程的基于模型的系統(tǒng)及軟件工程方法及工具》標(biāo)準(zhǔn),這意味著 MBSE 技術(shù)正在走向成熟。
SysML2.0 和 KARMA 語(yǔ)言。目前,INCOSE 和 OMG 等組織的專家研發(fā)的SysML2.0 語(yǔ)言與洛桑聯(lián)邦理工、瑞典皇家理工、北京理工大學(xué)、上海交通大學(xué)、北京中科蜂巢科技有限公司等機(jī)構(gòu)合作開(kāi)發(fā)的 KARMA 語(yǔ)言采用均文本式建模方式。其中KARMA 語(yǔ)言已推進(jìn)在多家高校、國(guó)內(nèi)外航天、航空、兵器、電子等相關(guān)工業(yè)部門(mén)、國(guó)內(nèi)外多個(gè)國(guó)家級(jí)(歐盟級(jí))及省部級(jí)(瑞士創(chuàng)新項(xiàng)目)科研項(xiàng)目落地驗(yàn)證。
SysML2.0和 KARMA 語(yǔ)言均采用文本及語(yǔ)義式建模方法,其核心的目標(biāo)如上文所述實(shí)現(xiàn)語(yǔ)言的統(tǒng)一描述及表達(dá)。下面將以 SysML1.6 及 KARMA 和 SysML2.0 的比較來(lái)闡述為何新一代建模語(yǔ)言逐漸由圖形化規(guī)范向語(yǔ)義為主的規(guī)范模式改進(jìn)。
如圖 6 所示,MBSE 語(yǔ)言的目的是實(shí)現(xiàn) MBSE 形式化。MBSE 形式化,即使用 MBSE相關(guān)語(yǔ)言、技術(shù)和工具,采用形式化(計(jì)算機(jī)可讀、可理解)的表達(dá)方式,對(duì)系統(tǒng)進(jìn)行模型化表達(dá)。參考本團(tuán)隊(duì)的相關(guān)文章,MBSE 形式化包括:
具體語(yǔ)法用來(lái)顯示特定域建模語(yǔ)言中的圖形化表達(dá)或文本化表達(dá),例如圖 6 中語(yǔ)言中(1,+,2)可以被看成是文本式的具體語(yǔ)法(文本化表達(dá)),而 1+2 所代表的抽象語(yǔ)法是數(shù)字 1 與 2 之間相加(模型的組成元素之間的描述規(guī)則)。UML 語(yǔ)言中class 類的圖標(biāo)代表指定類(圖形化表達(dá))。
抽象語(yǔ)法定義了建模語(yǔ)言的組成元素及他們之間所構(gòu)成的關(guān)系的連接規(guī)則。如SysML 需求圖中需求模塊之間可以通過(guò)六類關(guān)系進(jìn)行連接,其中的連接規(guī)則要求即為抽象語(yǔ)法。
語(yǔ)義定義模型在領(lǐng)域中的含義。其中包括語(yǔ)義定義域(什么含義)及語(yǔ)義映射(如何賦予模型含義),具體解釋如圖中例子。例如,以圖中的 1+2 作為一個(gè)模型的例子。(1,+,2)可以被看成是文本式的具體語(yǔ)法。而 1+2 所代表的抽象語(yǔ)法是數(shù)字1 與 2 之間可以添加 「+」(模型的組成元素之間的描述規(guī)則)。這個(gè)例子中的語(yǔ)義定義域是自然數(shù)的運(yùn)算,通過(guò)語(yǔ)義映射來(lái)執(zhí)行運(yùn)算。因此,1+2 的含義阿拉伯?dāng)?shù)字的加法,即為 3。
在以上概念基礎(chǔ)上,介紹現(xiàn)在 SysML1.6 與 KARMA 語(yǔ)言或 SysML2.0 的區(qū)別。
如圖7所示,SysML1.X 為圖形化語(yǔ)言,因此規(guī)范中規(guī)定了圖框代表什么,模型中涵蓋哪些內(nèi)容,其對(duì)應(yīng)的圖標(biāo)是什么。基于 SysML 規(guī)范,各建模工具開(kāi)發(fā)各自模型庫(kù)。這會(huì)為使用建模工具來(lái)建模的過(guò)程中帶來(lái)若干問(wèn)題:
由于各工具采用技術(shù)路線不同,因此可能存在對(duì)規(guī)范的理解不同,可能出現(xiàn)基于相同規(guī)范,但是在不同建模工具實(shí)施方法不同,如同樣基于 SysML 規(guī)范,時(shí)序圖在 Magic draw 中采用的表達(dá)與Rhapsody 中采用的表達(dá)(同步信息組件的固定語(yǔ)法不同,條形及圓角框)不一樣,雖然兩個(gè)工具中所描述的本質(zhì)信息都相同,但是從前端表現(xiàn)上不同;
為了可以實(shí)現(xiàn)不同 SysML 工具之間的交互,基于 SysML 規(guī)范,研發(fā)了 XMI ( XML MetadataInterchange)的文本語(yǔ)言。XMI 文本語(yǔ)言本質(zhì)與 SysML1.X 上所描述的內(nèi)容相同,但是卻是兩種不同語(yǔ)言;
在使用 XMI 進(jìn)行 SysML 建模工具的模型交互過(guò)程中事實(shí)上集成的是 XMI 語(yǔ)言,而非 SysML 語(yǔ)言。這同樣對(duì)建模工具提出了較高要求,即需要支持兩種語(yǔ)言的語(yǔ)言解釋器及編譯器。為了解決這種問(wèn)題,SysML2.X 和 KARMA 語(yǔ)言,采用文本式(語(yǔ)義式)建模規(guī)范,將圖形化表達(dá)和語(yǔ)義文本表達(dá)集成,因此在建模工具中只需要使用一種語(yǔ)言即可。
結(jié)合 MBSE 發(fā)展史可以發(fā)現(xiàn),從 MBSE 啟蒙期到上升期(1960 到 1970),專家和學(xué)者更加關(guān)注的工業(yè)需求是如何將代碼及系統(tǒng)采用模型化手段表達(dá)支持重用等。直到MBSE 發(fā)展期(1980 到 2010),隨著 OMG 及 INCOSE 逐漸確定了圖形化規(guī)范,各種方法及工具百花齊放,MBSE 開(kāi)始在企業(yè)中初步應(yīng)用,但是在應(yīng)用過(guò)程中發(fā)現(xiàn)圖形化的問(wèn)題。在 2010 到 2030 甚至更遠(yuǎn),采用語(yǔ)義化建模手段實(shí)現(xiàn)生命周期的模型集成,使現(xiàn)有MBSE 真正落地。
關(guān)注「迪捷軟件」公眾號(hào),后臺(tái)回復(fù)「MBSE」,查看完整報(bào)告。
總結(jié)
以上是生活随笔為你收集整理的「基于模型的系统工程」的发展历程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 参数估计_状态估计的基本概念(1)参数估
- 下一篇: 网站服务器在境外境内怎么维护,涉黄网站服