MBSE開源軟件Capella 到 SysML 橋梁:一種用于 MBSE 互操作性的工具化方法
Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability,Nesrine BADACHE, ARTAL Technologies, nesrine.badache@artal.fr,Pascal ROQUES, PRFC, pascal.roques@prfc.fr
模型到模型的轉(zhuǎn)換是基于模型的系統(tǒng)工程 (MBSE) 中的一項(xiàng)關(guān)鍵任務(wù)。事實(shí)上,越來越需要遷移現(xiàn)有模型,例如在 UML 或 SysML 中,以適應(yīng)新的建模方法,例如 Arcadia/Capella。反過來也是可取的,因?yàn)榻M織長(zhǎng)期以來一直在這些標(biāo)準(zhǔn)之上的模型和工具上投入時(shí)間和金錢。在許多情況下,新工具的順利集成需要符合就地標(biāo)準(zhǔn)。
Capella 是一種基于模型的工程解決方案,已成功部署在各種工業(yè)環(huán)境中。它基于圖形建模工作臺(tái),為系統(tǒng)架構(gòu)師提供豐富的方法論指導(dǎo),依賴于 Arcadia,這是一種基于模型的綜合工程方法。
SysML在系統(tǒng)生命周期的不同階段支持系統(tǒng)工程應(yīng)用的復(fù)雜建模。 SysML 為架構(gòu)師和系統(tǒng)工程師提供了一種使用獨(dú)特的通用語言進(jìn)行協(xié)作的簡(jiǎn)便方法。它支持在具有許多建模功能的不同開發(fā)團(tuán)隊(duì)中管理日益復(fù)雜的系統(tǒng):需求、行為和結(jié)構(gòu)定義。
為了利用 Capella 工具的強(qiáng)大功能,以及與標(biāo)準(zhǔn)化 SysML 語言的一致性,本文描述了 Capella 到 SysML 映射的首次嘗試以及作為概念驗(yàn)證的轉(zhuǎn)換工具原型。
動(dòng)機(jī)
模型到模型的轉(zhuǎn)換是基于模型的系統(tǒng)工程(MBSE)中的一項(xiàng)關(guān)鍵任務(wù)。事實(shí)上,越來越需要遷移現(xiàn)有模型,例如UML或SysML,以適應(yīng)新的建模方法,如Arcadia/Capella。反過來也是可取的,因?yàn)榻M織長(zhǎng)期以來一直在這些標(biāo)準(zhǔn)之上的模型和工具上投入時(shí)間和金錢。在許多情況下,新工具的順利集成需要符合現(xiàn)有標(biāo)準(zhǔn)。另一個(gè)典型的用例是在擴(kuò)展企業(yè)的上下文中交換模型,即使參與者不使用相同的建模工具或建模語言。
為了能夠在新的 Capella 工具和現(xiàn)有的 SysML 工具之間進(jìn)行有效的互操作,應(yīng)該首先執(zhí)行概念映射,然后應(yīng)該向建模者提供轉(zhuǎn)換工具。我們嘗試啟動(dòng)概念映射,僅考慮關(guān)注最相關(guān)功能的 Arcadia/Capella 概念的子集,并構(gòu)建原型轉(zhuǎn)換工具作為概念驗(yàn)證 ,反向映射(SysML 到 Capella)超出了本文的范圍。
在下文中,我們將介紹此轉(zhuǎn)換規(guī)范和相關(guān)策略,以及基于 SysML 文獻(xiàn)中可用的鬧鐘的簡(jiǎn)單用例的示例映射工具。本文重點(diǎn)介紹邏輯架構(gòu)級(jí)別的 Capella 組件、功能和相關(guān)的 Exchange 建模概念。類似的映射規(guī)則可以推廣到其他 Capella 級(jí)別(操作、系統(tǒng)和物理)。必須注意的是,生成的模型需要進(jìn)行全面審查以確保正確性,因?yàn)樵摴ぞ弑旧頍o法保證任何正確性。最終的 SysML 模型用例在 Papyrus/SysML 中進(jìn)行了探索。 Papyrus 被選為 SysML 目標(biāo),因?yàn)樗诩夹g(shù)上基于與 Capella 相同的 Eclipse 組件,并且是同一個(gè) Polarsys 項(xiàng)目的一部分。
帶工具的SysML與Arcadia/Capella:比較元素
Arcadia 方法和 Capella 工具
Arcadia - 架構(gòu)分析和設(shè)計(jì)集成方法(參見圖 1)是一種用于系統(tǒng)、硬件和軟件架構(gòu)設(shè)計(jì)的基于模型的工程方法。它是由泰雷茲在 2005 年至 2010 年間通過迭代過程開發(fā)的,涉及泰雷茲所有業(yè)務(wù)領(lǐng)域(運(yùn)輸、航空電子、太空、雷達(dá)等)的運(yùn)營(yíng)架構(gòu)師。
Arcadia 建模語言的靈感來自 UML/SysML 和 NAF 標(biāo)準(zhǔn),并與這些語言共享許多概念。它根據(jù) IEEE 1220 標(biāo)準(zhǔn),在連續(xù)的工程階段實(shí)施一種結(jié)構(gòu)化方法,在需求(操作需求分析和系統(tǒng)需求分析)和解決方案(邏輯和物理架構(gòu))之間建立明確的分離。
需要注意的是,Arcadia 提供了種類繁多的建模概念和圖表,應(yīng)該被視為一個(gè)建模框架,而不是一個(gè)簡(jiǎn)單的建模方法。如果一個(gè)項(xiàng)目想要主要使用 SysML 也提供的工件(例如序列或狀態(tài)圖),Arcadia 可以通過方法指南進(jìn)行定制。
圖 1 - ARCADIA 等級(jí)總結(jié)
Capella 工作臺(tái)是一個(gè) Eclipse 應(yīng)用程序,它實(shí)現(xiàn)了 Arcadia 方法,提供了領(lǐng)域特定建模語言 (DSML) 和相關(guān)的工具集。
SysML(系統(tǒng)建模語言)
SysML? 是一種通用圖形建模語言,用于指定、分析、設(shè)計(jì)和驗(yàn)證可能包括硬件、軟件、信息、人員、程序和設(shè)施的復(fù)雜系統(tǒng)。它是一個(gè)專門針對(duì)系統(tǒng)工程的 UML 配置文件。它在四個(gè)不同的支柱中定義了九種不同類型的圖表:行為、結(jié)構(gòu)、需求和參數(shù)(參見 圖 2)。我們?cè)谙挛闹嘘P(guān)注三種重要類型的圖:塊定義圖(bdd)、內(nèi)部塊圖(ibd)和活動(dòng)圖(act)。
圖 2 - SysML 的“四支柱”(OMG 網(wǎng)站)
比較要素
正如我們之前所解釋的,Arcadia DSML 的靈感來自 UML/SysML 和 NAF 標(biāo)準(zhǔn),并且與這些語言共享許多概念。但是為了便于所有利益相關(guān)者(通常不熟悉通用通用語言(如 UML 或 SysML))的使用,首選領(lǐng)域特定建模語言。 Thales 之前的實(shí)驗(yàn)證明,并非來自軟件的系統(tǒng)工程師對(duì) UML(以及隨后的 SysML)提出的面向?qū)ο蟾拍畈⒉粷M意。因此,Arcadia 主要是基于功能分析,然后將功能分配給組件。系統(tǒng)工程師已證明 DSML 的詞匯很容易理解。
Arcadia 最早是在 Thales 中定義的,源于實(shí)際項(xiàng)目中遇到的工程問題。然后需要一種能夠創(chuàng)建和管理 Arcadia 模型的軟件工具。第一個(gè)實(shí)驗(yàn)是使用現(xiàn)有的 UML 工具(如 Rational Software Modeler、Objecteering 和 Rhapsody)完成的,并在它們之上定義 UML 概要文件。在這些第一次嘗試時(shí),商業(yè)工具根本不容易定制,并且很難刪除未使用的命令或菜單。這就是為什么泰雷茲人決定創(chuàng)建自己的工具,專用于 Arcadia,受到基于 Eclipse 平臺(tái)的使能技術(shù)的出現(xiàn)的鼓舞,例如 EMF 等。因此 Arcadia 定義可以真正被視為 Capella 建模工具的規(guī)范。
如果我們嘗試與其他可能的解決方案進(jìn)行比較,即使用標(biāo)準(zhǔn)建模語言(例如 SysML)和現(xiàn)有的商業(yè)工具(例如 Rhapsody),我們可以發(fā)現(xiàn)幾個(gè)重要差異。
SysML 和 Rhapsody(作為其他商業(yè) SysML 工具)基于 UML,這對(duì)于沒有接觸過面向?qū)ο蟾拍畹南到y(tǒng)工程師來說是不利的:操作的概念、泛化/專業(yè)化、塊定義圖中的類型/實(shí)例、 甚至活動(dòng)圖中的“對(duì)象”流和“對(duì)象”節(jié)點(diǎn)。這些面向?qū)ο蟮钠鹪达@然是不熟悉軟件開發(fā)的系統(tǒng)工程師采用的障礙。
另一個(gè)大問題是 SysML 只是一種語言,每個(gè)公司都需要制定一個(gè)適應(yīng)的建模策略。那么,如何將方法傳授給建模工具呢?每個(gè)商業(yè)工具都聲稱提供了一個(gè) API 來構(gòu)建特定的附加組件,但這顯然是一項(xiàng)巨大的投資,需要軟件技能。例如,IBM 提供了一個(gè)帶有“Harmony for SE”工具包的原型,但在 Thales 進(jìn)行的實(shí)驗(yàn)證明,在做出創(chuàng)建 Capella 的決定時(shí),該工具包只不過是一個(gè)概念證明。例如,建模階段之間的自動(dòng)轉(zhuǎn)換不像 Capella 那樣是迭代和增量的,而只是一次性的。
圖 3 - MBSE 3 支柱實(shí)施:比較
Capella 到 SysML 轉(zhuǎn)換規(guī)范和策略
轉(zhuǎn)換策略側(cè)重于將 Capella 元素轉(zhuǎn)換為沒有 Capella 構(gòu)造型的 SysML 1.4 元素。這一選擇的動(dòng)機(jī)是特定的 Capella 配置文件會(huì)限制現(xiàn)有的 SysML 建模工具,并阻礙互操作性。
Capella 和 SysML 共享許多相似的建模概念,因?yàn)?Arcadia 深受 SysML 的啟發(fā)。一個(gè)主要區(qū)別是 Capella 明確區(qū)分了不同的建模抽象級(jí)別:操作分析 - OA、系統(tǒng)分析 - SA、邏輯架構(gòu) - LA、物理架構(gòu) - PA、EPBS。這些級(jí)別相互提煉并在不同專業(yè)的不同興趣級(jí)別上表達(dá)相同的系統(tǒng),但保持相同的結(jié)構(gòu)和行為圖類型。
邏輯架構(gòu)到SysML 1.4的轉(zhuǎn)換
SysML 沒有定義建模級(jí)別/層。如果需要(使用刻板印象)添加語義是工程師的任務(wù)。例如,SysML 包是有效的建模元素,用于分離建模問題,因?yàn)?Capella 層本身就提出了建議。 SysML 提供連接器和塊端口,用于組件交換映射。可以使用塊、值類型和流參數(shù)對(duì)端口進(jìn)行類型化,以轉(zhuǎn)換 Capella 交換項(xiàng)。
組件及其轉(zhuǎn)換
Capella組件和參與者類似于SysML塊(參見圖4)。組件疊置在SysML中使用組合關(guān)系實(shí)現(xiàn)。Capella組件和功能之間的通信和交換是系統(tǒng)執(zhí)行的組件協(xié)作的基礎(chǔ)。流經(jīng)交換機(jī)(以及組件或端口)的Exchange項(xiàng)描述了系統(tǒng)數(shù)據(jù)類型和結(jié)構(gòu)。
表1–邏輯架構(gòu)組件和交換到SysML 1.4的轉(zhuǎn)換
圖 4 顯示了 Capella 邏輯組件和組件交換(左時(shí)鐘無線電 (LA))到 SysML 塊和連接器(右 <<Block>> 時(shí)鐘無線電 (LA))的轉(zhuǎn)換結(jié)果。
圖 4 - Capella 邏輯組件和組件交換到 SysML 塊和連接器
功能轉(zhuǎn)換
SysML 不直接支持“功能”的概念。最接近的概念是活動(dòng)圖中到活動(dòng)和操作的映射。在這種情況下,PIN、參數(shù)節(jié)點(diǎn)和對(duì)象流用于通信(參見圖 5)。另一種選擇是使用帶有“功能”構(gòu)造型的 Blocks 。我們決定在這個(gè)實(shí)驗(yàn)中只使用沒有構(gòu)造型的 UML/SysML 現(xiàn)有元素(因此不為 Arcadia/Capella 創(chuàng)建 UML/SysML 配置文件)。
表 2 – 邏輯功能和交換轉(zhuǎn)換到 SysML 1.4
圖 5 顯示了 Capella 邏輯功能(頂部綠色塊)和功能交換轉(zhuǎn)換到 SysML 活動(dòng)和操作(底部藍(lán)色塊),應(yīng)用表 2。
圖5-Capella邏輯功能SysML活動(dòng)和調(diào)用行為操作
交換和交換項(xiàng)目轉(zhuǎn)換和分配
表3-交換項(xiàng)目、類型和交換項(xiàng)目分配到SysML 1.4的轉(zhuǎn)換
圖 6 顯示了 SysML PIN FIP1 及其類型“警報(bào)時(shí)間”。報(bào)警時(shí)間被描述為一個(gè)帶有屬性時(shí)間戳的塊,它由屬性“小時(shí)”和“分鐘”組成。
圖 6 - 使用鬧鐘類型化的PIN FIP1
圖 7 顯示了映射到表 3 的 SysML 1.4 的應(yīng)用。
圖 7 - SysML 1.4 中的預(yù)定義類型轉(zhuǎn)換
分配與實(shí)現(xiàn)轉(zhuǎn)換
在 Arcadia 中,“allocation”的概念非常重要,因?yàn)楣δ軕?yīng)該在每個(gè)工程級(jí)別分配給組件(系統(tǒng)/邏輯/物理)。圖 8 描述了 Papyrus 中的分配表,由 Capella 分配轉(zhuǎn)換為 SysML 分配關(guān)系產(chǎn)生。
圖 8 – 元素之間的 Capella 分配轉(zhuǎn)換為 SysML 1.4 分配關(guān)系
表 4 描述了 Papyrus 中用于 SysML 的分配,使用了分配表。
最后,將SysML中的Realization關(guān)系作為“Realize”Capella關(guān)系的映射,表達(dá)建模層次之間的細(xì)化,例如 邏輯架構(gòu) <realize> 系統(tǒng)分析。
CapellaTo SysML Bridge:轉(zhuǎn)換工具
Capella2SysML 是一個(gè)基于 Eclipse 的工具,旨在支持 Capella 到 SysML 的映射。
Capella2SysML 基于 Transposer 技術(shù),在 Capella Studio 1.1.x 中開發(fā),它還嵌入了允許增量轉(zhuǎn)換的 CoEvolution 技術(shù)。源模型是 Capella 1.1,目標(biāo)模型是 SysML 1.4 for Papyrus 2.0。Capella2SysML Bridge 作為 Capella 中的更新站點(diǎn)提供。它在 Capella 項(xiàng)目中很活躍。執(zhí)行 Capella2SysML 后,除了用于增量轉(zhuǎn)換的跟蹤文件外,還會(huì)創(chuàng)建 SysML Papyrus 合規(guī)性模型。與 SysML 工具之間的大多數(shù) XMI 橋梁一樣,轉(zhuǎn)換不會(huì)保存圖表本身。
結(jié)論
為了利用 Capella 工具的強(qiáng)大功能,以及對(duì)標(biāo)準(zhǔn)化 SysML 語言的一致性,本文描述了 Capella 到 SysML 映射的第一次嘗試和轉(zhuǎn)換工具的原型。我們嘗試啟動(dòng)這種概念映射,僅考慮重要 Arcadia/Capella 概念的一個(gè)子集,并構(gòu)建一個(gè)面向 Papyrus SysML 的原型轉(zhuǎn)換工具作為概念驗(yàn)證。
本文僅關(guān)注邏輯架構(gòu)級(jí)別的 Capella 組件、功能和相關(guān)的 Exchange 建模概念。我們開發(fā)了一個(gè)支持這種轉(zhuǎn)換的工具,作為 Capella 和 SysML 之間的第一個(gè)橋梁。它支持將給定的 Capella 源模型轉(zhuǎn)換為目標(biāo) SysML 模型,以實(shí)現(xiàn)模型互操作性。映射策略將通過附加轉(zhuǎn)換得到增強(qiáng),例如序列圖元素和物理架構(gòu)級(jí)別。也可以定義構(gòu)造型以創(chuàng)建真正的 Capella“Profile 配置文件”,作為替代解決方案。
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















