APP下载

一种基于sysML/MARTE/pCCsL的信息物理融合系统协同建模方法

2019-06-11黄平杜德慧

关键词:智能建筑

黄平 杜德慧

摘要:信息物理融合系统(cyber-Physical Systems,CPS)是一个综合计算、网络和物理环境的多维复杂系统.针对这种异构系统的建模问题一直是人们研究的重点,但是,缺乏系统性的方法来建模CPS的特性,如异构性、不确定性、软硬协同和非功能属性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)的协同建模方法,实现了从不同视角建模CPS的不同特征,包括系统的结构、行为、时钟约束和NFP.该方法的新颖性在于使用pCCSL规约各模型之间的交互和同步,显式地建模模型之间的逻辑一致性.同时,为了捕捉CPS的特性如随机行为和连续行为,扩展了一些SysML/MARTE的元模型.最后,给出了一个智能建筑的案例以展示所提出的协同建模方法的可用性.

关键词:信息物理融合系统;SysML/MARTE/pCCSL;协同建模;元模型;智能建筑

中图分类号:TP311 文献标志码:A DOI:10.3969/.j.issn.1000-5641.2019.01.006

0引言

信息物理融合系统(cPS)是一个综合计算、网络和物理环境的多维复杂系统.“信息”部分通常被概括为“3c”,即,计算、通信和控制的一体化.这与传统的实时系统非常相似,其功能是逻辑的、离散的或可切换的.“物理”部分与自然环境息息相关,这些自然环境遵循着一定的物理定律和连续时间的变化.此外,“物理”部分的复杂性也来源于不可避免地随机用户行为以及一些模糊的物理动态,其往往表示为一个具有一定的概率分布的过程.因此,CPS的特性包括异构性、软硬协同、连续行为、随机行为和非功能属性(NFP)等.现如今,CPS拥有着大量的社会影响,从汽车系统、制造业、自动化高速公路系统fAutomatedhighway System,AHS)、空中交通管制系统,到个人和医疗设备、智能电网和智能建筑等,应用范围十分广泛.但是,建模CPS仍然是一个具有挑战性的题难.

单独设计并分析“信息”部分和“物理”部分然后将它们连接起来是不够的.为了实现包括计算和物理过程在内的不同组件的集成,必须设计它们之间的交互.因此,找到一种更加灵活和标准化的方法已经成为亟待解决的问题.考虑到业界的接受度、对工具的支持和高可读性,在设计CPS模型时,本文更倾向于UML(unified Modeling Language)/MARTE等标准建模语言.因此,模型之间的一致性仍然是一个问题.为了解决这些问题,本文提出了一种基于SysML/MARTE/pCCSL的协同建模CPS的方法.

本文的贡献在于:①提出了一种基于SysML/MARTE/pCCSL的协同建模方法,建模CPS的异构性、软硬协同、连续行为、随机行为和NFP,提出了使用pCCSL规约各模型之间的交互和同步,显式地建模模型之间的逻辑一致性;②针对CPS系统的异构性、连续性、不确定性,提出了3个扩展的SysML/MARTE元模型,包括扩展的框图和状态机图;③整个过程以智能建筑为例进行说明,本文工作的意义,在于提出了一种扩展标准建模语言、支持建模CPS的各个特性的协同建模方法,并使用pCCSL规约确保各个模型之间的逻辑一致性.

本文接下来的组织结构如下:第1节介绍本文提出的基于SysML/MARTE/pCCSL的协同建模方法;第2节介绍本文提出的协同建模方法中用到的扩展建模元素的元模型;第3节给出一个智能建筑的案例以展示本文所提的协同建模方法的可用性;第4节对全文进行总结.

1基于SysML/MARTE/pCCSL的协同建模方法

灵活的配置文件(profile)机制使UML成为一种可扩展的语言.目前最知名的配置文件是SysML和MARTE.本文采用SysML来建模系统的架构和连续行为(即“物理”部分);同时,采用MARTE来建模非功能属性和随机行为(即“信息”部分).pCCSL作为时钟约束规范语言(cCSL[51)的扩展,被用于规范各个异构模型之间的一致性.首先,简要介绍该方法中使用的3种建模语言.

1.1协同建模方法的相关建模语言

1.1.1 SysML

系統建模语言(sysML)是一种通用的图形建模语言,它扩展了基本的UML以支持复杂系统的规约、设计、验证和分析.SysML包括对系统物理和性能属性的需求、分配、结构组成、互连、行为、约束的建模.更多的关于SysML的细节可以参阅文献.

1.1.2 MARTE

MARTE是一个用于实时和嵌入式系统(Real-Time Embedded Systems,RTES)建模分析的UML配置文件,作为一个改进版本来替代现有的关于可调度性、性能和时间的UML配置文件,还支持规约、设计、验证和分析.MARTE包括4个子配置文件:基础、设计模型、分析模型和附件,其中附件的MARTE库中包含许多与NFP相关的有用的数据类型.实际上,MARTE采纳了很多涵盖各个方面的优秀思想,它不仅可用于RTES,还具有更广泛的应用.更多关于MARTE的细节可以参阅文献

1.1.3 pCCSL

在近期的工作中,本研究小组提出了pCCSL,它是CCSL的概率扩展,一共有3个扩展.第一个是在子时钟关系上添加一个rate参数,它指定了子时钟与其父时钟相比的tick速率.通过这种方式,pCCSL便于建模系统的随机行为.第二个扩展是将概率分配给一个时钟,以替换一个表达式.第三个扩展是设置一个参数A来控制一个时钟是否tick,参数A根据指数分布控制时钟的tick.在pCCSL的帮助下,SysML/MARTE模型可以连接在一起完成对CPS的多视角建模.更多关于pCCSL的细节可以参阅文献…

1.2协同建模方法概述

CPS建模的挑战在于其异构性以及多个组件之间的交互,且这些组件可能使用完全不同的领域语言或工具设计.为了减少多重组件交互的复杂性,已经有研究提出了一个基于中间语言的结构框架.但是,要定义适用于所有领域的中间语言是很困难的.因此本文尝试去寻找一种更加基于标准的方法:使用SysML和MARTE建模系统的架构、行为和NFP等方面;使用pCCSL确保这些模型之间的逻辑一致性.

因此,本文提出的是一种多视角的协同建模方法,使用SysML/MARTE/pCCSL协同建模CPS,协同建模方法框架见图1所示.该协同建模方法包括3个阶段:需求建模阶段、架构建模阶段、设计建模阶段.具体的建模方法如下.

1.2.1需求建模

协同建模方法从需求分析开始.通常,功能属性用于描述需求“是否有效”,而非功能属性用于描述“效果如何”.对于CPS,讨论它们的NFP,包括功率、能量、时间、温度、可靠性和性能等.在MARTE的帮助下,可以用其nfpType中的诸如NFP_CommonType、NF-pwer、NFP_Energy、NFP Boolean和NFP_Real等类型建模NFP.此外,可以使用MARTE(例如单位、维度和nfpType构造型)来定义新的类型.本文提出了新的NFP-Temperature类型来建模温度.这个定义非常简单,类似于MARTE库中定义的大多数nfpTypes,所以不在这里讨论细节(更多的解释参见文献).

1.2.2架构建模

对于系统工程而言,视图(View)是一个用于分离横切关注点的有用概念.专注于NFP的一个方面进行分析,以便提取一个复杂的系统中最重要的信息.视图被定义为SysML中扩展元类包的构造型,因此采用包图(Package Diagram)来建模系统的架构.

块定义图(Block Definition Diagram)以及内部框图(Internal Block Diagram)是系统架构建模的核心.块定义图基于类图,为组件及它们之间的连接提供抽象表示.块(Block)可以代表一个软件组件、硬件单元或环境中的物理对象.端口(Port)包含于块,可作为交互点.块定义图用来建模整个系统的架构,而内部框图则用来定义各个块之间详细的连接关系(connection).将已经在块定义图中定义的块的端口连接起来,由连接关系表示数据、能源等通过连接的端口进行的通信.为了建模CPS,将块定义图扩展为架构图(ArchitectureDiagram),该图考虑将块分为4种类型,并增加了新的属性modelTp.此外,将内部框图扩展为连接图(connection Diagram),增加了一个新的构造型FMIConnection来描述块之间的信息传输并表示该块将会作为相应的功能模型单元(Functional Mock-up Units,FMU[9])导出.具体扩展将在第2.1节中加以讲解.

1.2.3设计建模

系统的设计建模需要建模CPS的特性,如连续性和不确定性.同时,还需要确保多个模型间的一致性.对于设计建模,具体可分为以下3步.

(1)时钟建模:由于CPS与连续时钟密切相关,需要定义时间/时钟域来建模系统的时钟约束.本文使用pCCSL来建模时钟约束.时钟约束与pCCSL规约将用于后续的等式建模和行为建模以规范各模型之间的交互和同步并确保模型之间的逻辑一致性.在本文的协同建模方法中,这是至关重要的一步,因为多视图模型间的一致性将由逻辑时钟指定.

(2)等式建模:带“der”关键字的参数图可用于建模系统的连续行为并且定义用于建模物理动力学的常微分方程(Ordinary Differential Equations,ODE).在ODE中使用的变量应是SysML中的Real类型或MARTE中的NFP_CommonType类型.

(3)行为建模:针对CPS的连续性和不确定性,CPS的行为建模包括连续行为建模和随机行为建模.连续行为可以用参数图中的常微分方程建模.为了建模随机行为,MARTE提供了多个定义为NFP_CommonType操作的概率分布,每个都有其特定的参数,所包括的概率分布函数有伯努利分布、二项分布、指数分布和高斯分布等.此外,MARTE还提供了一些Generic Quantitative AnMysis Modelling(GQAM)子配置文件中的构造型.例如,构造型GaStep拥有一个属性prob,其类型是NFP_Real,意味着可以指定一个实数作为离散概率.状态机图是最常用的用于描述系統行为的模型,原因是许多CPS是事件驱动的,这意味着它们不断地等待着一些外部或内部事件的发生,如时间tick或者数据包的送达.在确认事件之后,这样的系统通过执行适当的计算来反馈.事件处理完成后,系统返回等待下一个事件的状态,为状态机图中的状态机增加新的profile,其状态支持概率时间延迟以建模随机行为,同时支持ODE以描述连续行为.具体扩展将在第2.2中加以讲解.

与现有的工作相比,本文提出的方法的新颖之处在于:①该协同建模方法可以协同建模CPS的物理和信息部分,而其他大多数建模方法都只是专注于物理部分或信息部分;②该协同建模方法最大化了SysML、MARTE和pCCSL的建模优势,采用它们的优点,协同建模CPS的特性.

2扩展的元模型

为了捕捉CPS的特性,本文扩展了3个SysML/MARTE图的元模型.在本节中,将详细介绍SysML/MARTE的这3个扩展的元模型.

2.1扩展的块定义图

块定义图经常被用来建模系统的体系结构.图2展示了扩展的块定义图的元模型,将其命名为架构图(Architecture Diagram),其扩展部分标记为粉红色.架构图包含块(Block)以及块与块之间的组成方式(composition).将块分为4种类型:系统(system)、子系统(subSystem)、信息块(cyberBlock)和物理块(PhysicalBlock).为信息块和物理块增加新的属性modelTp,该属性表示模型的类型,包括离散(Discrete)模型和连续(continuous)模型.

将块分为4种类型可以更加直观地建模系统的整体架构,同时信息块和物理块也显式地建模了系统的信息部分和物理部分;而信息块和物理块的新属性则直观地建模出该块在系统中表现的是离散行为还是连续行为.

2.2扩展的内部框图

内部框图常常用来建模各个块之间具体的连接关系.图3展示了扩展的内部框图的元模型,命名为连接图(connection Diagram),其扩展部分也被标记为粉红色.端口的类型是FlowPort,意味着数据或能源等可以通过端口进入或离开所属的块.根据流动方向,FlowPort有3种类型:in、out和inout端口.此外,为连接关系connection增加了一个新的构造型FMIConnection,它表示连接的块将在协同仿真过程中作为相应的FMU(FunctionalMock-up Unit)导出,在模型层面上就考虑到了后续的协同仿真.这些FMU之间的输入和输出必须与块之间的输入和输出对应.连接关系携带与通过连接端口传输的信息相对应的类型,此类型必须与连接的端口一致.

2.3扩展的状态机图

如图4所示,给状态机图中的状态机增加新的profile,其状态支持概率时间延迟以建模随机行为,同时支持ODE以描述连续行为.状态机由状态(state)和迁移(Transition)组成,新增两种状态的构造型,分别为ODEState和TDState.构造型ODEState描述了在该状态下的常微分方程(即连续行为),它们对应于在参数图中建模的ODE;考虑到ODE中涉及的连续变量基本上是NFP,ODEquation的类型使用MARTE中的NFP_String类型.构造型TDState可以捕捉类型为NFP_CommonType的随机时间延迟,如第1.2.3节所述,NFP_CommonType包括一组概率分布操作,包含有伯努利分布、指数分布、高斯分布等.

3案例分析

为了展示本文提出的协同建模方法的可用性,将智能建筑作为案例研究.

3.1系统需求

图5(a)展示了具有5个房间和3个加热器的智能建筑实例(具体可见文献[10]中的HEATl5).为该实例选定特定的天气条件和用户行为,假定环境温度在0°c和-2°c之间.图5(b)显示了1d内温度的变化.更多关于该案例的具体细节可以参阅文献.

根据需求分析,确定系统的非功能需求,并采用列表的方法给出.如表l所示,变量variable的数据类型是NFP_CommonType的专门化,例如,energy(能量)被定义为NFP-energy.同样地,在条件condition中使用的变量的数据类型也是NFP_CommonType的专门化.第一个需求描述了约束“能耗在100万(本文不考虑单位)以内的情况下,评估2d内能耗的概率分布”;第二个需求是用来评估2 d内不舒适度(discomfort)的概率分布;第三个需求是“在不舒适度在50内的条件下评估2 d内能量消耗的最小值”.

根据本文的协同建模方法,使用SysML/MARTE/pCCSL对智能建筑进行建模,主要部分如图6所示.

3.2架构建模

使用package diagram将系统分为几个视图,其中BuildingContext视图描述了整个系统,包括Room、Weather、Controller和UserProfile.Room視图的层次结构包括Heater和Tempe—ratureSensor,该视图建模了房间的结构、参数和行为方面.

在architecture diagram中,BuildingContext代表整个系统,用构造型System标记,包括Room、Weather、Controller和UserProfile.Room代表了5个房间的共同模板,因包括Heater和TemperatureSensor,Room用构造型SubSystem标记.Weather、Controller、UserProfile、Heater和TemperatureSensor分别根据其所属于物理部分或信息部分用构造型PhysicalBlock或CyberBlock标记.对于其属性modelTp,同样根据其属于连续模型或离散模型进行建模.需要注意的是,加热器事实上是房间之间共享的.

在connection diagram中,数据流向以图形方式显示在每个端口上,其中一些连接由构造型FMIConnection标记.注意智能建筑中的每个部分都是由clock构造型标记的,这意味着它们的行为应该由一些在pCCSL中指定的时钟约束来同步.由此可以使用逻辑时钟来识别SysML/MARTE图中的各个同步点以确保模型之间的一致性.此外,本文使用nfpTypes来定义相关变量,如图6中绿色部分,例如加热器的能量e被定义为NFP Energy.

3.3设计建模

3.3.1时钟建模

为了描述系统时间,本文指定了4个时钟.定义一个名为BuildingClock的时钟作为系统的物理基准时间,BuildingClock是离散的,且拥有一个只读属性的分辨度(Resolution).sysClk、hour、stepClk是BuildingClock的3个实例,拥有各自的时间单位和分辨度.具有高分辨度(0.01s)的sysClk时钟用于精确地控制过程;具有低分辨度(1 h=3 600 s)的hour时钟用于指定用户的行为;stepClk类似于sysClk,但主要用于对连续行为的离散化.从MARTE的TimeLibrary中导入idealClk来使用pCCSL约束本文的时钟实例f图6 system time domain中的黄色部分).pCCSL规范有助于指定各种时钟之间的一致性以协调多视图模型.在时钟域中定义的时钟会在接下来的建模过程中使用.

3.3.2等式建模

系统的连续行为和物理动力学在CPS中有很重要的作用,可以用常微分方程表示.为了建模CPS中的连续行为和物理动力学,本文用parametric diagram表示常微分方程.如图6所示,在参数图中,本文提出了4个方程:RoomTemperatureEquation、HeaterEnergyEquation、DiscomfortMonitorEquation和WeatherEquation.RoomTemperatureEquation建模每个房间的温度变化,且取决于相邻房间、外部天气和加热器.HeaterEnergyEquation用于建模每个加热器的能耗.DiscomfortMonitorEquation用于建模用户的不舒适度.WeatherEqua-tion描述外部温度曲线.前3个方程使用了导数如d(T)/d(t),其中t指时钟域中定义的stepClk时钟.等式建模中也使用了NFP,例如RoomTemperatureEquation中的Tr、T和U定义为NFP_Temperature.

3.3.3行为建模

加热器(heater)的行为由状态机图(state machine diagram)建模,其中状态机(state ma-chine)由构造型modeBehavior标记,状态(state)由mode和ODEState构造型标记,这意味着该状态支持使用ODE描述连续行为,如耗能行为.“d(energy)/d(t)=power”表示加热器处于打开(on)状态时的相应ODE(即参数图中的HeaterEnergyEquation),t指代时钟域中定义的时钟stepClk.

控制器(controller)的行为同样由state machine diagram建模,其中状态由mode和TDState构造型标记,这意味着该状态支持随机时间延迟.例如,“t=exp(100)”意味着时间延迟满足指数分布,即在t个时间单位之前触发的概率是1-e-100t.控制过程由时钟域中定义的时钟sysClk约束.

用户行为(user profile)在智能建筑系统中也扮演着重要的角色.如图6所示,用户行为用活动图(activity diagram)建模,活动(activity)由构造型TimedProcessing标记,表示建模的活动拥有已知的开始和结束时间或者已知的持续时间.用户行为引用时钟域中定义的时钟hour,整个过程由名为newday的时间事件(timedEvent)触发,该事件每天24h发生1次.在用户行为中,本文用构造型GaStep来标记离散概率并反映随机行为.

该案例使用本文提出的协同建模方法进行建模,使用标准的建模语言建模信息物理融合系统,考虑到了系统的异构性、时钟约束、随机行为、连续性为和非功能属性等.

4结论

本文提出了一种基于SysML/MARTE/pCCSL的协同建模方法,实现了从多视角建模CPS的特性,如异构性、软硬协同、连续行为、随机行为和NFP,同时使用了pCCSL的时钟概念协调多视图模型.本文的目标是使用标准建模语言简化对CPS的协同建模,贡献点可总结为:①提出了一个基于SysML/MARTE/pCCSL的协同建模方法来建模CPS的特性;②扩展了SysML/MARTE以建模CPS的连续行為和随机行为,介绍了扩展的框图和状态机图的元模型;③整个过程以智能建筑为例进行说明.本文提出的建模方法所建的模型可以使用协同仿真技术进行仿真,并根据仿真结果进行验证分析.接下来的工作就是对模型进行协同仿真.

猜你喜欢

智能建筑
通信技术在智能建筑中的应用
雷电防护技术在智能建筑的探讨
智能建筑的系统集成与控制技术分析
智能建筑暖通空调系统优化方法研究
浅析智能建筑自动化设备安装技术
智能建筑发展出现的问题和措施分析
试论智能建筑设计中的问题
智能建筑项目管理成本控制的几点看法
基于SPCEO61A的智能建筑消防监控系统设计