杜德慧 , 管春琳 , 王 耀 , 郭 童
1(華東師范大學(xué) 軟件工程學(xué)院,上海 200062)2(上海市高可信重點(diǎn)實(shí)驗(yàn)室(華東師范大學(xué)),上海 200062)3(教育部可信軟件國(guó)際合作聯(lián)合實(shí)驗(yàn)室(華東師范大學(xué)),上海 200062)
信息物理融合系統(tǒng)(cyber physical system,簡(jiǎn)稱CPS)[1]是一類綜合計(jì)算、網(wǎng)絡(luò)和物理環(huán)境的復(fù)雜異構(gòu)系統(tǒng),深度融合了計(jì)算進(jìn)程和物理進(jìn)程的統(tǒng)一體,是集計(jì)算、通信與控制于一體的下一代智能系統(tǒng),在健康醫(yī)療、智能交通、航空電子、智慧城市等領(lǐng)域有著廣泛的應(yīng)用前景和發(fā)展空間.CPS 具有兩個(gè)顯著特征:1) 隨機(jī)性:CPS運(yùn)行在開放的環(huán)境中,不確定的運(yùn)行環(huán)境(例如網(wǎng)絡(luò)延遲、物理設(shè)備、信號(hào)干擾)以及用戶行為造成CPS 的行為具有隨機(jī)性;2) 混成性:CPS 是異構(gòu)的混成系統(tǒng),融合了連續(xù)的物理過程和離散的系統(tǒng)行為.CPS 的新特征對(duì)傳統(tǒng)的軟件開發(fā)方法提出了新的問題及挑戰(zhàn).本文重點(diǎn)討論如何以模型驅(qū)動(dòng)的方式開發(fā)CPS,構(gòu)建CPS 的領(lǐng)域模型,并仿真、分析系統(tǒng)的隨機(jī)、混成行為.
以領(lǐng)域模型(domain model)為基礎(chǔ)的模型驅(qū)動(dòng)工程(model-driven engineering,簡(jiǎn)稱MDE)[2]已經(jīng)成功應(yīng)用于多種領(lǐng)域的軟件開發(fā).復(fù)雜、異構(gòu)的CPS 系統(tǒng)如航空航天、智能交通、智能電網(wǎng)、智慧城市等的開發(fā)需要來自不同領(lǐng)域的專家對(duì)系統(tǒng)的不同方面進(jìn)行設(shè)計(jì)與分析.與傳統(tǒng)軟件開發(fā)方法相比,MDE 更關(guān)注于如何使用抽象建模技術(shù)降低系統(tǒng)復(fù)雜性,提高軟件開發(fā)的質(zhì)量和效率.領(lǐng)域特定建模語言(domain-specific modeling language,簡(jiǎn)稱DSML)為構(gòu)建領(lǐng)域模型奠定了基礎(chǔ),被廣泛應(yīng)用于構(gòu)造特定領(lǐng)域的系統(tǒng)模型[3].領(lǐng)域模型抽取了該領(lǐng)域中的關(guān)鍵概念、知識(shí),并建立了這些概念之間的關(guān)系、約束,它更接近人們的認(rèn)知,更加方便專家和系統(tǒng)設(shè)計(jì)人員之間進(jìn)行溝通、交流.因此在MDE 社區(qū)中,越來越多的開發(fā)人員選擇創(chuàng)建面向特定領(lǐng)域的建模語言,幫助其構(gòu)建特定的領(lǐng)域模型[3-5].與標(biāo)準(zhǔn)的統(tǒng)一建模語言UML[6]不同,領(lǐng)域建模語言DSML 能夠借助特定領(lǐng)域的知識(shí)構(gòu)建系統(tǒng)的領(lǐng)域模型,支持以模型驅(qū)動(dòng)的方式開發(fā)特定的應(yīng)用系統(tǒng),提高軟件開發(fā)的質(zhì)量和效率.然而,目前面向CPS領(lǐng)域的建模語言仍然不夠成熟,缺乏面向CPS 的領(lǐng)域建模語言.另一方面,CPS 的混成行為特征對(duì)傳統(tǒng)的仿真方法提出了挑戰(zhàn).傳統(tǒng)仿真方法通常是選用領(lǐng)域特定的解決方案和工具來滿足特定的仿真需求,然而在CPS 系統(tǒng)中,針對(duì)計(jì)算實(shí)體所描述的離散行為,需要采用基于事件驅(qū)動(dòng)的離散事件系統(tǒng)對(duì)其進(jìn)行仿真建模;而其物理實(shí)體所刻畫的基于連續(xù)時(shí)間域上的物理量變化,需要采用基于連續(xù)時(shí)間的仿真建模.在工程中,分別采用特定的仿真工具對(duì)離散事件系統(tǒng)或連續(xù)系統(tǒng)建模、仿真,如Simulink[7].CPS 仿真的困難之處在于如何有效融合異構(gòu)仿真工具,實(shí)現(xiàn)混成行為的協(xié)同仿真.
本文的主要貢獻(xiàn)包括以下3 個(gè)方面.
(1) 根據(jù)CPS 的領(lǐng)域特征,提出一種面向CPS 行為的隨機(jī)混成建模語言(stochastic hybrid modeling language,簡(jiǎn)稱SHML).根據(jù)CPS 行為特征,定義了SHML 的抽象語法、具體語法及操作語義;
(2) 基于GEMOC 平臺(tái)實(shí)現(xiàn)了該領(lǐng)域建模語言,支持用戶基于GEMOC 創(chuàng)建SHML 模型;
(3) 集成GEMOC 的順序執(zhí)行引擎和Scilab 的連續(xù)行為仿真引擎,支持仿真SHML 模型,實(shí)現(xiàn)仿真CPS 的混成行為,幫助設(shè)計(jì)人員分析模型的執(zhí)行軌跡.
總之,我們的工作提出了一種模型驅(qū)動(dòng)式CPS 建模及仿真方法,設(shè)計(jì)、實(shí)現(xiàn)了一種面向CPS 的領(lǐng)域建模語言,能夠支持建模CPS 的隨機(jī)、混成行為.此外,集成離散與連續(xù)行為的仿真器,實(shí)現(xiàn)CPS 混成行為的仿真,為設(shè)計(jì)人員提供了一個(gè)集成的、面向CPS 的建模與仿真平臺(tái),能夠有效支持CPS 的建模與仿真分析.
本文第1 節(jié)介紹模型驅(qū)動(dòng)、領(lǐng)域建模方法,并介紹GEMOC 及支持連續(xù)行為仿真的Scilab 工具,為CPS 領(lǐng)域建模、仿真提供基礎(chǔ).第2 節(jié)介紹面向CPS 領(lǐng)域的隨機(jī)混成建模語言SHML,重點(diǎn)討論其語法及語義模型,并介紹如何基于GEMOC 技術(shù)框架實(shí)現(xiàn)SHML 建模語言.第3 節(jié)介紹SHML 的仿真方法,提出將Scilab 的ODE求解器與GEMOC 的執(zhí)行引擎集成在一起,實(shí)現(xiàn)CPS 混成行為的仿真.第4 節(jié)進(jìn)行詳細(xì)案例分析,結(jié)合溫控系統(tǒng)的案例,展現(xiàn)領(lǐng)域建模語言SHML 的建模能力,并基于本文所提出的仿真方法對(duì)溫控系統(tǒng)的SHML 模型進(jìn)行仿真.最后總結(jié)全文,并對(duì)未來值得關(guān)注的研究方向進(jìn)行初步探討.
對(duì)象管理組織(object management group,簡(jiǎn)稱OMG)[8]提出模型驅(qū)動(dòng)架構(gòu)(model-driven architecture,簡(jiǎn)稱MDA),其目標(biāo)是將軟件的開發(fā)行為提升到更高的抽象層次——模型層.以模型驅(qū)動(dòng)的方式開發(fā)軟件,整個(gè)開發(fā)過程中產(chǎn)生的核心制品是模型,從需求分析、設(shè)計(jì)實(shí)現(xiàn)到最終的代碼生成,每個(gè)階段的模型制品可借助模型轉(zhuǎn)換工具,實(shí)現(xiàn)不同抽象層次的模型之間的轉(zhuǎn)換,最終將系統(tǒng)的模型映射生成C++或者Java 代碼等.模型驅(qū)動(dòng)軟件開發(fā)方法已經(jīng)被廣泛應(yīng)用于大規(guī)模、復(fù)雜軟件系統(tǒng)的開發(fā).與其他軟件開發(fā)方法相比,模型驅(qū)動(dòng)開發(fā)方法更加關(guān)注領(lǐng)域知識(shí),構(gòu)造領(lǐng)域模型(domain models).其優(yōu)勢(shì)在于:使用更接近于人的理解和認(rèn)知的可視化模型,有利于設(shè)計(jì)人員將注意力集中于分析業(yè)務(wù)邏輯,而不用過早地考慮與平臺(tái)相關(guān)的底層實(shí)現(xiàn)細(xì)節(jié).領(lǐng)域建模語言[9]與通用的建模語言相比更聚焦于某一特定問題,更加面向領(lǐng)域問題本身,能夠幫助領(lǐng)域?qū)<一蛳到y(tǒng)開發(fā)人員使用更恰當(dāng)、與領(lǐng)域知識(shí)相關(guān)的語言及工具來建模復(fù)雜的領(lǐng)域模型.
領(lǐng)域建模語言的語法用于描述怎樣刻畫模型,并且規(guī)定了模型元素之間的約束關(guān)系.語義的作用是描述模型到底具有怎樣的含義,是模型執(zhí)行、仿真的基礎(chǔ).語法又分為抽象語法(abstract syntax)和具體語法(concrete syntax),抽象語法通常由元模型(metamodel)來描述,刻畫了該領(lǐng)域的關(guān)鍵建模元素(領(lǐng)域概念)及建模元素之間的關(guān)系.此外,元模型的定義需要遵循對(duì)象管理組織OMG 提出的元建模標(biāo)準(zhǔn)MOF(meta-object facility)[10],因此,在設(shè)計(jì)領(lǐng)域建模語言的元模型時(shí)需要根據(jù)MOF 的規(guī)定,定義建模元素之間的關(guān)系.Eclipse 的建??蚣?eclipse modeling framework,簡(jiǎn)稱EMF)提供了元模型的基礎(chǔ)設(shè)施,受到了工業(yè)界和學(xué)術(shù)界的廣泛認(rèn)可.EMF 提供的元語言Ecore 提供了構(gòu)建DSML 元模型的基本建模元素,我們可以使用Ecore 靈活地定義面向CPS 的領(lǐng)域建模語言的元模型.
目前,領(lǐng)域建模工具平臺(tái)的典型代表性是GEMOC 建模框架[11,12],由法國(guó)INRIA 開發(fā)的基于Eclipse 的開源建??蚣?旨在為開發(fā)、集成、使用基于EMF 的DSML 提供技術(shù)支持.該框架提供了通用的接口,可用于集成與特定DSML 相關(guān)聯(lián)的執(zhí)行引擎[12].GEMOC 框架中集成了各種建模技術(shù)及工具(包括EMF,Ecore,Xtext,Sirius),并且提供了一個(gè)執(zhí)行引擎以支持模型執(zhí)行、調(diào)試、模擬等功能.GEMOC 框架由兩個(gè)平臺(tái)組成——語言平臺(tái)(language workbench)和建模平臺(tái)(modeling workbench):語言平臺(tái)為語言設(shè)計(jì)人員設(shè)計(jì)DSML 或組合各種DSML 提供支撐,而建模平臺(tái)為系統(tǒng)的建模人員提供模型的創(chuàng)建、執(zhí)行與協(xié)同功能.同時(shí),通過使用基于Ecore元模型實(shí)現(xiàn)領(lǐng)域建模語言的操作語義,使得領(lǐng)域建模語言具有可執(zhí)行性.目前,GEMOC 的執(zhí)行引擎只能支持仿真具有離散語義的模型,而無法支持仿真連續(xù)行為.因此,GEMOC 的執(zhí)行引擎無法直接實(shí)現(xiàn)混成行為的仿真,需要對(duì)其執(zhí)行引擎進(jìn)行擴(kuò)展,使其支持混成行為的仿真.幸運(yùn)的是,GEMOC 框架提供了通用的接口用于集成特定領(lǐng)域建模語言的執(zhí)行引擎,可以直接集成支持仿真連續(xù)行為的執(zhí)行引擎.
Scilab 是一款專注于數(shù)值計(jì)算的開源軟件,其歷史可以追溯到上世紀(jì)80 年代由INRIA 開發(fā)的計(jì)算輔助系統(tǒng)Blaise[13,14].Scilab 的主要功能包括數(shù)值計(jì)算、數(shù)據(jù)可視化、算法設(shè)計(jì)、開發(fā)及應(yīng)用部署,其涉及的主要應(yīng)用領(lǐng)域包括數(shù)學(xué)、統(tǒng)計(jì)、信號(hào)處理及控制系統(tǒng)領(lǐng)域.在計(jì)算結(jié)果可視化方面,Scilab 能通過各種plot函數(shù)繪制圖形,主要包括二維圖形和三維圖形,而且能夠根據(jù)用戶設(shè)定的參數(shù)生成滿足特定需求的圖形,具有方便、靈活的特點(diǎn).Scilab 的仿真器能夠有效支持連續(xù)行為的仿真,因此可以將其集成到GEMOC 執(zhí)行引擎中.
本節(jié)重點(diǎn)介紹一種面向CPS 的領(lǐng)域建模語言SHML,用于建模CPS 的混成行為及隨機(jī)行為.首先給出SHML 語言的元模型用于定義SHML 的抽象語法,用于描述建模CPS 所必須的建模元素并規(guī)約建模元素之間的約束關(guān)系;其次定義SHML 的操作語義規(guī)則,為模型的仿真執(zhí)行提供語義支撐;最后,基于GEMOC 框架實(shí)現(xiàn)可視化的領(lǐng)域建模語言SHML,并為模型設(shè)計(jì)者提供一個(gè)面向CPS 的領(lǐng)域建模、仿真平臺(tái).
為了建模混成、隨機(jī)的CPS 行為,我們根據(jù)CPS 的領(lǐng)域特征抽象出CPS 領(lǐng)域建模語言中所必須包含的建模元素,并在此基礎(chǔ)上定義了SHML 的元模型,用以表示其抽象語法.具體地,CPS 的行為具有混成性,即包括離散與連續(xù)行為,因此,面向CPS 的領(lǐng)域建模語言應(yīng)該能夠有效地支持建模系統(tǒng)的混成行為.此外,隨機(jī)性也是CPS的另一重要特性.通常,CPS 運(yùn)行在開放的環(huán)境中,會(huì)受到外界環(huán)境中不確定性因素(如環(huán)境干擾、物理噪聲、信號(hào)的延遲)的影響;同時(shí),人與CPS 系統(tǒng)的交互頻繁,而人的行為難以預(yù)測(cè),具有不確定性.這些不確定因素導(dǎo)致CPS 的系統(tǒng)行為具有隨機(jī)性,因此需要使用特定的建模元素建模系統(tǒng)的混成行為及隨機(jī)行為.
根據(jù)MOF 標(biāo)準(zhǔn)的規(guī)定,我們使用Ecore 元語言定義的SHML 元模型如圖1 所示,圖中的各個(gè)類分別對(duì)應(yīng)著CPS 領(lǐng)域中與行為密切相關(guān)的抽象概念.其中,
· 類System 表示一個(gè)SHML 模型,其組成元素包括TSHS(timed stochastic hybrid statechart)、全局變量(global variable)、全局時(shí)鐘(global clock)及全局事件(global event);
· 全局變量代表了CPS 中物理部件所涉及到的物理變量;
· 時(shí)鐘表示系統(tǒng)中涉及到的時(shí)間事件;
· 全局事件表示各組件之間的同步通信;
· 在元模型中,System 可包含多個(gè)TSHS 用于建模系統(tǒng)中多個(gè)并發(fā)組件的行為.一個(gè)TSHS 由狀態(tài)(state)、遷移(transition)、局部變量(local variable)、局部時(shí)鐘(local clock)及常微分方程(ordinary differential equation,簡(jiǎn)稱ODE)組成.通常,TSHS 模型包含一個(gè)初始狀態(tài)(initial state).當(dāng)遷移使能時(shí),系統(tǒng)將從源狀態(tài)遷移到目標(biāo)狀態(tài).在某個(gè)狀態(tài)處,可以使用一個(gè)常微分方程ODE 等式建模該狀態(tài)處的連續(xù)物理變化過程,這種從屬關(guān)系由關(guān)聯(lián)關(guān)系(slaveode)表示;
· 常微分方程ODE 由函數(shù)(function)、約束條件(condition)以及求解區(qū)間(interval)組成.函數(shù)由自變量(IndeVariable)、因變量(DeVariable)、函數(shù)右式(fright)組成.例如,一個(gè)常微分方程為y′=y2-2×sin(x)+cos(x),其自變量為x,因變量為y,而函數(shù)右式為y2-2×sin(x)+cos(x);
· 約束條件是函數(shù)求解的一些限制條件,通常是包含函數(shù)變量的等式或不等式;函數(shù)的求解區(qū)間定義了函數(shù)自變量的取值范圍.在這里,我們定義了一個(gè)簡(jiǎn)單且常用的ODE 形式,它包括函數(shù)、約束條件及求解區(qū)間,足夠支持建模系統(tǒng)的連續(xù)行為.注意:為了在仿真階段直接集成Scilab ODE 的求解器,我們采用的ODE 的形式與Scilab 中使用的ODE 類型是一致的,以支持使用Scilab 對(duì)SHML 模型中的連續(xù)行為進(jìn)行仿真;
· 為了建模系統(tǒng)的隨機(jī)行為,我們提出在SHML 元模型中使用概率遷移表示遷移發(fā)生的概率,如圖1 所示.矩形表示遷移類(transition),是一個(gè)抽象類,有兩個(gè)子類——普通遷移(ComTransition)及概率遷移(ProbTransition).與普通遷移不同,概率遷移有一個(gè)額外的概率屬性(probability),它是一個(gè)介于0 和1 之間的實(shí)數(shù),表示該遷移能被觸發(fā)的概率值.需要注意的是:從同一源狀態(tài)出發(fā)的概率遷移的概率之和為1.衛(wèi)士條件(guard)是遷移類的組成部分,有3 種具體的類型——時(shí)序條件、事件條件、變量條件.其中,時(shí)序條件與特定的時(shí)鐘onclock 關(guān)聯(lián),事件條件與特定的事件onevent 關(guān)聯(lián),變量條件與特定的物理變量onvariable 關(guān)聯(lián).
以上建模元素以及它們之間的關(guān)系形成了SHML 元模型的主體部分.此外,為了建模復(fù)雜的系統(tǒng)行為,我們采用層次化的嵌套建模結(jié)構(gòu),將SHML 模型的狀態(tài)分為兩層——父狀態(tài)層及子狀態(tài)層.這里使用狀態(tài)類的自反關(guān)聯(lián)關(guān)系表示狀態(tài)的嵌套.SHML 元模型是定義具體語法及操作語義的基礎(chǔ),是構(gòu)建領(lǐng)域建模語言的最關(guān)鍵內(nèi)容.基于元模型,我們可以定義相應(yīng)的具體語法、操作語義.
領(lǐng)域建模語言的具體語法,即建模元素的具體表示有兩種常見的形式:文本和圖形.文本形式的模型常以ASCII 或XML 文本形式出現(xiàn),而圖形化具體語法常以框線圖、樹、表格的形式出現(xiàn).針對(duì)SHML 元模型中的各個(gè)建模元素,我們?cè)O(shè)計(jì)了它們的具體圖標(biāo)如圖2 所示,給出了各個(gè)建模元素的具體表示形式,比如顏色、形狀、大小、邊框、標(biāo)簽等.
Fig.1 Metamodel of SHML for CPS圖1 面向CPS 的領(lǐng)域建模語言SHML 的元模型
Fig.2 Concret syntax of SHML圖2 領(lǐng)域建模語言SHML 的具體語法
除了定義建模元素的樣式,具體語法還涉及定義建模元素的操作,例如創(chuàng)建實(shí)例、設(shè)置屬性或者導(dǎo)航到另外一個(gè)模型圖,這些操作為用戶提供了便捷的建模方式.Sirius 技術(shù)提供一種具體語法的實(shí)現(xiàn)方法,用戶可以使用畫板創(chuàng)建實(shí)例模型,例如,可以在建模平臺(tái)的畫板上找到圓角矩形圖標(biāo),然后把它拖到建模界面中,這樣就創(chuàng)建了一個(gè)狀態(tài)實(shí)例.此外,用戶還可以為其設(shè)置屬性和跳轉(zhuǎn)操作,例如將它的名稱設(shè)置為State1,用戶還可以雙擊State1 導(dǎo)航到它的子圖.總之,根據(jù)SHML 的元模型,我們給出了該語言的具體語法表示形式,為用戶提供了可視化的領(lǐng)域建模語言.此外,基于Sirius 技術(shù)框架實(shí)現(xiàn)了SHML 語言的具體語法表示,為用戶提供了一個(gè)可視化的建模環(huán)境.
SHML 的操作語義模型精確刻畫了SHML 模型的執(zhí)行規(guī)則,為SHML 實(shí)例模型的執(zhí)行、仿真提供了語義支持,可以生成系統(tǒng)的執(zhí)行跡,用于系統(tǒng)模型的驗(yàn)證、分析.SHML 模型可以使用一個(gè)五元組TSHS=(S,→,L,s0,O)表示,其中,
·S表示狀態(tài)集合,其中:每個(gè)狀態(tài)s(l,v,c,r),l表示位置(location),v表示變量,c表示時(shí)鐘,r表示層次(r0表示父層,r1表示子層).此外,還有一些跟狀態(tài)相關(guān)的符號(hào)表示,具體如下:Sr0表示父層r0中狀態(tài)的集合,Sr1表示子層r1中狀態(tài)的集合,F(s)表示狀態(tài)S的父狀態(tài),cs表示復(fù)合狀態(tài)S的子狀態(tài)的集合,Is表示復(fù)合狀態(tài)S的初始子狀態(tài),OT(s,t)表示源狀態(tài)S有一條出去的遷移邊t,R(o,s)表示狀態(tài)S與一個(gè)ODEo相關(guān)聯(lián);
· →:State×Labels×State表示源狀態(tài)和目標(biāo)狀態(tài)之間的遷移.遷移有兩種形式:普通遷移(CT)和概率遷移(PT).L表示遷移的集合l={e,g,a,p},其中,e表示觸發(fā)事件,g表示衛(wèi)士條件,a表示動(dòng)作,p表示概率.此處,e可以是某個(gè)外部觸發(fā)事件,也可以是同步事件(e!與e?);
·s0表示 TSHS 的初始狀態(tài);
·o表示常微分方程ODE 的集合,集合中的每個(gè)ODE 等式可表示為o={f,c,i},其中,f表示函數(shù),c表示約束條件,i表示求解區(qū)間i={il,ir,step},il表示區(qū)間左值,ir表示區(qū)間右值,step表示求解區(qū)間的長(zhǎng)度.
語義上,SHML 模型是由一個(gè)或多個(gè)TSHS 進(jìn)程組成的,操作語義需要描述各個(gè)進(jìn)程在當(dāng)前狀態(tài)下,當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí),系統(tǒng)該做出何種反應(yīng).這里,重點(diǎn)討論4 種操作語義規(guī)則:調(diào)用常微分方程、同一層次的狀態(tài)遷移、不同層的狀態(tài)遷移以及遷移終止語義.
接下來,針對(duì)每一類操作語義規(guī)則,給出詳細(xì)的解釋說明.
(1) 規(guī)則1:調(diào)用ODE 等式
規(guī)則CT1 表示TSHS 的當(dāng)前狀態(tài)s(l,v,c,r0),當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí)(可以是某個(gè)判定式為真也可以是發(fā)生了同步事件),狀態(tài)s處沒有遷移可以滿足約束條件(v,c?g)使其被觸發(fā),同時(shí),狀態(tài)s子狀態(tài)集合為空,此時(shí),s也不能跳轉(zhuǎn)到它的子層初始狀態(tài).但是,狀態(tài)s與一個(gè)OEDo關(guān)聯(lián),這意味著o能改變v的值,使v變成v′=v+f(Δstep),其中,f是o的函數(shù)名稱,Δstep是ODEo的子區(qū)間長(zhǎng)度.Scilab ODE 求解器會(huì)根據(jù)用戶設(shè)定的子區(qū)間長(zhǎng)度,每Δstep步長(zhǎng)更新變量值v′,而一旦新的變量值滿足狀態(tài)s處的約束條件,狀態(tài)s就會(huì)遷移到下一個(gè)狀態(tài)s′(l,v′,c′,r0).規(guī)則CT2 表示TSHS 當(dāng)前的狀態(tài)s處在某個(gè)狀態(tài)的子層r0中,當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí),狀態(tài)s及其父狀態(tài)F(s)都沒有可以被觸發(fā)的遷移,但是狀態(tài)s一個(gè)OEDo關(guān)聯(lián),變量v隨著ODEo變化,使得v′在某一時(shí)刻滿足約束條件,狀態(tài)s便可以遷移到下一個(gè)狀態(tài)s′.規(guī)則PT1,PT2 和規(guī)則CT1,CT2 的描述是類似的,不同之處在于使能遷移邊上帶有概率p,表明在相同條件下,當(dāng)前狀態(tài)處遷移使能的概率是p.
(2) 規(guī)則2:SHML 中同一層次的狀態(tài)遷移
規(guī)則CT3 表示若當(dāng)前狀態(tài)s在父層中,當(dāng)某個(gè)觸發(fā)事件e發(fā)生時(shí),它能觸發(fā)使能遷移,實(shí)現(xiàn)狀態(tài)遷移到同層中的另一個(gè)非嵌套狀態(tài)s′.規(guī)則CT4 表示若當(dāng)前狀態(tài)s處在父層中,當(dāng)事件e觸發(fā)某個(gè)使能遷移,狀態(tài)s能夠遷移到下一層的父狀態(tài)s′,這時(shí)首先會(huì)判斷在父層中s′是否存在一條出邊可以立即被觸發(fā),若存在這樣的使能遷移,那么s′會(huì)跳轉(zhuǎn)到下一個(gè)在父層中的狀態(tài)s′.規(guī)則CT5 表示:當(dāng)前狀態(tài)s處在某個(gè)父狀態(tài)的子層中,它的父狀態(tài)F(s).沒有出邊可以被觸發(fā),但是其子狀態(tài)處,存在某條出邊可以被觸發(fā),這時(shí)遷移會(huì)跳轉(zhuǎn)到同一子層的下一個(gè)狀態(tài)s′.規(guī)則PT3~PT5 與規(guī)則CT3~CT5 的描述是類似的,只是當(dāng)前狀態(tài)S的使能遷移具有概率值p,表示遷移發(fā)生的概率.
(3) 規(guī)則3:SHML 中不同層次的狀態(tài)遷移
規(guī)則CT6 表示當(dāng)前狀態(tài)s處,當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí),狀態(tài)s能遷移到其子層r0中的一個(gè)狀態(tài)s′.這里,狀態(tài)s′不能直接跳轉(zhuǎn)到r0中的另一個(gè)狀態(tài).s′設(shè)置為它的子層的初始狀態(tài)Is′.規(guī)則CT7 表示當(dāng)前狀態(tài)S處在r1,這里首先對(duì)其父狀態(tài)F(s)中檢查,判斷其有沒有遷移可以被觸發(fā).若F(s)中某一條遷移邊被觸發(fā),那么狀態(tài)S會(huì)跳轉(zhuǎn)r0中的某一個(gè)狀態(tài),實(shí)現(xiàn)從父狀態(tài)層遷移到子狀態(tài)層.規(guī)則PT6,PT7 與規(guī)則CT6,CT7 的描述是類似的,只在相同條件下,當(dāng)前狀態(tài)S處存在多條使能邊可以被觸發(fā),遷移被觸發(fā)的概率值為p.
(4) 規(guī)則4:終止執(zhí)行
CT8 表示如果父層中的狀態(tài)s處,當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí),沒有使能的遷移,也沒有一個(gè)關(guān)聯(lián)的ODE 等式.這意味著當(dāng)前狀態(tài)s是一個(gè)終止?fàn)顟B(tài).規(guī)則CT9 表示如果當(dāng)前狀態(tài)處在子層r1中,當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí),s及它的父狀態(tài)F(s)都沒有使能遷移,狀態(tài)處也沒有ODE 等式,則當(dāng)前狀態(tài)s是處于子層的終止?fàn)顟B(tài).規(guī)則PT8,PT9的描述與CT8,CT9 的描述類似,表示當(dāng)前狀態(tài)s處存在多條使能的遷移,而遷移使能的概率為p.
以上操作語義規(guī)則為模型的仿真執(zhí)行奠定了語義基礎(chǔ).我們將根據(jù)這些語義規(guī)則,在GEMOC 執(zhí)行引擎中實(shí)現(xiàn)SHML 的語義模型,以支持SHML 模型的仿真執(zhí)行.
GEMOC 建??蚣転轭I(lǐng)域建模語言定義及執(zhí)行提供了一系列的技術(shù)支撐,為設(shè)計(jì)、實(shí)現(xiàn)面向CPS 領(lǐng)域的隨機(jī)混成建模語言SHML 提供了一種有效的途徑.我們提出基于GEMOC 實(shí)現(xiàn)SHML,以圖形化的方式建模CPS的動(dòng)態(tài)行為,包括混成行為、隨機(jī)行為,為CPS 的領(lǐng)域建模提供工具支撐.本節(jié)重點(diǎn)討論如何基于GEMOC 框架實(shí)現(xiàn)SHML 語言,包括抽象語法、具體語法及執(zhí)行語義.
基于GEMOC 實(shí)現(xiàn)SHML 的技術(shù)框架如圖3 所示.
Fig.3 Technical framework for SHML based on GEMOC圖3 基于GEMOC 實(shí)現(xiàn)SHML 的技術(shù)框架
圖中左半部分是基于元建模方法的CPS 建模層次框架,其中,SHML 語言定義處于最高抽象層次,包括抽象語法和具體語法.首先,根據(jù)領(lǐng)域特定建模語言SHML 的抽象語法即元模型,使用EMF 框架提供的Ecore 元語言,實(shí)現(xiàn)SHML 的元模型定義.在SHML 元模型中,詳細(xì)描述了建模CPS 行為模型所需要的領(lǐng)域概念及這些概念間的關(guān)系.其次,根據(jù)SHML 的抽象語法,使用Sirius 實(shí)現(xiàn)其圖形化的語法表示,并使用Xtext 實(shí)現(xiàn)其文本化的表示.圖形化的模型為用戶提供了可視化的建模方式,更加便于用戶理解、交流,而采用文本語法的模型通常占用相對(duì)較少的存儲(chǔ)空間,易于計(jì)算機(jī)對(duì)其進(jìn)行查詢、定位.基于GEMOC 框架,我們實(shí)現(xiàn)了SHML 語言的圖形及文本表示形式,可以靈活建模CPS 模型,為以模型驅(qū)動(dòng)的方式開發(fā)CPS 系統(tǒng)提供了建模支持.建模語言的操作語義為模型的模擬、仿真提供了豐富的語義信息.通常,操作語義的定義會(huì)涉及兩個(gè)重要的對(duì)象:運(yùn)行時(shí)數(shù)據(jù)和執(zhí)行函數(shù).運(yùn)行時(shí)數(shù)據(jù)反映的是當(dāng)前模型的信息,例如狀態(tài)、變量等;而執(zhí)行函數(shù)則是修改當(dāng)前模型信息的具體操作,例如執(zhí)行狀態(tài)遷移、調(diào)用ODE 等式.本質(zhì)上,這些是與第2.2 節(jié)中定義的操作語義規(guī)則是對(duì)應(yīng)的.基于GEMOC 框架,我們使用Kermeta3[15]和Xtend 語言,根據(jù)SHML 的操作語義模型對(duì)SHML 元模型進(jìn)行語義編織,最終實(shí)現(xiàn)SHML 的操作語義.
圖中右半部分是SHML 的模型執(zhí)行引擎,根據(jù)本文提出的方法,我們集成了GEMOC 的執(zhí)行引擎與Scilab的執(zhí)行引擎,實(shí)現(xiàn)仿真CPS 系統(tǒng)的混成行為,并根據(jù)SHML 的語義模型實(shí)現(xiàn)模型語義執(zhí)行規(guī)則.總之,SHML 的模型執(zhí)行引擎,為仿真CPS 的混成行為提供了工具支撐.
仿真通過模型的模擬執(zhí)行來幫助我們進(jìn)一步分析系統(tǒng)的行為,發(fā)現(xiàn)模型中的錯(cuò)誤之處.CPS 的行為仿真是分析CPS 模型正確性的有效技術(shù),其難點(diǎn)在于如何仿真系統(tǒng)的混成行為.現(xiàn)有的仿真工具主要針對(duì)某個(gè)特定領(lǐng)域開發(fā)的,擅長(zhǎng)仿真系統(tǒng)離散行為,而缺乏對(duì)系統(tǒng)混成行為的支持.目前,GEMOC 執(zhí)行引擎也只能支持具有離散語義模型的仿真,無法直接實(shí)現(xiàn)仿真SHML 模型的混成行為,需要對(duì)其進(jìn)行擴(kuò)展,使其不僅能支持離散行為的仿真,而且能支持連續(xù)行為的仿真.因此,本文提出將Scilab 插件集成到GEMOC 中,實(shí)現(xiàn)在GEMOC 建模平臺(tái)下調(diào)用Scilab 求解器,進(jìn)而實(shí)現(xiàn)仿真系統(tǒng)的連續(xù)行為.該方法將GEMOC 的序列化執(zhí)行引擎和Scilab ODE 求解器結(jié)合,實(shí)現(xiàn)了仿真系統(tǒng)的混成行為,解決了仿真CPS 混成行為的難題.
GEMOC 提供了一個(gè)通用的執(zhí)行引擎,負(fù)責(zé)將DSML 與GEMOC 中提供的插件集成起來,通過一系列操作(例如模型初始化、開始執(zhí)行某條語義規(guī)則)以達(dá)到控制模型、修改模型的效果.同時(shí),該框架還集成了一些以插件形式存在的運(yùn)行時(shí)服務(wù),例如逐步調(diào)試、圖形動(dòng)畫模擬、執(zhí)行路徑跟蹤服務(wù)等.此外,GEMOC 提供了一個(gè)通用接口,用以集成面向某些特定領(lǐng)域的執(zhí)行引擎,而這些不同的執(zhí)行引擎往往與定義了離散操作語義的DSML相關(guān)聯(lián).最終,以插件形式存在的通用運(yùn)行時(shí)服務(wù)和執(zhí)行引擎一起實(shí)現(xiàn)模型的仿真、模擬.這些技術(shù)特性,為集成Scilab 的求解器提供了技術(shù)支持.
在集成Scilab 的過程中,需要解決的主要問題是如何在Eclipse 插件模式下調(diào)用Scilab.Scilab 提供的相關(guān)jar 包并不是Eclipse 標(biāo)準(zhǔn)插件,無法將其直接放入GEMOC 的插件庫,即無法實(shí)現(xiàn)在建模平臺(tái)中直接調(diào)用Scilab.因此,我們仔細(xì)分析了Scilab 的調(diào)用方式及相關(guān)jar 包之間的依賴關(guān)系,設(shè)計(jì)、實(shí)現(xiàn)了3 個(gè)與Scilab 調(diào)用相關(guān)的新jar 包:Javasci,Jvm,Types,以標(biāo)準(zhǔn)的Eclipse 插件的形式化集成到現(xiàn)有的GEMOC 插件庫.這3 個(gè)jar 包主要負(fù)責(zé)Scilab 調(diào)用、數(shù)據(jù)處理,幫助用戶直接調(diào)用Scilab ODE 求解器.圖4 是集成了Scilab 插件之后的仿真平臺(tái)的GUI,工具界面包括實(shí)例模型調(diào)試、變量框觀測(cè)、默認(rèn)信息輸出框,在模型執(zhí)行時(shí)這些信息不斷動(dòng)態(tài)變化,幫助我們分析理解模型的行為.圖4 的右下角“Scilab 輸出框”是新集成的Scilab 模擬輸出界面,以圖形化的形式展示物理變量的連續(xù)變化過程,具有直觀、易于理解的特點(diǎn).
Fig.4 Simulation platform for SHML models圖4 SHML 的仿真平臺(tái)
總之,基于GEMOC 的仿真執(zhí)行引擎,并集成Scilab 為CPS 系統(tǒng)模型的仿真執(zhí)行提供了有效的方式,所生成的仿真執(zhí)行結(jié)果能幫助用戶進(jìn)行系統(tǒng)行為的分析.接下來,我們將通過實(shí)際的案例展示本文所提方法的可用性.
溫控系統(tǒng)是一個(gè)經(jīng)典的CPS 系統(tǒng),空調(diào)、風(fēng)扇等物理設(shè)備控制溫度的變化,同時(shí),溫度控制器實(shí)現(xiàn)開關(guān)的切換,溫度的變化也會(huì)反過來影響控制器的決定,二者處在一個(gè)反饋回路之中.在炎熱的夏日,某房間(初始溫度為21°C)有一個(gè)控制器,連接了一臺(tái)電扇和一臺(tái)空調(diào),外界高溫會(huì)逐漸影響房間溫度使其不斷升高.人體感到舒適的溫度區(qū)間為21°C~32°C.當(dāng)房間溫度大于32°C 時(shí),控制器選擇一種制冷設(shè)備進(jìn)行制冷,選擇電扇的概率為0.4,選擇空調(diào)的概率為0.6.此外,假定空調(diào)具有強(qiáng)檔制冷和弱檔制冷,不同檔位下的制冷功率不同.假設(shè)空調(diào)首先會(huì)進(jìn)行強(qiáng)檔降溫,當(dāng)溫度低于24°C 時(shí),空調(diào)會(huì)跳轉(zhuǎn)到弱檔繼續(xù)降溫.當(dāng)溫度降到21°C 以下時(shí),控制器會(huì)關(guān)閉制冷設(shè)備.
圖5 是基于GEMOC 建模平臺(tái)構(gòu)建的溫控系統(tǒng)的SHML 模型,主要建模了溫度控制器的動(dòng)態(tài)行為,包括隨機(jī)行為和混成行為.溫度控制器的SHML 模型包含嵌套狀態(tài),在父層中有3 個(gè)狀態(tài):OFFWarming 表示房間處于升溫狀態(tài),ONElectricFan 表示電扇降溫狀態(tài),ONAirConditioner 表示空調(diào)降溫狀態(tài).其中,OFFWarming 狀態(tài)使用加粗框表示,表明它是父層的初始狀態(tài),該狀態(tài)下制冷設(shè)備是關(guān)閉的,此狀態(tài)處的溫度上升過程由Warming_ODE 表示.從OFF Warming 出發(fā)有兩條概率遷移,分別指向ONElectricFan 狀態(tài)和ON AirConditioner 狀態(tài),一旦檢測(cè)到房間溫度超過了 32°C,系統(tǒng)狀態(tài)將由當(dāng)前狀態(tài) OFF Warming 遷移到 ONElectricFan 或者 ON AirConditioner,兩條虛線遷移邊上都帶有概率值標(biāo)記,表示相同條件下該遷移邊使能的概率.
Fig.5 SHML models for the temperature controller圖5 溫度控制器的SHML 模型
類似地,電扇制冷狀態(tài)處,溫度下降的動(dòng)態(tài)變化過程由EF_ODE 表示.空調(diào)制冷狀態(tài)較復(fù)雜,可使用嵌套狀態(tài)表示.在子層中,初始狀態(tài)為Strong 狀態(tài),它會(huì)在溫度低于24°C 時(shí)跳轉(zhuǎn)到Weak 狀態(tài),這兩個(gè)狀態(tài)也都關(guān)聯(lián)了各自的ODE 刻畫溫度下降的過程.基于我們實(shí)現(xiàn)的GEMOC 建模平臺(tái)構(gòu)建的溫度控制器的SHML 模型,以可視化的方式建模了系統(tǒng)行為導(dǎo)致的復(fù)雜狀態(tài)變遷.進(jìn)一步地,我們可以基于本文設(shè)計(jì)、實(shí)現(xiàn)的仿真器對(duì)溫度控制器的SHML 模型進(jìn)行模擬、仿真,可用于分析系統(tǒng)行為的正確性.
圖6 是溫度控制器SHML 模型的仿真結(jié)果.菱形的線段表示當(dāng)控制器處于OFFWarming 狀態(tài)時(shí),溫度上升的過程;三角形的線段表示空調(diào)強(qiáng)制冷狀態(tài)下的溫度下降過程;帶實(shí)心圓的線段表示空調(diào)弱制冷狀態(tài)下的溫度下降過程;線段表示電扇制冷狀態(tài)下的溫度下降過程.如圖所示:房間的初始溫為21°C,房間溫度不斷上升,超過臨界值時(shí),控制器打開空調(diào)降溫,在空調(diào)強(qiáng)制冷狀態(tài)下,房間溫度開始下降,在某一時(shí)刻,當(dāng)房間溫度為23.849°C,已經(jīng)低于24°C 了,這時(shí),空調(diào)切換到弱制冷狀態(tài).與三角形線段相比,實(shí)心圓線段稍微平緩一些,說明空調(diào)弱制冷狀態(tài)的降溫速率相對(duì)較小.在空調(diào)弱制冷狀態(tài)下,房間溫度繼續(xù)降低,當(dāng)房間溫度低于21°C 時(shí),狀態(tài)遷移到OFFWarming 狀態(tài).總之,在該案例中,溫度的變化遵循ODE 等式規(guī)約的物理變化過程,同時(shí),控制器根據(jù)溫度進(jìn)行開關(guān)的切換選擇.溫控系統(tǒng)是典型的混成系統(tǒng),包括離散的控制行為與連續(xù)的溫度變化,借助我們實(shí)現(xiàn)的混成行為的仿真引擎,實(shí)現(xiàn)了仿真SHML 建模的混成行為,為CPS 混成行為的驗(yàn)證、分析提供了一種有效的途徑.
Fig.6 Simulation result for the temperature圖6 溫度變化的仿真結(jié)果
由于CPS 融合了物理和信息世界,其系統(tǒng)行為包括離散的控制行為和連續(xù)的物理變化.建模、仿真CPS 系統(tǒng)行為一直面臨著諸多困難和挑戰(zhàn).CPS 的建模與驗(yàn)證分析也逐步引起工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注,取得了初步的研究成果.Derler 等人在文獻(xiàn)[16]中指出,CPS 具有異構(gòu)性、并發(fā)性及對(duì)時(shí)間的敏感性等特性,導(dǎo)致CPS 建模方法具有挑戰(zhàn)性,并以車輛燃油子系統(tǒng)為例,說明如何建模CPS 的混成行為.該項(xiàng)工作的側(cè)重點(diǎn)是提出基于混成自動(dòng)機(jī)建模CPS 的混成行為.
由UC Berkeley 開發(fā)的Ptolemy II 是一款開源的面向CPS 的建模和仿真工具[17],可用于建模、仿真實(shí)時(shí)嵌入式系統(tǒng),其執(zhí)行語義依賴于角色模型(actor model)中的指示器(director).Ptolemy II 能夠建模異構(gòu)系統(tǒng),但是模型的執(zhí)行受限于工具本身提供的計(jì)算模型(model of computation,簡(jiǎn)稱MoC),當(dāng)模型語義不能找到合適計(jì)算模型來表示時(shí),系統(tǒng)設(shè)計(jì)人員只能通過修改工具的核心部分,以滿足實(shí)際系統(tǒng)設(shè)計(jì)的需求.此外,Matlab/Simulink 支持對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析,被廣泛應(yīng)用于工業(yè)級(jí)的案例.它為用戶提供了用方框圖建模的圖形化接口,與傳統(tǒng)的軟件包用微分方程或差分方程建模相比,有更直觀、方便、靈活的優(yōu)點(diǎn).Matlab/Simulink 的最新版本支持建模CPS 的計(jì)算模型,此外,可以使用Simscape 建模物理模型,例如,使用圖形化的狀態(tài)機(jī)建模智能應(yīng)急響應(yīng)系統(tǒng)、智能制造機(jī)器人等領(lǐng)域,并可以對(duì)模型進(jìn)行仿真、分析.通過仿真,系統(tǒng)設(shè)計(jì)人員可以更好地觀測(cè)系統(tǒng)變量、理解系統(tǒng)行為、修復(fù)系統(tǒng)模型的錯(cuò)誤.
基于標(biāo)準(zhǔn)建模語言例如MARTE/SysML[18,19]建模信息物理融合系統(tǒng)的相關(guān)工作也取得了初步進(jìn)展.文獻(xiàn)[20]提出將OMG 的建模語言MARTE 和SysML 結(jié)合起來建模CPS.Mallet F 在文獻(xiàn)[21]中,從異構(gòu)性、平臺(tái)感知、資源受限、非功能屬性等角度總結(jié)了CPS 的特性,給出了一些使用MARTE 和SysML 建模CPS 的示例,并提出使用時(shí)鐘約束規(guī)范語言(clock constraint specification language,簡(jiǎn)稱CCSL)描述邏輯時(shí)鐘之間的約束關(guān)系.此外,仿真工具Timesquare[22]能支持CCSL 模型的仿真、模擬.在文獻(xiàn)[23]中,Gemoz 提出一種基于MARTE和SysML 的多視圖建模方法,并結(jié)合能量消耗的案例展示了如何基于標(biāo)準(zhǔn)建模語言建模CPS.
羅晨霞等人提出了面向?qū)崟r(shí)數(shù)據(jù)的CPS 一體化建模方法[24],通過定義一系列的規(guī)則,將領(lǐng)域環(huán)境模型組合到運(yùn)行時(shí)驗(yàn)證的過程中去,從而保證CPS 在不確定環(huán)境中的安全性和可靠性.此方法使得監(jiān)視模型更加完整準(zhǔn)確,當(dāng)環(huán)境發(fā)生變化時(shí),通過動(dòng)態(tài)調(diào)整參數(shù)范圍,使得CPS 的安全屬性在復(fù)雜的物理環(huán)境中仍然滿足.此外,我們前期的工作針對(duì)CPS 的混成、隨機(jī)行為[25]提出了概率時(shí)鐘約束語言pCCSL 用于規(guī)約CPS 的隨機(jī)行為,并結(jié)合MARTE/SysML 建模CPS 的混成、隨機(jī)行為,該方法能夠有效建模CPS 的混成、隨機(jī)行為[26,27].
綜上所述,CPS 建模與仿真的研究工作已經(jīng)取得了初步的進(jìn)展,能夠針對(duì)CPS 的不同特性提出建模、仿真方法,相關(guān)的建模及仿真工具的設(shè)計(jì)、開發(fā)也引起了人們的廣泛關(guān)注.與已有研究工作不同,我們從領(lǐng)域建模語言設(shè)計(jì)的角度出發(fā),基于模型驅(qū)動(dòng)開發(fā)方法的技術(shù)框架,針對(duì)CPS 的隨機(jī)、混成行為,設(shè)計(jì)、實(shí)現(xiàn)了一種面向CPS的領(lǐng)域建模語言SHML,旨在為CPS 的領(lǐng)域建模提供一種可視化的建模語言.SHML 的主要特點(diǎn)是能夠以可視化的方式建模CPS 系統(tǒng)的復(fù)雜行為,包括混成行為、隨機(jī)行為.此外,在工具實(shí)現(xiàn)方面,我們?cè)O(shè)計(jì)、實(shí)現(xiàn)了基于GEMOC 框架的建模及仿真工具,為SHML 的建模及仿真提供工具支撐,為CPS 的自動(dòng)化設(shè)計(jì)及實(shí)現(xiàn),提供了一種有效的途徑.
信息物理融合系統(tǒng)具有異構(gòu)性、混成性、隨機(jī)性等特點(diǎn),建模、仿真CPS 的行為對(duì)于開發(fā)高質(zhì)量的CPS系統(tǒng)具有重要意義.領(lǐng)域建模方法為以模型驅(qū)動(dòng)的方式開發(fā)CPS 系統(tǒng)提供了一種有效的途徑,為CPS 的自動(dòng)化設(shè)計(jì)提供了可能.本文提出一種面向CPS 的領(lǐng)域建模語言SHML,能夠支持建模CPS 的混成行為、隨機(jī)行為.根據(jù)領(lǐng)域語言的特征,我們定義了SHML 的語法及語義模型,并基于GEMOC 框架實(shí)現(xiàn)了SHML 語言的建模環(huán)境.設(shè)計(jì)人員能夠基于GEMOC 的建模平臺(tái),使用SHML 構(gòu)建CPS 的領(lǐng)域模型.此外,為了分析模型的動(dòng)態(tài)執(zhí)行過程,生成系統(tǒng)的執(zhí)行跡,本文提出基于GEMOC 的序列化執(zhí)行框架,集成Scilab ODE 求解器,實(shí)現(xiàn)仿真CPS 的混成行為.本文提出的面向CPS 的領(lǐng)域建模及仿真方法具有一定的通用性和可擴(kuò)展性,設(shè)計(jì)、實(shí)現(xiàn)的工具平臺(tái)為設(shè)計(jì)人員提供了一個(gè)集成的面向CPS 的建模與仿真環(huán)境,為CPS 的自動(dòng)化設(shè)計(jì)提供了技術(shù)支撐.
最后,結(jié)合經(jīng)典的CPS 案例——溫控系統(tǒng),進(jìn)一步展示了SHML 的建模能力,并給出了溫度變化的模擬結(jié)果.實(shí)際應(yīng)用表明,我們提出的領(lǐng)域建模語言及建模、仿真工具能夠有效建模、仿真CPS 的動(dòng)態(tài)行為.在未來的工作中,將繼續(xù)改進(jìn)領(lǐng)域建模語言SHML,使其能夠支持建模CPS 的運(yùn)行環(huán)境模型、系統(tǒng)的架構(gòu)模型等,并設(shè)計(jì)、開發(fā)協(xié)同仿真算法,使得模擬引擎能夠支持更多種類的計(jì)算模型的模擬與仿真.