黃平 杜德慧
摘要:信息物理融合系統(tǒng)(cyber-Physical Systems,CPS)是一個綜合計算、網(wǎng)絡(luò)和物理環(huán)境的多維復(fù)雜系統(tǒng).針對這種異構(gòu)系統(tǒng)的建模問題一直是人們研究的重點,但是,缺乏系統(tǒng)性的方法來建模CPS的特性,如異構(gòu)性、不確定性、軟硬協(xié)同和非功能屬性fNon-Functional Prop-erties,NFP)等.提出了一種基于SysML(system Modeling Language)/MARTE(Modelingand Analysis of Real-Time and Embedded Systems)/pCCSL(p Clock Constraint Specifi-cation Language)的協(xié)同建模方法,實現(xiàn)了從不同視角建模CPS的不同特征,包括系統(tǒng)的結(jié)構(gòu)、行為、時鐘約束和NFP.該方法的新穎性在于使用pCCSL規(guī)約各模型之間的交互和同步,顯式地建模模型之間的邏輯一致性.同時,為了捕捉CPS的特性如隨機行為和連續(xù)行為,擴展了一些SysML/MARTE的元模型.最后,給出了一個智能建筑的案例以展示所提出的協(xié)同建模方法的可用性.
關(guān)鍵詞:信息物理融合系統(tǒng);SysML/MARTE/pCCSL;協(xié)同建模;元模型;智能建筑
中圖分類號:TP311 文獻標志碼:A DOI:10.3969/.j.issn.1000-5641.2019.01.006
0引言
信息物理融合系統(tǒng)(cPS)是一個綜合計算、網(wǎng)絡(luò)和物理環(huán)境的多維復(fù)雜系統(tǒng).“信息”部分通常被概括為“3c”,即,計算、通信和控制的一體化.這與傳統(tǒng)的實時系統(tǒng)非常相似,其功能是邏輯的、離散的或可切換的.“物理”部分與自然環(huán)境息息相關(guān),這些自然環(huán)境遵循著一定的物理定律和連續(xù)時間的變化.此外,“物理”部分的復(fù)雜性也來源于不可避免地隨機用戶行為以及一些模糊的物理動態(tài),其往往表示為一個具有一定的概率分布的過程.因此,CPS的特性包括異構(gòu)性、軟硬協(xié)同、連續(xù)行為、隨機行為和非功能屬性(NFP)等.現(xiàn)如今,CPS擁有著大量的社會影響,從汽車系統(tǒng)、制造業(yè)、自動化高速公路系統(tǒng)fAutomatedhighway System,AHS)、空中交通管制系統(tǒng),到個人和醫(yī)療設(shè)備、智能電網(wǎng)和智能建筑等,應(yīng)用范圍十分廣泛.但是,建模CPS仍然是一個具有挑戰(zhàn)性的題難.
單獨設(shè)計并分析“信息”部分和“物理”部分然后將它們連接起來是不夠的.為了實現(xiàn)包括計算和物理過程在內(nèi)的不同組件的集成,必須設(shè)計它們之間的交互.因此,找到一種更加靈活和標準化的方法已經(jīng)成為亟待解決的問題.考慮到業(yè)界的接受度、對工具的支持和高可讀性,在設(shè)計CPS模型時,本文更傾向于UML(unified Modeling Language)/MARTE等標準建模語言.因此,模型之間的一致性仍然是一個問題.為了解決這些問題,本文提出了一種基于SysML/MARTE/pCCSL的協(xié)同建模CPS的方法.
本文的貢獻在于:①提出了一種基于SysML/MARTE/pCCSL的協(xié)同建模方法,建模CPS的異構(gòu)性、軟硬協(xié)同、連續(xù)行為、隨機行為和NFP,提出了使用pCCSL規(guī)約各模型之間的交互和同步,顯式地建模模型之間的邏輯一致性;②針對CPS系統(tǒng)的異構(gòu)性、連續(xù)性、不確定性,提出了3個擴展的SysML/MARTE元模型,包括擴展的框圖和狀態(tài)機圖;③整個過程以智能建筑為例進行說明,本文工作的意義,在于提出了一種擴展標準建模語言、支持建模CPS的各個特性的協(xié)同建模方法,并使用pCCSL規(guī)約確保各個模型之間的邏輯一致性.
本文接下來的組織結(jié)構(gòu)如下:第1節(jié)介紹本文提出的基于SysML/MARTE/pCCSL的協(xié)同建模方法;第2節(jié)介紹本文提出的協(xié)同建模方法中用到的擴展建模元素的元模型;第3節(jié)給出一個智能建筑的案例以展示本文所提的協(xié)同建模方法的可用性;第4節(jié)對全文進行總結(jié).
1基于SysML/MARTE/pCCSL的協(xié)同建模方法
靈活的配置文件(profile)機制使UML成為一種可擴展的語言.目前最知名的配置文件是SysML和MARTE.本文采用SysML來建模系統(tǒng)的架構(gòu)和連續(xù)行為(即“物理”部分);同時,采用MARTE來建模非功能屬性和隨機行為(即“信息”部分).pCCSL作為時鐘約束規(guī)范語言(cCSL[51)的擴展,被用于規(guī)范各個異構(gòu)模型之間的一致性.首先,簡要介紹該方法中使用的3種建模語言.
1.1協(xié)同建模方法的相關(guān)建模語言
1.1.1 SysML
系統(tǒng)建模語言(sysML)是一種通用的圖形建模語言,它擴展了基本的UML以支持復(fù)雜系統(tǒng)的規(guī)約、設(shè)計、驗證和分析.SysML包括對系統(tǒng)物理和性能屬性的需求、分配、結(jié)構(gòu)組成、互連、行為、約束的建模.更多的關(guān)于SysML的細節(jié)可以參閱文獻.
1.1.2 MARTE
MARTE是一個用于實時和嵌入式系統(tǒng)(Real-Time Embedded Systems,RTES)建模分析的UML配置文件,作為一個改進版本來替代現(xiàn)有的關(guān)于可調(diào)度性、性能和時間的UML配置文件,還支持規(guī)約、設(shè)計、驗證和分析.MARTE包括4個子配置文件:基礎(chǔ)、設(shè)計模型、分析模型和附件,其中附件的MARTE庫中包含許多與NFP相關(guān)的有用的數(shù)據(jù)類型.實際上,MARTE采納了很多涵蓋各個方面的優(yōu)秀思想,它不僅可用于RTES,還具有更廣泛的應(yīng)用.更多關(guān)于MARTE的細節(jié)可以參閱文獻
1.1.3 pCCSL
在近期的工作中,本研究小組提出了pCCSL,它是CCSL的概率擴展,一共有3個擴展.第一個是在子時鐘關(guān)系上添加一個rate參數(shù),它指定了子時鐘與其父時鐘相比的tick速率.通過這種方式,pCCSL便于建模系統(tǒng)的隨機行為.第二個擴展是將概率分配給一個時鐘,以替換一個表達式.第三個擴展是設(shè)置一個參數(shù)A來控制一個時鐘是否tick,參數(shù)A根據(jù)指數(shù)分布控制時鐘的tick.在pCCSL的幫助下,SysML/MARTE模型可以連接在一起完成對CPS的多視角建模.更多關(guān)于pCCSL的細節(jié)可以參閱文獻…
1.2協(xié)同建模方法概述
CPS建模的挑戰(zhàn)在于其異構(gòu)性以及多個組件之間的交互,且這些組件可能使用完全不同的領(lǐng)域語言或工具設(shè)計.為了減少多重組件交互的復(fù)雜性,已經(jīng)有研究提出了一個基于中間語言的結(jié)構(gòu)框架.但是,要定義適用于所有領(lǐng)域的中間語言是很困難的.因此本文嘗試去尋找一種更加基于標準的方法:使用SysML和MARTE建模系統(tǒng)的架構(gòu)、行為和NFP等方面;使用pCCSL確保這些模型之間的邏輯一致性.
因此,本文提出的是一種多視角的協(xié)同建模方法,使用SysML/MARTE/pCCSL協(xié)同建模CPS,協(xié)同建模方法框架見圖1所示.該協(xié)同建模方法包括3個階段:需求建模階段、架構(gòu)建模階段、設(shè)計建模階段.具體的建模方法如下.
1.2.1需求建模
協(xié)同建模方法從需求分析開始.通常,功能屬性用于描述需求“是否有效”,而非功能屬性用于描述“效果如何”.對于CPS,討論它們的NFP,包括功率、能量、時間、溫度、可靠性和性能等.在MARTE的幫助下,可以用其nfpType中的諸如NFP_CommonType、NF-pwer、NFP_Energy、NFP Boolean和NFP_Real等類型建模NFP.此外,可以使用MARTE(例如單位、維度和nfpType構(gòu)造型)來定義新的類型.本文提出了新的NFP-Temperature類型來建模溫度.這個定義非常簡單,類似于MARTE庫中定義的大多數(shù)nfpTypes,所以不在這里討論細節(jié)(更多的解釋參見文獻).
1.2.2架構(gòu)建模
對于系統(tǒng)工程而言,視圖(View)是一個用于分離橫切關(guān)注點的有用概念.專注于NFP的一個方面進行分析,以便提取一個復(fù)雜的系統(tǒng)中最重要的信息.視圖被定義為SysML中擴展元類包的構(gòu)造型,因此采用包圖(Package Diagram)來建模系統(tǒng)的架構(gòu).
塊定義圖(Block Definition Diagram)以及內(nèi)部框圖(Internal Block Diagram)是系統(tǒng)架構(gòu)建模的核心.塊定義圖基于類圖,為組件及它們之間的連接提供抽象表示.塊(Block)可以代表一個軟件組件、硬件單元或環(huán)境中的物理對象.端口(Port)包含于塊,可作為交互點.塊定義圖用來建模整個系統(tǒng)的架構(gòu),而內(nèi)部框圖則用來定義各個塊之間詳細的連接關(guān)系(connection).將已經(jīng)在塊定義圖中定義的塊的端口連接起來,由連接關(guān)系表示數(shù)據(jù)、能源等通過連接的端口進行的通信.為了建模CPS,將塊定義圖擴展為架構(gòu)圖(ArchitectureDiagram),該圖考慮將塊分為4種類型,并增加了新的屬性modelTp.此外,將內(nèi)部框圖擴展為連接圖(connection Diagram),增加了一個新的構(gòu)造型FMIConnection來描述塊之間的信息傳輸并表示該塊將會作為相應(yīng)的功能模型單元(Functional Mock-up Units,F(xiàn)MU[9])導(dǎo)出.具體擴展將在第2.1節(jié)中加以講解.
1.2.3設(shè)計建模
系統(tǒng)的設(shè)計建模需要建模CPS的特性,如連續(xù)性和不確定性.同時,還需要確保多個模型間的一致性.對于設(shè)計建模,具體可分為以下3步.
(1)時鐘建模:由于CPS與連續(xù)時鐘密切相關(guān),需要定義時間/時鐘域來建模系統(tǒng)的時鐘約束.本文使用pCCSL來建模時鐘約束.時鐘約束與pCCSL規(guī)約將用于后續(xù)的等式建模和行為建模以規(guī)范各模型之間的交互和同步并確保模型之間的邏輯一致性.在本文的協(xié)同建模方法中,這是至關(guān)重要的一步,因為多視圖模型間的一致性將由邏輯時鐘指定.
(2)等式建模:帶“der”關(guān)鍵字的參數(shù)圖可用于建模系統(tǒng)的連續(xù)行為并且定義用于建模物理動力學(xué)的常微分方程(Ordinary Differential Equations,ODE).在ODE中使用的變量應(yīng)是SysML中的Real類型或MARTE中的NFP_CommonType類型.
(3)行為建模:針對CPS的連續(xù)性和不確定性,CPS的行為建模包括連續(xù)行為建模和隨機行為建模.連續(xù)行為可以用參數(shù)圖中的常微分方程建模.為了建模隨機行為,MARTE提供了多個定義為NFP_CommonType操作的概率分布,每個都有其特定的參數(shù),所包括的概率分布函數(shù)有伯努利分布、二項分布、指數(shù)分布和高斯分布等.此外,MARTE還提供了一些Generic Quantitative AnMysis Modelling(GQAM)子配置文件中的構(gòu)造型.例如,構(gòu)造型GaStep擁有一個屬性prob,其類型是NFP_Real,意味著可以指定一個實數(shù)作為離散概率.狀態(tài)機圖是最常用的用于描述系統(tǒng)行為的模型,原因是許多CPS是事件驅(qū)動的,這意味著它們不斷地等待著一些外部或內(nèi)部事件的發(fā)生,如時間tick或者數(shù)據(jù)包的送達.在確認事件之后,這樣的系統(tǒng)通過執(zhí)行適當?shù)挠嬎銇矸答?事件處理完成后,系統(tǒng)返回等待下一個事件的狀態(tài),為狀態(tài)機圖中的狀態(tài)機增加新的profile,其狀態(tài)支持概率時間延遲以建模隨機行為,同時支持ODE以描述連續(xù)行為.具體擴展將在第2.2中加以講解.
與現(xiàn)有的工作相比,本文提出的方法的新穎之處在于:①該協(xié)同建模方法可以協(xié)同建模CPS的物理和信息部分,而其他大多數(shù)建模方法都只是專注于物理部分或信息部分;②該協(xié)同建模方法最大化了SysML、MARTE和pCCSL的建模優(yōu)勢,采用它們的優(yōu)點,協(xié)同建模CPS的特性.
2擴展的元模型
為了捕捉CPS的特性,本文擴展了3個SysML/MARTE圖的元模型.在本節(jié)中,將詳細介紹SysML/MARTE的這3個擴展的元模型.
2.1擴展的塊定義圖
塊定義圖經(jīng)常被用來建模系統(tǒng)的體系結(jié)構(gòu).圖2展示了擴展的塊定義圖的元模型,將其命名為架構(gòu)圖(Architecture Diagram),其擴展部分標記為粉紅色.架構(gòu)圖包含塊(Block)以及塊與塊之間的組成方式(composition).將塊分為4種類型:系統(tǒng)(system)、子系統(tǒng)(subSystem)、信息塊(cyberBlock)和物理塊(PhysicalBlock).為信息塊和物理塊增加新的屬性modelTp,該屬性表示模型的類型,包括離散(Discrete)模型和連續(xù)(continuous)模型.
將塊分為4種類型可以更加直觀地建模系統(tǒng)的整體架構(gòu),同時信息塊和物理塊也顯式地建模了系統(tǒng)的信息部分和物理部分;而信息塊和物理塊的新屬性則直觀地建模出該塊在系統(tǒng)中表現(xiàn)的是離散行為還是連續(xù)行為.
2.2擴展的內(nèi)部框圖
內(nèi)部框圖常常用來建模各個塊之間具體的連接關(guān)系.圖3展示了擴展的內(nèi)部框圖的元模型,命名為連接圖(connection Diagram),其擴展部分也被標記為粉紅色.端口的類型是FlowPort,意味著數(shù)據(jù)或能源等可以通過端口進入或離開所屬的塊.根據(jù)流動方向,F(xiàn)lowPort有3種類型:in、out和inout端口.此外,為連接關(guān)系connection增加了一個新的構(gòu)造型FMIConnection,它表示連接的塊將在協(xié)同仿真過程中作為相應(yīng)的FMU(FunctionalMock-up Unit)導(dǎo)出,在模型層面上就考慮到了后續(xù)的協(xié)同仿真.這些FMU之間的輸入和輸出必須與塊之間的輸入和輸出對應(yīng).連接關(guān)系攜帶與通過連接端口傳輸?shù)男畔⑾鄬?yīng)的類型,此類型必須與連接的端口一致.
2.3擴展的狀態(tài)機圖
如圖4所示,給狀態(tài)機圖中的狀態(tài)機增加新的profile,其狀態(tài)支持概率時間延遲以建模隨機行為,同時支持ODE以描述連續(xù)行為.狀態(tài)機由狀態(tài)(state)和遷移(Transition)組成,新增兩種狀態(tài)的構(gòu)造型,分別為ODEState和TDState.構(gòu)造型ODEState描述了在該狀態(tài)下的常微分方程(即連續(xù)行為),它們對應(yīng)于在參數(shù)圖中建模的ODE;考慮到ODE中涉及的連續(xù)變量基本上是NFP,ODEquation的類型使用MARTE中的NFP_String類型.構(gòu)造型TDState可以捕捉類型為NFP_CommonType的隨機時間延遲,如第1.2.3節(jié)所述,NFP_CommonType包括一組概率分布操作,包含有伯努利分布、指數(shù)分布、高斯分布等.
3案例分析
為了展示本文提出的協(xié)同建模方法的可用性,將智能建筑作為案例研究.
3.1系統(tǒng)需求
圖5(a)展示了具有5個房間和3個加熱器的智能建筑實例(具體可見文獻[10]中的HEATl5).為該實例選定特定的天氣條件和用戶行為,假定環(huán)境溫度在0°c和-2°c之間.圖5(b)顯示了1d內(nèi)溫度的變化.更多關(guān)于該案例的具體細節(jié)可以參閱文獻.
根據(jù)需求分析,確定系統(tǒng)的非功能需求,并采用列表的方法給出.如表l所示,變量variable的數(shù)據(jù)類型是NFP_CommonType的專門化,例如,energy(能量)被定義為NFP-energy.同樣地,在條件condition中使用的變量的數(shù)據(jù)類型也是NFP_CommonType的專門化.第一個需求描述了約束“能耗在100萬(本文不考慮單位)以內(nèi)的情況下,評估2d內(nèi)能耗的概率分布”;第二個需求是用來評估2 d內(nèi)不舒適度(discomfort)的概率分布;第三個需求是“在不舒適度在50內(nèi)的條件下評估2 d內(nèi)能量消耗的最小值”.
根據(jù)本文的協(xié)同建模方法,使用SysML/MARTE/pCCSL對智能建筑進行建模,主要部分如圖6所示.
3.2架構(gòu)建模
使用package diagram將系統(tǒng)分為幾個視圖,其中BuildingContext視圖描述了整個系統(tǒng),包括Room、Weather、Controller和UserProfile.Room視圖的層次結(jié)構(gòu)包括Heater和Tempe—ratureSensor,該視圖建模了房間的結(jié)構(gòu)、參數(shù)和行為方面.
在architecture diagram中,BuildingContext代表整個系統(tǒng),用構(gòu)造型System標記,包括Room、Weather、Controller和UserProfile.Room代表了5個房間的共同模板,因包括Heater和TemperatureSensor,Room用構(gòu)造型SubSystem標記.Weather、Controller、UserProfile、Heater和TemperatureSensor分別根據(jù)其所屬于物理部分或信息部分用構(gòu)造型PhysicalBlock或CyberBlock標記.對于其屬性modelTp,同樣根據(jù)其屬于連續(xù)模型或離散模型進行建模.需要注意的是,加熱器事實上是房間之間共享的.
在connection diagram中,數(shù)據(jù)流向以圖形方式顯示在每個端口上,其中一些連接由構(gòu)造型FMIConnection標記.注意智能建筑中的每個部分都是由clock構(gòu)造型標記的,這意味著它們的行為應(yīng)該由一些在pCCSL中指定的時鐘約束來同步.由此可以使用邏輯時鐘來識別SysML/MARTE圖中的各個同步點以確保模型之間的一致性.此外,本文使用nfpTypes來定義相關(guān)變量,如圖6中綠色部分,例如加熱器的能量e被定義為NFP Energy.
3.3設(shè)計建模
3.3.1時鐘建模
為了描述系統(tǒng)時間,本文指定了4個時鐘.定義一個名為BuildingClock的時鐘作為系統(tǒng)的物理基準時間,BuildingClock是離散的,且擁有一個只讀屬性的分辨度(Resolution).sysClk、hour、stepClk是BuildingClock的3個實例,擁有各自的時間單位和分辨度.具有高分辨度(0.01s)的sysClk時鐘用于精確地控制過程;具有低分辨度(1 h=3 600 s)的hour時鐘用于指定用戶的行為;stepClk類似于sysClk,但主要用于對連續(xù)行為的離散化.從MARTE的TimeLibrary中導(dǎo)入idealClk來使用pCCSL約束本文的時鐘實例f圖6 system time domain中的黃色部分).pCCSL規(guī)范有助于指定各種時鐘之間的一致性以協(xié)調(diào)多視圖模型.在時鐘域中定義的時鐘會在接下來的建模過程中使用.
3.3.2等式建模
系統(tǒng)的連續(xù)行為和物理動力學(xué)在CPS中有很重要的作用,可以用常微分方程表示.為了建模CPS中的連續(xù)行為和物理動力學(xué),本文用parametric diagram表示常微分方程.如圖6所示,在參數(shù)圖中,本文提出了4個方程:RoomTemperatureEquation、HeaterEnergyEquation、DiscomfortMonitorEquation和WeatherEquation.RoomTemperatureEquation建模每個房間的溫度變化,且取決于相鄰房間、外部天氣和加熱器.HeaterEnergyEquation用于建模每個加熱器的能耗.DiscomfortMonitorEquation用于建模用戶的不舒適度.WeatherEqua-tion描述外部溫度曲線.前3個方程使用了導(dǎo)數(shù)如d(T)/d(t),其中t指時鐘域中定義的stepClk時鐘.等式建模中也使用了NFP,例如RoomTemperatureEquation中的Tr、T和U定義為NFP_Temperature.
3.3.3行為建模
加熱器(heater)的行為由狀態(tài)機圖(state machine diagram)建模,其中狀態(tài)機(state ma-chine)由構(gòu)造型modeBehavior標記,狀態(tài)(state)由mode和ODEState構(gòu)造型標記,這意味著該狀態(tài)支持使用ODE描述連續(xù)行為,如耗能行為.“d(energy)/d(t)=power”表示加熱器處于打開(on)狀態(tài)時的相應(yīng)ODE(即參數(shù)圖中的HeaterEnergyEquation),t指代時鐘域中定義的時鐘stepClk.
控制器(controller)的行為同樣由state machine diagram建模,其中狀態(tài)由mode和TDState構(gòu)造型標記,這意味著該狀態(tài)支持隨機時間延遲.例如,“t=exp(100)”意味著時間延遲滿足指數(shù)分布,即在t個時間單位之前觸發(fā)的概率是1-e-100t.控制過程由時鐘域中定義的時鐘sysClk約束.
用戶行為(user profile)在智能建筑系統(tǒng)中也扮演著重要的角色.如圖6所示,用戶行為用活動圖(activity diagram)建模,活動(activity)由構(gòu)造型TimedProcessing標記,表示建模的活動擁有已知的開始和結(jié)束時間或者已知的持續(xù)時間.用戶行為引用時鐘域中定義的時鐘hour,整個過程由名為newday的時間事件(timedEvent)觸發(fā),該事件每天24h發(fā)生1次.在用戶行為中,本文用構(gòu)造型GaStep來標記離散概率并反映隨機行為.
該案例使用本文提出的協(xié)同建模方法進行建模,使用標準的建模語言建模信息物理融合系統(tǒng),考慮到了系統(tǒng)的異構(gòu)性、時鐘約束、隨機行為、連續(xù)性為和非功能屬性等.
4結(jié)論
本文提出了一種基于SysML/MARTE/pCCSL的協(xié)同建模方法,實現(xiàn)了從多視角建模CPS的特性,如異構(gòu)性、軟硬協(xié)同、連續(xù)行為、隨機行為和NFP,同時使用了pCCSL的時鐘概念協(xié)調(diào)多視圖模型.本文的目標是使用標準建模語言簡化對CPS的協(xié)同建模,貢獻點可總結(jié)為:①提出了一個基于SysML/MARTE/pCCSL的協(xié)同建模方法來建模CPS的特性;②擴展了SysML/MARTE以建模CPS的連續(xù)行為和隨機行為,介紹了擴展的框圖和狀態(tài)機圖的元模型;③整個過程以智能建筑為例進行說明.本文提出的建模方法所建的模型可以使用協(xié)同仿真技術(shù)進行仿真,并根據(jù)仿真結(jié)果進行驗證分析.接下來的工作就是對模型進行協(xié)同仿真.