亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Sirius的SysML活動(dòng)圖建模和仿真設(shè)計(jì)與實(shí)現(xiàn)

        2022-10-19 03:53:14周晨初陸明珠彭祺擘葉曉平劉玉生
        麗水學(xué)院學(xué)報(bào) 2022年5期
        關(guān)鍵詞:語義定義活動(dòng)

        王 強(qiáng),周晨初,陸明珠,彭祺擘,葉曉平,劉玉生

        (1.上海衛(wèi)星工程研究所,上海 201109;2.西安航天動(dòng)力研究所,陜西 西安 710100;3.浙江大學(xué)CAD&CG國(guó)家重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310058;4.中國(guó)航天員科研訓(xùn)練中心,北京,100094;5.麗水學(xué)院工學(xué)院,浙江 麗水 323000)

        隨著當(dāng)今社會(huì)科學(xué)技術(shù)的飛速發(fā)展,復(fù)雜系統(tǒng)設(shè)計(jì)和驗(yàn)證的難度日益增大,傳統(tǒng)基于文檔的系統(tǒng)工程已遠(yuǎn)遠(yuǎn)無法滿足需要,基于模型的系統(tǒng)工程(Model-Based System Engineering,MBSE)應(yīng)運(yùn)而生,已經(jīng)受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[1-3],正成為復(fù)雜裝備系統(tǒng)設(shè)計(jì)與方案論證的不二之選[4-10]。SysML是MBSE建模實(shí)踐的標(biāo)準(zhǔn)語言[11],而活動(dòng)圖是用來表達(dá)系統(tǒng)動(dòng)態(tài)行為信息的3種核心SysML圖之一,用來表達(dá)隨著時(shí)間推移行為和事件的發(fā)生順序。目前國(guó)外的相關(guān)軟件工具有Cameo System Modeler[12]、Visual Paradigm for UML[13]、Sparx Systems Enterprise Architect[14];國(guó)內(nèi)的有內(nèi)蒙古大學(xué)的SysModeler[15]和浙江大學(xué)的M-Design[16-18]。近年來,Web化SysML工具得到了廣泛的重視,國(guó)外的GenMyModel團(tuán)隊(duì)開發(fā)了一款Web版的在線UML建模平臺(tái)。ProcessOn[19]雖然是國(guó)內(nèi)團(tuán)隊(duì)開發(fā)的專業(yè)作圖和協(xié)作平臺(tái),但是ProcessOn只支持UML部分圖的繪圖功能,不支持SysML和UML建模功能。浙江大學(xué)MBSE團(tuán)隊(duì)對(duì)桌面版軟件和Web技術(shù)進(jìn)行充分調(diào)研之后,設(shè)計(jì)和實(shí)現(xiàn)了Web版的M-Design[12,20-21]。

        筆者針對(duì)基于MBSE的圖形化系統(tǒng)工程建模軟件領(lǐng)域存在的開發(fā)工作量大、周期長(zhǎng)、對(duì)SysML標(biāo)準(zhǔn)的支持和功能完整性不足等問題,采取了模型驅(qū)動(dòng)開發(fā)(Model-Driven Development,MDD)的模式,提出了基于模型驅(qū)動(dòng)架構(gòu)Sirius的SysML活動(dòng)圖建模與仿真功能實(shí)現(xiàn)方法。

        1 活動(dòng)圖建模功能的設(shè)計(jì)與實(shí)現(xiàn)

        1.1 活動(dòng)圖建模功能總體架構(gòu)

        通過分析活動(dòng)圖建模軟件的核心問題、Sirius框架提供的環(huán)境和工具,結(jié)合用戶的需求,本文設(shè)計(jì)并實(shí)現(xiàn)了基于Sirius的活動(dòng)圖建模軟件,總體框架如圖1所示。

        圖1 活動(dòng)圖建模軟件總體架構(gòu)

        在模型層面,在充分理解活動(dòng)圖語法語義的基礎(chǔ)上使用Eclipse Ecore Tool定義M2層活動(dòng)圖的抽象語法,用于創(chuàng)建M1層活動(dòng)圖模型。在視圖層面,通過配置Styling元素規(guī)定圖形元素的外觀,用戶以Eclipse UI作為操作界面與模型層和視圖層交互。具體來說,用戶通過由屬性視圖說明(Properties View Description)定 義 的 屬 性 視 圖(Properties View)反映模型的屬性,并對(duì)屬性直接進(jìn)行修改。用戶通過Tools元素定義的一系列的動(dòng)作實(shí)現(xiàn)對(duì)圖形元素的創(chuàng)建、刪除、修改等操作。作為建模軟件的根基,模型和視圖通過Mapping元素實(shí)現(xiàn)二者的映射關(guān)系。

        1.2 定義元模型

        OMG定義的模型驅(qū)動(dòng)架構(gòu)(Model-Driven Architecture,MDA),是一種實(shí)現(xiàn)內(nèi)聚模型驅(qū)動(dòng)技術(shù)規(guī)范的重要方法和規(guī)劃。其中,UML、MOF和OMG其他相關(guān)規(guī)范通過模型創(chuàng)建與轉(zhuǎn)換在MDA中具有重要的作用。

        根據(jù)MOF四層架構(gòu)理論,本文將活動(dòng)圖建模功能在M3、M2、M1三層進(jìn)行抽象。如圖2所示:最上層M3層是由Eclipse Modeling Project提供的元模型層——Ecore層,定義了基本的建模語言用來描述類(classes)、屬性(attributes)、數(shù)據(jù)類型(data types)和關(guān)系(relations);M3層下面的M2層定義了SysML活動(dòng)圖抽象語法用于創(chuàng)建M1層活動(dòng)圖模型。之所以本文沒有抽象出M0層,是因?yàn)榛顒?dòng)圖建模軟件沒有實(shí)例層,系統(tǒng)模型的實(shí)例層通常指一個(gè)實(shí)際系統(tǒng)。

        圖2 活動(dòng)圖建模軟件抽象結(jié)構(gòu)

        活動(dòng)圖的抽象語法是使用UML活動(dòng)圖元模型定義的,該元模型使用了MOF規(guī)范中可識(shí)別、受約束、用于構(gòu)建元模型的UML子集中的構(gòu)造方法[4]。其好處在于能確保UML模型能夠保存在MOF資源庫(kù)中,在MOF資源庫(kù)中用戶可以使用MOF特征對(duì)其進(jìn)行操縱,并使用遵循MOF XMI映射規(guī)范的XML文件來進(jìn)行交換。從而實(shí)現(xiàn)MOF和UML之間的融合,促進(jìn)MDA內(nèi)部規(guī)范的一體化。

        準(zhǔn)確定義活動(dòng)圖的抽象語法主要解決了3個(gè)問題:(1)建模的正確性;(2)與外界打通,與XML格式進(jìn)行交換;(3)準(zhǔn)確定義的元模型方便仿真操作語義的擴(kuò)展。由于整個(gè)建模平臺(tái)都是對(duì)底層元模型進(jìn)行可視化,因此需要導(dǎo)入或者自定義元模型,通??梢允褂肊clipse提供的Ecore Tools進(jìn)行自定義元模型。

        如圖3所示,活動(dòng)圖的元模型可以分為5個(gè)部分:活動(dòng)、控制節(jié)點(diǎn)、對(duì)象節(jié)點(diǎn)、可執(zhí)行節(jié)點(diǎn)、活動(dòng)組。元模型作為整個(gè)建模軟件的根基,整個(gè)建模軟件需要始終保障用戶對(duì)模型的操作符合UML/SysML語法和語義約束,即提供模型正確性檢查。

        圖3 活動(dòng)圖抽象語法

        1.3 基于Sirius框架的活動(dòng)圖建模編輯器構(gòu)建

        1.3.1 SysML活動(dòng)圖具體元素創(chuàng)建

        基于Sirius進(jìn)行SysML活動(dòng)圖具體創(chuàng)建的優(yōu)勢(shì)在于:利用它提供的Viewpoint Specification Model(VSM),軟件開發(fā)人員可以正確地描述圖形編輯器的結(jié)構(gòu)、樣式和行為。為了將語義模型與模型的具體表現(xiàn)形式建立聯(lián)系,需要編輯VSM元素中的Mapping。Mapping是指用來標(biāo)識(shí)哪些語義模型元素應(yīng)該在表示中呈現(xiàn)和應(yīng)該以何種表現(xiàn)形式呈現(xiàn)映射關(guān)系。不同的表示提供了不同類型的映射。雖然映射存在于VSM里面,但在具體的表示中將生成新的實(shí)例。基于元模型,Sirius提出將以下4種表現(xiàn)形式進(jìn)行可視化:

        1)Node:不包含子對(duì)象的元素。

        2)Border Node:在形態(tài)上可以附著在其他Container上用來表示某種關(guān)系。

        3)Container:包含子對(duì)象的元素。

        4)Relation:可視化兩個(gè)對(duì)象之間的關(guān)系的元素。

        為了規(guī)定節(jié)點(diǎn)是如何在圖上展示的,需要聲明一個(gè)樣式(Style),如圖4所示。而對(duì)于7種控制節(jié)點(diǎn),樣式也截然不同,為了達(dá)到根據(jù)模型元素判定樣式的目的,基于Sirius提供的Conditional Style組件和AQL語句來實(shí)現(xiàn)以模型元素為條件進(jìn)行樣式判定,如圖5所示。

        圖4 樣式選擇界面

        圖5 Conditional Style組件

        1.3.2 動(dòng)態(tài)行為的定義

        對(duì)于圖形元素,一般均要進(jìn)行增刪改操作。筆者擬基于Sirius框架提供的工具(Tools)來實(shí)現(xiàn)。筆者以創(chuàng)建ControlNode中的InitialNode為例來說明如何運(yùn)用一個(gè)創(chuàng)建新節(jié)點(diǎn)的工具。InitialNode創(chuàng)建工具的樹級(jí)層次的總覽,如圖6所示。

        圖6 InitialNode創(chuàng)建工具總覽

        首先通過對(duì)InitialNode的語義進(jìn)行分析,根據(jù)UML2規(guī)范,InitialNode可以創(chuàng)建在Activity、StructuredActivityNode、ActivityPartition里面,對(duì)于不同的外層元素,需要采取不同的操作,從而使元素的創(chuàng)建符合語義;其次使用Sirius框架提供的If操作,它會(huì)在當(dāng)前上下文中計(jì)算條件表達(dá)式,當(dāng)結(jié)果為“真”的時(shí)候,才會(huì)執(zhí)行包含的子操作。例如當(dāng)外層元素的模型元素是uml.ActivityPartition的時(shí)候,將調(diào)用findParentActivity方法,遞歸尋找父級(jí)元素(圖7)并將上下文改為父級(jí)元素,繼續(xù)創(chuàng)建uml.InitialNode模型元素。

        圖7 findParentActivity()代碼實(shí)現(xiàn)

        這里如何保持語義一致性是一個(gè)關(guān)鍵問題。為此,將頂層元素的ownedNode屬性設(shè)置為當(dāng)前InitialNode,再通過Create Instance操作在用戶模型中添加一個(gè)新的模型元素而完成,其操作配置細(xì)節(jié)如圖8所示。

        圖8 Create Instanc操作的配置細(xì)節(jié)

        2 SysML活動(dòng)圖仿真功能的設(shè)計(jì)與實(shí)現(xiàn)

        SysML模型仿真整體上可以分為3個(gè)范疇:模型執(zhí)行、模型調(diào)試和模型測(cè)試。模型執(zhí)行是其中的核心和基礎(chǔ)步驟。為了調(diào)試和測(cè)試模型,首先要使得模型變得可以執(zhí)行,也就是為模型定義操作語義。

        2.1 基于運(yùn)行概念的活動(dòng)圖仿真操作語義設(shè)計(jì)

        1.3.1 節(jié)所述,定義SysML活動(dòng)圖模型的目的并不是為了被執(zhí)行,所以缺乏完整的、精確的操作語義。操作語義包含2個(gè)部分:(1)運(yùn)行時(shí)概念(runtime concepts):捕獲執(zhí)行模型的狀態(tài);(2)計(jì)算步驟(steps of computation):活動(dòng)圖元素遵循的演繹規(guī)則,即可執(zhí)行模型是如何從一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)換的。本節(jié)通過對(duì)元模型的抽象語法進(jìn)行刪減和必要的擴(kuò)展來定義正在執(zhí)行模型的狀態(tài)——運(yùn)行時(shí)概念,并對(duì)其計(jì)算步驟進(jìn)行設(shè)計(jì)。

        圖9展現(xiàn)了活動(dòng)圖的運(yùn)行時(shí)概念。運(yùn)行時(shí)概念用灰色表示,普通元類用白色表示。筆者將運(yùn)行時(shí)概念分為以下4類:(1)活動(dòng)節(jié)點(diǎn)之間的令牌流(token flow);(2)變量的當(dāng)前值;(3)活動(dòng)圖的運(yùn)行軌跡;(4)活動(dòng)圖的輸入值。

        圖9 運(yùn)行時(shí)概念的抽象語法

        當(dāng)所有被需要的控制令牌都能夠通過輸入控制流得到,則活動(dòng)節(jié)點(diǎn)被執(zhí)行。當(dāng)活動(dòng)節(jié)點(diǎn)執(zhí)行完成之后,控制令牌通過輸出控制流傳遞給接下來的節(jié)點(diǎn)。運(yùn)行時(shí)概念令牌(Token)和其子類ControlToken、ForkedToken定義了在執(zhí)行過程中令牌如何被表示。因此,F(xiàn)orkedToken來源于ForkNode的執(zhí)行,將一個(gè)控制流分為多個(gè)并行流。令牌通常情況下歸屬于活動(dòng)節(jié)點(diǎn)(作為ActivityNode的heldTokens引用),通過活動(dòng)邊傳遞給后續(xù)節(jié)點(diǎn)(作為ActivityEdge的offers引用)。令牌傳遞的表示是由運(yùn)行時(shí)概念Offer來定義。

        活動(dòng)的Variables由初始值進(jìn)行初始化(作為Variable的InitialValue引用),如果變量的值發(fā)生改變則被設(shè)置為變量的當(dāng)前值(Variable的currentValue引用)。變量的當(dāng)前值會(huì)在活動(dòng)執(zhí)行過程中隨著OpaqueAction的執(zhí)行而更新。為了能夠捕捉活動(dòng)圖運(yùn)行軌跡信息,定義運(yùn)行時(shí)概念“Trace”用來維護(hù)執(zhí)行過的活動(dòng)節(jié)點(diǎn)的有序列表(作為executedNodes引用)。

        對(duì)于活動(dòng)的輸入變量(Activity的inputs引用),定義運(yùn)行時(shí)概念I(lǐng)nput和InputValue來表示活動(dòng)的執(zhí)行需要處理的輸入值。

        定義運(yùn)行時(shí)概念是對(duì)活動(dòng)圖元模型的擴(kuò)展,例如新增屬性、引用擴(kuò)展元模型中的元類或者在元模型中新增元類。在接下來的計(jì)算步驟設(shè)計(jì)中,將直接把運(yùn)行時(shí)概念引入到活動(dòng)圖元模型中。

        2.2 計(jì)算步驟設(shè)計(jì)

        活動(dòng)圖的計(jì)算步驟設(shè)計(jì)流程如圖10所示,定義如下:

        圖10 活動(dòng)圖計(jì)算步驟設(shè)計(jì)的流程圖

        1)變量初始化:活動(dòng)接收輸入值(元類InputValue)根據(jù)輸入值初始化當(dāng)前值(Variable的currentValue引用),局部變量的當(dāng)前值也根據(jù)輸入值進(jìn)行初始化(Variable的initialValue引用)。

        2)將活動(dòng)節(jié)點(diǎn)設(shè)為運(yùn)行狀態(tài)(Running),該活動(dòng)節(jié)點(diǎn)包含的所有節(jié)點(diǎn)都被設(shè)為運(yùn)行狀態(tài)(Running)(ActivityNode的running屬性)。

        3)執(zhí)行初始節(jié)點(diǎn):活動(dòng)的初始節(jié)點(diǎn)被設(shè)置為執(zhí)行狀態(tài)(Executed)。執(zhí)行初始節(jié)點(diǎn)包含以下幾個(gè)步驟:

        a.創(chuàng)建一個(gè)控制令牌。

        b.將該控制令牌傳遞給初始節(jié)點(diǎn)(ActivityNode的heldTokes引用)。

        c.通過輸出控制流將該控制令牌傳遞給后續(xù)節(jié)點(diǎn)(ActivityEdge的offers引用)。每一個(gè)活動(dòng)有且只有一個(gè)初始節(jié)點(diǎn)。

        4)判定后續(xù)的激活節(jié)點(diǎn):當(dāng)某個(gè)活動(dòng)節(jié)點(diǎn)被設(shè)置為運(yùn)行狀態(tài)且所有輸入控制流都提供令牌時(shí),該節(jié)點(diǎn)被激活。如果是MergeNode,僅僅需要其中一個(gè)輸入控制流提供令牌,就可以被激活。

        5)選擇和執(zhí)行激活節(jié)點(diǎn):需要從所有激活節(jié)點(diǎn)中選擇一個(gè)執(zhí)行,執(zhí)行一個(gè)激活節(jié)點(diǎn)可以分為以下3步:

        a.消費(fèi)令牌。所有通過輸入控制流提供的令牌都被消費(fèi)掉,對(duì)于輸入控制流來說,ActivityEdge的offers引用被置空。在消費(fèi)控制令牌時(shí),控制令牌從前序節(jié)點(diǎn)移除掉(ActivityNode的heldToken引用)。在消費(fèi)ForkedToken時(shí),F(xiàn)orkedToken的剩余提供令牌數(shù)減去1(remaining OfferCount),只有當(dāng)剩余提供令牌數(shù)等于零的時(shí)候(ForkedToken的每一個(gè)后續(xù)節(jié)點(diǎn)都處理完ForkedToken),F(xiàn)orkedToken才被移除掉。

        b.執(zhí)行節(jié)點(diǎn)的行為。消費(fèi)令牌之后,根據(jù)節(jié)點(diǎn)的類型,不同的節(jié)點(diǎn)行為將被執(zhí)行。在某些情況下,可能會(huì)產(chǎn)生新的控制令牌,添加給當(dāng)前節(jié)點(diǎn)(ActivityNode的heldTokes屬性),并通過節(jié)點(diǎn)的輸出控制流傳遞給后續(xù)節(jié)點(diǎn)。

        c.記錄運(yùn)行軌跡。執(zhí)行完的節(jié)點(diǎn)會(huì)被添加到活動(dòng)維護(hù)的Trace引用中。

        不同活動(dòng)節(jié)點(diǎn)的行為語義定義如下:

        a.OpequeActions:OpequeAction中定義的表達(dá)式將按照順序執(zhí)行。表達(dá)式的語義包括將定義的運(yùn)算符運(yùn)用到操作變量上,并將結(jié)果賦給當(dāng)前值變量。在執(zhí)行完所有的表達(dá)式之后,針對(duì)每一個(gè)輸出控制流都創(chuàng)建一個(gè)控制令牌,并傳遞給后續(xù)節(jié)點(diǎn)。

        b.ForkNode:ForkNode針對(duì)每一個(gè)輸入令牌都會(huì)創(chuàng)建一個(gè)ForkedToken,F(xiàn)orkedToken的baseToken引用指向該輸入令牌;創(chuàng)建的ForkedToken都由輸出控制流傳遞給后續(xù)節(jié)點(diǎn)。

        c.DecisionNode:DecisionNode會(huì)判斷輸出控制流的守衛(wèi)條件是否滿足,而輸入令牌會(huì)提供給守護(hù)條件滿足的邊。需要注意的是:只有一個(gè)守護(hù)條件能夠被滿足。

        d.JoinNode和MergeNode:JoinNode和MergeNode會(huì)把輸入令牌提供給所有的輸出控制流。

        e.ActivityFinalNode:ActivityFinalNode會(huì)終止包含它的活動(dòng)的執(zhí)行,活動(dòng)中所有節(jié)點(diǎn)都被設(shè)置為終止。

        6)重復(fù)第四步和第五步直到終止,也就是沒有活動(dòng)節(jié)點(diǎn)處于激發(fā)狀態(tài)。

        3 實(shí)例分析

        研究目標(biāo)主要包括SysML活動(dòng)圖建模與仿真操作的語義設(shè)計(jì)與實(shí)現(xiàn)。在建模方面,支持用戶通過該軟件,以圖形的形式與系統(tǒng)進(jìn)行交互,最終完成活動(dòng)圖的建模工作。本節(jié)將通過多個(gè)案例對(duì)提出的方法進(jìn)行驗(yàn)證。

        首先以一個(gè)支付活動(dòng)為樣例來驗(yàn)證活動(dòng)圖建模平臺(tái)的基礎(chǔ)功能和建模功能,該支付活動(dòng)涵蓋了活動(dòng)圖建模所需要的所有基本元素和功能。圖11是一個(gè)活動(dòng)圖,它描述了用戶注冊(cè)銀行賬戶并完成支付的活動(dòng)。圖中將該活動(dòng)分為兩個(gè)子活動(dòng):用戶注冊(cè)活動(dòng)和支付相關(guān)活動(dòng)。賬號(hào)分為兩種:內(nèi)部賬號(hào)和外部(普通)賬號(hào)。內(nèi)部賬戶的支付流程更加復(fù)雜,需要經(jīng)理進(jìn)行審批和提交。圖中使用了活動(dòng)分區(qū)/泳道將兩個(gè)子活動(dòng)分配到不同的結(jié)構(gòu):用戶和銀行。不同動(dòng)作之間使用Pin、Pout作為輸入輸出,Pin接收控制流(ControlFlow),Pout輸出控制流。該支付活動(dòng)定義了兩個(gè)變量:類型為Boolean的輸入變量internal和局部變量external。局部變量external初始化值為false。另外,活動(dòng)包括:1個(gè)初始節(jié)點(diǎn)、1個(gè)決定節(jié)點(diǎn)、1個(gè)分支節(jié)點(diǎn)、1個(gè)集合節(jié)點(diǎn)、1個(gè)合并節(jié)點(diǎn)、1個(gè)活動(dòng)終止節(jié)點(diǎn)、2個(gè)活動(dòng)分區(qū)及由15個(gè)控制流邊連接的8個(gè)不透明動(dòng)作。同時(shí)不透明動(dòng)作register定義了一個(gè)表達(dá)式,external!=internal,決定節(jié)點(diǎn)的輸出邊定義了兩個(gè)變量作為守護(hù)條件。為驗(yàn)證上述支付系統(tǒng)活動(dòng)圖的正確性,筆者設(shè)計(jì)了單元測(cè)試,具體包括兩部分:針對(duì)外部賬戶和內(nèi)部賬戶 執(zhí)行路徑。部分單元測(cè)試代碼如圖12所示。

        圖11 支付系統(tǒng)活動(dòng)圖

        圖12 部分單元測(cè)試代碼

        最后進(jìn)行運(yùn)行,其測(cè)試結(jié)果如圖13所示。由圖13可知,仿真過程顯示其設(shè)計(jì)正確。

        圖13 支付系統(tǒng)活動(dòng)圖仿真測(cè)試結(jié)果

        為了更充分地驗(yàn)證本活動(dòng)圖建模軟件對(duì)不同元素的支持,用圖14所示的活動(dòng)圖進(jìn)一步驗(yàn)證。這是《SysML精粹》第六章執(zhí)行Hohmann轉(zhuǎn)換的活動(dòng)。Hohmann轉(zhuǎn)換是將飛船從較低軌道送往較高軌道通常使用的方法。當(dāng)衛(wèi)星在兩個(gè)相同軌道面且軌道半徑比例相差不大的圓形軌道間時(shí),Hohmann轉(zhuǎn)換是最省燃料的軌道轉(zhuǎn)換方式。

        圖14 Hohmann轉(zhuǎn)換活動(dòng)圖

        利用本活動(dòng)圖建模軟件對(duì)流式遙測(cè)活動(dòng)進(jìn)行建模,技術(shù)活動(dòng)圖如圖15所示。該活動(dòng)的關(guān)鍵在于合并節(jié)點(diǎn)。在該活動(dòng)中,觸發(fā)Create Virtual Channel Frame活動(dòng)的3個(gè)調(diào)用行為動(dòng)作會(huì)并發(fā)執(zhí)行,它們彼此獨(dú)立輸出類型為Virtual Channel Frame的對(duì)象令牌,這些令牌將先后到達(dá)合并節(jié)點(diǎn),每個(gè)令牌到達(dá)之后會(huì)立刻提供給輸出邊,并作為緊接動(dòng)作的輸出。此動(dòng)作將繼續(xù)輸出類型為Transfer Frame的單個(gè)令牌流。

        圖15 流式遙測(cè)技術(shù)活動(dòng)圖

        4 總結(jié)

        筆者提出了基于Sirius框架的SysML活動(dòng)圖建模和仿真的功能設(shè)計(jì)與實(shí)現(xiàn)方法,主要工作與創(chuàng)新如下:

        1)提出了基于MDD的SysML活動(dòng)圖建模與仿真功能開發(fā)方法。通過MOF四層結(jié)構(gòu)將活動(dòng)圖進(jìn)行不同級(jí)別的抽象,再通過映射方法將通用的活動(dòng)圖元模型轉(zhuǎn)換成與實(shí)現(xiàn)技術(shù)特性相關(guān)的平臺(tái)特定模型,進(jìn)而利用EMF生成可執(zhí)行代碼。該方法減少了軟件實(shí)現(xiàn)中的失誤,大大減輕了開發(fā)工作量,提高了開發(fā)效率。

        2)提出了基于Sirius框架的活動(dòng)圖建模、視圖以及建模與視圖之間交互等語義的實(shí)現(xiàn)方法,能完整支持活動(dòng)圖語義的建模,滿足活動(dòng)圖建模的基本要求。

        3)設(shè)計(jì)并實(shí)現(xiàn)了一套活動(dòng)圖操作語義,在保證仿真功能完備性的前提下,對(duì)活動(dòng)圖元模型中無用的語義進(jìn)行了刪減,保證了仿真引擎的輕量化。

        下一步工作是對(duì)活動(dòng)圖的高級(jí)建模功能,如支持多用戶協(xié)同操作與歷史版本管理、活動(dòng)圖模型的測(cè)試與調(diào)試等,進(jìn)行深入研究與開發(fā),真正實(shí)現(xiàn)MBSE工業(yè)軟件的國(guó)產(chǎn)替代。

        猜你喜歡
        語義定義活動(dòng)
        “六小”活動(dòng)
        “活動(dòng)隨手拍”
        行動(dòng)不便者,也要多活動(dòng)
        中老年保健(2021年2期)2021-08-22 07:31:10
        語言與語義
        三八節(jié),省婦聯(lián)推出十大系列活動(dòng)
        海峽姐妹(2018年3期)2018-05-09 08:20:40
        “上”與“下”語義的不對(duì)稱性及其認(rèn)知闡釋
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        認(rèn)知范疇模糊與語義模糊
        修辭學(xué)的重大定義
        山的定義
        久久aⅴ无码av免费一区| 国产精品亚洲在线播放| 日本不卡视频一区二区三区| 久久夜色国产精品噜噜亚洲av | 美女扒开大腿让男人桶| 免费无遮挡禁18污污网站| 久久精品亚洲乱码伦伦中文| 欧美日韩区1区2区3区| 国产不卡一区在线视频| 漂亮人妻出轨中文字幕| 久久婷婷五月国产色综合| 亚洲乱码日产精品bd| 久久一区二区三区四区| 天堂av一区二区麻豆| 久久九九精品国产av| 精品无码久久久久久国产| 成年人黄视频大全| 亚洲一区二区三在线播放| 自拍成人免费在线视频| 久久精品www人人爽人人| 国产欧美一区二区精品性色| 人妻系列无码专区久久五月天| 日韩一区二区av伦理| 无码乱肉视频免费大全合集| 亚洲日韩中文字幕一区| 国产亚洲欧美精品一区| 9l国产自产一区二区三区| 久久99精品久久久久久清纯| 久久精品国产亚洲av大全| 亚洲中文字幕乱码免费| 亚洲精品国产av成拍色拍 | 蜜臀性色av免费| 五月天精品视频在线观看| 亚洲日本VA午夜在线电影| 99久久精品人妻少妇一| 天堂中文最新版在线中文| 国产人成精品综合欧美成人| 亚洲乱码中文字幕综合| 亚洲成人av在线第一页| 精品国产一区二区三区av片| 国产激情久久99久久|