一种基于cps-adl模型向混合程序转换的cps建模与验证方法

文档序号:6525443阅读:206来源:国知局
一种基于cps-adl模型向混合程序转换的cps建模与验证方法
【专利摘要】本发明公开了一种基于CPS-ADL模型向混合程序转换的CPS建模与验证方法,主要用于处理CPS建模与属性验证问题,其特征在于:在CPS-ADL平台上采用扩展的混成系统描述语言E-HYSDEL对CPS进行建模;给出HP模型的形式化定义HPM,并在满足模型转换一致性的前提下建立CPS-ADL模型元素与HP模型元素之间的转换规则;基于这些转换规则,将具体CPS的模型描述代码自动转换为混合程序;按照定理证明器KeYmaera的输入格式,由混合程序和以动态微分逻辑描述的系统属性公式生成KeYmaera的输入文件;在KeYmaera中打开输入文件,进行推理验证。本发明细化了基于CPS-ADL模型向HP转换的方法和机制,实现了CPS-ADL模型元素向HP模型元素转换的规则。
【专利说明】—种基于CPS-ADL模型向混合程序转换的CPS建模与验证方法
【技术领域】
[0001]本发明属于通讯【技术领域】,涉及一种基于CPS-ADL模型向混合程序转换的CPS建模与验证方法。
【背景技术】
[0002]信息物理系统(Cyber Physical System, CPS)通过在物理设备中嵌入感知、通信和计算能力,实现对外部环境的分布式感知、可靠数据传输和智能信息处理,并通过反馈机制实现计算实体对物理设备的实时监测与控制。CPS应用领域十分广泛,包括智能交通系统,远程医疗,智能电网,航空航天等。
[0003]CPS的实时性、安全性和可靠性等属性能否满足要求往往是其在关键领域应用的前提。模型分析和验证技术可以在系统设计阶段确定CPS的属性是否满足实际应用需求,在确保系统安全性、可靠性和实时性等方面起到了关键作用,同时也有效降低了系统开发风险。
[0004]近年来,模型检验和定理证明等形式化方法越来越多地被应用于CPS分析验证中。模型检验的主要优点是自动化程度高,广泛应用于离散系统验证,但CPS通常为混成系统,既有离散状态迁移,也有动态连续变化过程,系统的状态是无穷的。从实际应用角度看,定理证明的思路更适合于复杂CPS的属性分析与验证。其中,Platzer提出的微分动态逻辑(Differential Dynamic Logic, dL),语法严谨、语义清晰,在安全相关系统的分析验证中应用较为广泛。
[0005]KeYmaera是一种支持微分动态逻辑的定理证明工具,自动化程度较高,适合于像CPS这样的复杂混成系统的分析,已被成功用于空中交通管制、高速列车系统和汽车自动巡航控制系统中,以减少潜在的危险隐患。
[0006]系统建模是对其属性进行分析验证的前提。在系统建模阶段,为了使模型直观易懂,通常采用通用图形化的建模工具。微分动态逻辑的操作模型为混合程序(HybridPrograms, HP),使用HP对CPS所建的模型便于验证,但模型表现形式比较抽象,在CPS的设计过程中难以方便有效地使用。
[0007]CPS-ADL是图形化的CPS建模、分析与仿真的综合集成软件平台。该平台对架构分析与设计语言(Architecture Analysis and Design Language,AADL)语言进行扩展,实现对CPS静态结构建模;对混成系统描述语言HYSDEL进行扩展,实现对CPS动态行为建模。
[0008]图1给出了描述CPS模型的E-HYSDEL代码的组成结构。程序代码主要由两部分组成:第一部分为INTERFACE,用于声明系统中所有的变量和参数,包括STATE,INPUT, OUTPUT和PARAMETER四个函数,分别声明系统的状态、输入、输出和参数列表,并接受编译器规则类型的检测;第二部分为MPLEMENTATION,由各个定义变量间关系的专用函数构成,包括AUX、AD、DA、LOGIC、CONTINUOUS、LINEAR 以及 AUTOMATA 等函数,简单介绍如下:
[0009]1) AUX函数:定义辅助连续变量和逻辑变量;[0010]2) AD函数:允许根据连续事件定义的布尔变量;
[0011]3)DA函数:该函数是利用if-then-else语句,根据布尔变量定义连续变量;
[0012]4) LOGIC函数:允许定义任意布尔变量,特别是布尔变量模式选择器;
[0013]5) CONTINUOUS函数:这部分以微分方程或者差分方程来描述线性动态变化的物
理规律;
[0014]6) LINEAR函数:允许以连续变量分段函数形式来定义辅助连续变量;
[0015]7) AUTOMATA 函数:该函数以布尔函数 X' b (k) =fB (xb (k),ub (k),5e (k))的形式定义有限状态机FSM的状态转换方程;
[0016]8) MUST函数:该函数可以指定连续变量和布尔变量的约束,线性约束和布尔准则;
[0017]9) OUTPUT函数:定义输出向量y=[yr,yb]T的静态线性和逻辑关系,乂.^ ^,
3^{0,1’
ο
[0018]在实际CPS建模过程中,根据需要实现其中的部分函数。

【发明内容】

[0019]本发明的目的在于克服上述技术存在的缺陷,提供一种基于CPS-ADL模型向混合程序转换的CPS建模与验证方法,将CPS-ADL的建模能力与HP的形式化验证能力结合起来,提出了一种基于CPS-ADL模型向HP转换的CPS建模与验证方法,主要用于处理CPS建模与属性验证问题。细化了基于CPS-ADL模型向混合程序转换的方法和机制,实现了 CPS-ADL模型元素向HP模型元素转换的规则。
[0020]其具体技术方案为:
[0021 ] 一种基于CPS-ADL模型向混合程序转换的CPS建模与验证方法,包括如下步骤:
[0022]步骤1:对混成系统描述语言HYSDEL进行扩展,得到在CPS-ADL平台中对CPS行为建模的语言E-HYSDEL ;
[0023]在HYSDEL声明部分INTERFACE中添加时间的声明,这部分时间属性的声明包括两部分:连续状态变化的连续时间变量tx以及输入控制量的时间、或Ts,其中连续状态变化的时间tx表示当前系统物理实体的时间,tu表示连续的输入控制量u的时间,Tu则表示离散的输入控制量U的时间戳;
[0024]步骤2:给出混合程序模型HPM (Hybrid Program Model)的形式化定义:
[0025]HPM= (PD, VD, PC, SHPS)
[0026]其中,PD(ParametersDeclaration)表不参数声明;VD(Variables Declaration)表示动态变量声明;PC (Precondition)表示前置条件,也就是系统运行前各数据满足的条件;SHPS (Sub Hybrid Program Set)表示混合程序中包含的子混合程序模型SHP集合,每个SHP的形式化定义如下:
[0027]SHP= (MS, DTS, CTS)
[0028]MS (Mode Set)表不离散状态 Mode (模式)的集合;DTS (Discrete TransitionSet)表示离散状态迁移集合,即Mode之间的迁移;CTS (Continues Transition Set)表示连续迁移集合,一般描述单个Mode内部的连续变化过程;[0029]步骤3:建立CPS-ADL模型元素与HPM元素之间的转换规则:
[0030]CPS-ADL各个模型元素由E-HYSDEL的不同函数进行描述,建立两种模型之间的元素转换规则主要是给出CPS-ADL模型中的函数与HPM中各元素之间的映射关系。按照内容不同,把转换规则分为数据转换规则、结构转换规则、模式转换规则、迁移转换规则和约束转换规则五类;
[0031 ] 步骤4:在CPS-ADL平台上采用扩展的混成自动机描述语言E-HYSDEL对CPS进行建模;
[0032]步骤5:利用步骤3中建立的两种模型元素间的转换规则,根据步骤4中建立的CPS模型生成HPM,然后根据HPM得到混合程序;
[0033]步骤6:将需要验证的CPS属性描述为符合微分动态逻辑(dL)的属性约束公式,进行必要的规约;
[0034]步骤7:根据定理证明器KeYmaera的输入格式要求,将步骤5中得到的混合程序和步骤6中得到的待验证属性公式格式化,最后生成KeYmaera的输入代码;
[0035]对照HP表示法和KeYmaera输入表示法,替换HP中的运算符、标识符等语法元素,添加必要的辅助标识,调整构成元素的位置和结构;
[0036]步骤8:在定理证明器KeYmaera中打开步骤7中得到的输入代码文件,进行验证,得到验证结论。
[0037]进一步优选,步骤3中所述数据转换规则、结构转换规则、模式转换规则、迁移转换规则和约束转换规则具体为:
[0038]数据转换规则:将INTERFACE部分的INPUT函数、INTERFACEOUTPUT函数和AUX函数映射为HPM中的元素VD ;将PARAMETER函数映射为HPM中的元素;
[0039]结构转换规则:将STATE函数中的每个状态变量转换为一个SHP,从而STATE函数映射为SHPS ;
[0040]模式转换规则:从AD函数、DA函数、LOGIC函数、C0UTINU0US函数、LINEAR函数和AUTOMATA函数映射各SHP中的MS,一般地,布尔型变量对应两个Mode,连续型变量对应的Mode数量与其函数式的分段数量相等,每个Mode的基本属性包括名称、类型等,对于连续型变量对应的Mode,还要描述变量在当前Mode下的变化公式,进一步,根据变量间的依赖关系将Mode加入到相应HPM的MS中,同一个Mode若与多个状态变量有直接或间接依赖关系,则可加入到多个HPM的MS中,若两个Mode分别是某个迁移的源节点和目标节点,则加入到相同的HPM中;
[0041]迁移转换规则:从AD函数、DA函数、LOGIC函数、C0UTINU0US函数、LINEAR函数和AUTOMATA函数映射各SHP中的DTS和CTS,一般地,分支结构的一个分支对应一个迁移,迁移规则描述包括源节点、目标节点、迁移触发条件和迁移输出,根据迁移的源节点和目标节点,将迁移加入相应的SHP ;
[0042]约束转换规则:将MUST函数以及INPUT函数和STATE中对变量取值的限定条件转换为HPM中的PC。
[0043]与现有技术相比,本发明的有益效果为:本发明基于CPS-ADL模型向混合程序转换的CPS建模与验证方法主要用于处理CPS建模与属性验证问题。细化了基于CPS-ADL模型向混合程序转换的方法和机制,给出了 HP的形式化定义,实现了 CPS-ADL模型元素向HP模型元素转换的规则。
【专利附图】

【附图说明】
[0044]图1是E-HYSDEL的语法结构;
[0045]图2是本发明基于CPS-ADL模型向混合程序转换的CPS建模与验证方法的流程图
[0046]图3是KeYmaera输入格式;
[0047]图4是室温控制系统示意图;
[0048]图5是室温控制系统状态图;
[0049]图6是HP表不符号与KeYmaera表不符号对照关系图。
【具体实施方式】
[0050]下面结合附图和具体实施例对本发明的技术方案作进一步详细地说明。
[0051]参照图2,本发明基于CPS-ADL模型向混合程序转换的CPS建模与验证方法,包括以下步骤:
[0052]按步骤1,在HYSDEL的声明部分INTERFACE中添加时间的声明,这部分时间属性的声明包括两部分:连续状态变化的连续时间变量&以及输入控制量的时间tu或Ts。其中连续状态变化的时间tx表示当前系统物理实体的时间,即与物理世界的时间是一致的;而系统的输入控制量有可能是连续输入量u,也有可能是离散的输入控制量U,因此需要对不同的输入类型声明不同的时间属性,tu表不连续的输入控制量u的时间,Tu则表不离散的输入控制量U的时间戳,tu或Tx与tx可能会不一致,这正是由于控制指令到达该行为过程中的时间延迟,即控制指令传输的时延ATu=tx_tu或ATu=tx_Tu。假定这些时间参数均属于系统状态或输入控制量的一种属性,将这类时间属性直接定义在相应状态量或输入量的内部即可。
[0053]按步骤2,给出混合程序模型HPM的形式化描述形式:
[0054]HPM= (PD, VD, PC, SHPS)
[0055]其中,PD(ParametersDeclaration)表不参数声明;VD(Variables Declaration)表示动态变量声明;PC (Precondition)表示前置条件,也就是系统运行前各数据满足的条件;SHPS (Sub Hybrid Program Set)表示混合程序中包含的子混合程序模型SHP集合,每个SHP的形式化定义如下:
[0056]SHP= (MS, DTS, CTS)
[0057]MS (Mode Set)表不离散状态 Mode (模式)的集合;DTS (Discrete TransitionSet)表示离散状态迁移集合,即Mode之间的迁移;CTS (Continues Transition Set)表示连续迁移集合。
[0058]按步骤3,建立CPS-ADL模型元素与HPM元素之间的转换规则,即建立两种模型之间的元素转换规则,主要是给出CPS-ADL模型中的函数与HPM中各元素之间的映射关系。转换规则分为数据转换规则、结构转换规则、模式转换规则、迁移转换规则和约束转换规则五类。
[0059]按步骤4,在CPS-ADL平台上采用扩展的混成自动机描述语言E-HYSDEL对如图4所示的室温控制系统进行建模。[0060]室温控制是一个典型的CPS应用。在同一个房间的不同位置有两个人,房间装有加热器、空调和窗户,这些装置都可以对房间内的温度产生影响。T1表示第一个人所处位置的温度,T2表不第二个人所处位置的温度,Tamb表不室外的环境温度,Uhot表不加热器工作时的能流,Ucold表示空调工作时的能流。当温度T1超过Thotl时,第一个人会感觉太热,将打开空调;当温度T1低于Tcoldl时,他会感觉太冷,将打开加热器。当温度T2超过Thot2时,第二个人会感觉太热,此时若第一个人不感觉冷,他将打开空调:当温度T2低于Tcold2时,他会感觉太冷,此时若第一个人不感觉热,他将打开加热器。其他情况下加湿器和空调都是关闭的。房间的窗口总是打开的。图5进一步描述了该系统中各组成部分的状态变化。
[0061 ] 已知T1和T2的变化规律可以用以下微分方程表示:
[0062]T11 =_alphal* (Tl-Tamb)+kl* (uhot-ucold)
[0063]或T1=TI+Ts* (-alphal* (Tl-Tamb)+kl* (uhot-ucold))
[0064]T21 =_alpha2* (T2_Tamb)+k2* (uhot-ucold)
[0065]或T2=T2+Ts* (_alpha2* (T2_Tamb)+k2* (uhot-ucold))
[0066]式中,uhot、ucold分别表示任意时刻加热器和空调的的能流。各系数的取值为:Ts=0.5, alphal = l, alpha2=0.5, kl=0.8, k2=0.4, Thotl=30, Tcoldl=15, Thot2=35,Tcold2=10,Uc=2,Uh=2。
[0067]需要验证结论是为当10≤Tamb ( 30,初始状态为35 ( ΤΙ, T2 ( 40时,状态10 ( ΤΙ, T2 ( 15是不可达的。
[0068]按照图1所示E-HYSDEL的语法结构,在CPS-ADL中对室温控制系统建模中需要实现其中的STATE函数、INPUT函数、OUTPUT函数、PARAMETER函数、AUX函数、AD函数、DA函数和CONTINUOUS函数。所得的E-HYSDEL代码如下:
[0069]
【权利要求】
1.一种基于CPS-ADL模型向混合程序转换的CPS建模与验证方法,其特征在于,包括如下步骤:步骤1:对混成系统描述语言HYSDEL进行扩展,得到在CPS-ADL平台中对CPS行为建模的语言E-HYSDEL ;在HYSDEL声明部分INTERFACE中添加时间的声明,这部分时间属性的声明包括两部分:连续状态变化的连续时间变量tx以及输入控制量的时间、或Ts,其中连续状态变化的时间tx表示当前系统物理实体的时间,tu表示连续的输入控制量u的时间,Tu则表示离散的输入控制量U的时间戳;步骤2:给出混合程序模型HPM的形式化定义:HPM= (PD, VD, PC, SHPS)其中,ro表示参数声明;VD表示动态变量声明;PC表示前置条件,也就是系统运行前各数据满足的条件;SHPS表示混合程序中包含的子混合程序模型SHP集合,每个SHP的形式化定义如下:SHP= (MS, DTS, CTS)MS (Mode Set)表示离散状态模式的集合;DTS表示离散状态迁移集合,即Mode之间的迁移;CTS表示连续迁移集合,描述单个Mode内部的连续变化过程;步骤3:建立CPS-ADL模型元素与HPM元素之间的转换规则:CPS-ADL各个模型元素由E-HYSDEL的不同函数进行描述,建立两种模型之间的元素转换规则主要是给出CPS-ADL模型中的函数与HPM中各元素之间的映射关系,按照内容不同,把转换规则分为数据转换规则、结构转换规则、模式转换规则、迁移转换规则和约束转换规则五类;`步骤4:在CPS-ADL平台上采用扩展的混成自动机描述语言E-HYSDEL对CPS进行建模;步骤5:利用步骤3中建立的两种模型元素间的转换规则,根据步骤4中建立的CPS模型生成HPM,然后根据HPM得到混合程序;步骤6:将需要验证的CPS属性描述为符合微分动态逻辑的属性约束公式,进行必要的规约;步骤7:根据定理证明器KeYmaera的输入格式要求,将步骤5中得到的混合程序和步骤6中得到的待验证属性公式格式化,最后生成KeYmaera的输入代码;对照HP表示法和KeYmaera输入表示法,替换HP中运算符、标识符等语法元素,添加必要的辅助标识,调整构成元素的位置和结构;步骤8:在定理证明器KeYmaera中打开步骤7中得到的输入代码文件,进行验证,得到验证结论。
2.根据权利要求1所述的基于CPS-ADL模型向混合程序转换的CPS建模与验证方法,其特征在于,步骤3中所述数据转换规则、结构转换规则、模式转换规则、迁移转换规则和约束转换规则具体为:数据转换规则:将INTERFACE部分的INPUT函数、INTERFACEOUTPUT函数和AUX函数映射为HPM中的元素VD ;将PARAMETER函数映射为HPM中的元素;结构转换规则:将STATE函数中的每个状态变量转换为一个SHP,从而STATE函数映射为 SHPS ;模式转换规则:从AD函数、DA函数、LOGIC函数、C0UTINU0US函数、LINEAR函数和AUTOMATA函数映射各SHP中的MS,布尔型变量对应两个Mode,连续型变量对应的Mode数量与其函数式的分段数量相等,每个Mode的基本属性包括名称、类型等,对于连续型变量对应的Mode,还要描述变量在当前Mode下的变化公式,进一步,根据变量间的依赖关系将Mode加入到相应HPM的MS中,同一个Mode若与多个状态变量有直接或间接依赖关系,则可加入到多个HPM的MS中,若两个Mode分别是某个迁移的源节点和目标节点,则加入到相同的HPM中;迁移转换规则:从AD函数、DA函数、LOGIC函数、C0UTINU0US函数、LINEAR函数和AUTOMATA函数映射各SHP中的DTS和CTS,分支结构的一个分支对应一个迁移,迁移规则描述包括源节点、目标节点、迁移触发条件和迁移输出,根据迁移的源节点和目标节点,将迁移加入相应的SHP ;约束转换规则:将MUST函数以及INPUT函数和STATE中对变量取值的限定条件转换为HPM 中的PC。
【文档编号】G06F17/50GK103699743SQ201310723208
【公开日】2014年4月2日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】周兴社, 拓明福, 张凡, 杨刚, 单黎君, 杨亚磊, 张军 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1