基于HybridUML向微分代数程序转换的CPS建模与验证方法

文档序号:6345098阅读:173来源:国知局
专利名称:基于HybridUML向微分代数程序转换的CPS建模与验证方法
技术领域
本发明是一种基于由HybridUML向微分代数程序转换的CPS建模与验证方法,该方法可以很方便的利用HybridUML对CPS进行建模,依据转换规则将HybridUML模型转换为微分代数程序,并且利用微分代数动态逻辑对系统属性进行描述和推理验证。
背景技术
通常情况下,由于CPS表现为对系统离散的控制和物理系统的连续变化,导致对于CPS的建模和验证及其的困难。混合自动机作为具有同时刻画离散变迁和连续变化特性的建模语言,可以用来对CPS系统进行建模,并且依据现有的状态自动机验证技术,可以用来对CPS进行验证。但是由于CPS是一种结合了软硬件以及物理环境的复杂系统,采用混合自动机在CPS验证过程中通常会出现状态爆炸问题。带标签的混合Petri网可以用来对 CPS系统建模和验证,并且对于验证过程中的状态爆炸问题,存在自动提取技术来提取模型中自己感兴趣的部分以简化模型。HybridUML是由UML扩展而来的,具有同时描述离散变迁和连续变化特性的能力, 并且提供图形化元素用于系统建模,可以很方便直观的对系统进行建模。但是它不利于进行形式化验证。微分代数动态逻辑可以同时刻画离散变迁和连续变化的能力,具有很强的逻辑推理能力,由于验证的过程是由逻辑推理得来的,因而避免了验证过程中状态爆炸的问题。但是微分代数动态逻辑的操作模型微分代数程序太过于抽象,给建模带来了很大的困难。本方法提供了由HybridUML模型向微分代数程序转换的规则,通过本方法可以使用HybridUML对CPS系统进行建模,然后能很方便的将HybridUML模型转换成微分代数程序,从来可以通过微分代数动态逻辑对系统属性进行描述以及推理验证。

发明内容
本发明对HybridUML形式化描述进行了扩展,并制定了由HybridUML模型向微分代数程序DAP转换的规则,使用HybridUML对系统进行建模进而转换为微分代数程序,利用微分代数动态逻辑对系统属性进行描述和推理验证。技术问题本发明提出了一种由HybridUML模型向微分代数程序 (Differential-Algebraic Program,DAP)转换的方法,实现了由 HybridUML 模型向 DAP 的转换,并依据微分代数动态逻辑(Differential-Algebraic Dynamic Logic,DAL)推理规则对CPS实例进行验证。技术方案本发明通过制定HybridUML模型向微分代数程序转换的规则,使得可以利用HybridUML图形化元素可以很方便直观的对CPS进行建模,并且依据转换规则将 HybridUML模型转换为微分代数程序,进而可以利用微分代数动态逻辑对系统属性进行描述和推理验证。
一种基于HybridUML向微分代数程序转换的CPS建模与验证方法,包括如下步骤步骤1)根据已有的HybridUML形式化描述定义,对HybridUML形式化描述进行扩充,给出agent和mode的形式化描述多元组;步骤2)利用HybridUML提供的图形化元素对CPS系统进行建模;HybridUML通过 agent描述系统的结构,通过mode来刻画系统的行为;步骤;3)依据提出的agent和mode的形式化描述多元组的定义,给出所建的图形化模型中每个agent和mode的多元组的形式化描述;步骤4)制定HybridUML中离散变迁语义向微分代数程序中离散变迁语义的转换规则,制定HybridUML中连续变化语义向微分代数程序中连续变化语义的转换规则①离散变迁语义的转换HybridUML 中的变迁由五元组组成 t = (src, tar, trigger, guard, action)src和tar分别是变迁的源mode和目标mode的控制点;trigger是变迁的触发器;guard是变迁迁移的条件;action是变迁产生的动作(变量的离散赋值或产生信号)。微分代数程序中的变迁表示为?state = mSM Λ guard ;action ;state := mtar。HybridUML中的离散变迁可以通过如下规则转换成微分代数程序中的离散变迁
Vm1 ,Tn1^MjteT* src, e CONTROLPm λ tar, e CONTROLPnh
权利要求
1. 一种基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征在于包括如下步骤步骤1)根据已有的HybridUML形式化描述定义,对HybridUML形式化描述进行扩充, 给出agent和mode的形式化描述多元组;步骤幻利用HybridUML提供的图形化元素对CPS系统进行建模;HybridUML通过agent 描述系统的结构,通过mode来刻画系统的行为;步骤幻依据提出的agent和mode的形式化描述多元组的定义,给出所建的图形化模型中每个agent和mode的多元组的形式化描述;步骤4)制定HybridUML中离散变迁语义向微分代数程序中离散变迁语义的转换规则, 制定HybridUML中连续变化语义向微分代数程序中连续变化语义的转换规则①离散变迁语义的转换HybridUML 中的变迁由五元组组成 t = (src, tar, trigger, guard, action) src和tar分别是变迁的源mode和目标mode的控制点; trigger是变迁的触发器; guard是变迁迁移的条件;action是变迁产生的动作(变量的离散赋值或产生信号)。微分代数程序中的变迁表示为? state = msrc Λ guard ;action ;state := mtar。HybridUML中的离散变迁可以通过如下规则转换成微分代数程序中的离散变迁
2.根据权利要求1所述的基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征在于步骤4)至步骤7)中的HybridUML模型向微分代数程序转换的规则,其过程如下根据HybridUML和微分代数程序中基本的离散变迁和连续变化语义,制定二者之间离散变迁和连续变化的基本语义的转换规则,根据HybridUML和微分代数程序之间系统特性的区别,依据基本语义转换规则,制定二者之间系统中离散变迁和连续变化的转换规则。
3.根据权利要求1所述的基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征是所述步骤1)中,根据是否包含其他agent,将agent分为包含其他agent的 compositeagent禾口不包含其他agent的basicagent ;*艮据是否包含其他mode, M mode分为包含其他mode的nestmode禾口不包含其他mode的Ieafmode ;agent和mode形式化描述多元组如下所示 agent = basicagent!Icompositeagentbasicagent = (VAR, PARAM, SIG, VAR_P0RT, SIG_P0RT, TopMode) compositeagent = (VAR, PARAM, SIG, VAR_P0RT, SIG_P0RT, VAR_C0NN, SIG_C0NN, subAgent_INST)VAR是agent中所有变量的集合;PARAM是agent中所有参数组成的集合;SIG是agent 中所有信号的集合;VAR_P0RT是agent中所有变量端口组成的集合,其中所有变量端口所对应的变量必须属于该agent的VAR ;SIG_P0RT是agent中所有信号端口组成的集合,其中所有信号端口所对应的信号必须属于该agent的SIG ;TopMode是basicagent的行为,由一个三元组组成Mode为basicagent所直接包含的 mode ;initial_trans^Mode的率刀女台变迁,艮口 basicagent的率刀女台 亍为 ;current state 记录了该Mode下具有控制权的mode ;TopMode描述了 agent的行为,只存在于basicagent中;TopMode = (Mode, initial—trans, current—state)VAR_C0NN是compositeagent中所有变量端口连接器的集合;SIG_C0NN是 compositeagent中所有信号端口连接器的集合;subAgent_INST是agent中包含的所有的 agent实例所组成的集合;mode = leafmode nestmodeleafmode = (CONTROLP, flow, alge, inv)nestmode = (CONTROLP, flow, alge, inv, TRANS, subM_INST)CONTROLP是mode中所有控制点所组成的集合;flow,alge刻画mode中变量连续变化的约束;inv是mode处于活动状态所必须满足的约束;TRANS是nestmode中所有变迁的集合;subM_INST是nestmode中包含的所有子mode实例组成的集合。
4.根据权利要求1所述的基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征是所述步骤4)中,制定HybridUML中连续变化语义向DAP中连续变化语义的转换规则,实现HybridUML 中连续变化语义向DAP中连续变化语义的转换;①离散变迁语义的转换HybridUML 中的变迁由五元组组成 t = (src, tar, trigger, guard, action), src 禾口 tar 分别是变迁的源mode和目标mode的控制点;trigger是变迁的触发器,在HybridUML中所有的触发都是信号触发;guard是变迁迁移的条件;action是变迁产生的动作;微分代数程序中的变迁? state = msrc Λ guard ;action ;state : = mt ,其中?表示判断,state是一个状态变量表示系统所处的一个状态,guard是这次变迁的迁移条件,当系统处于该状态以及变迁条件同时满足时,就会发生变迁的动作,并且将状态变量处于系统变迁后的状态;HybridUML中的离散变迁可以通过如下规则转换成DAP
5.根据权利要求1所述的基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征是所述步骤幻中,通过下面算法可以得到系统所有共享变量集组成的集合算法1共享变量集生成算法输入系统中的变量接口集CV输出系统的共享变量集合^tVVceCV,则由c所连接的所有变量接口集合记为PORTcSetVc = {v IV e V λ port (ν) e PORT。} //c 实现的共享的变量集SetV = (SetVc | c e Cv} //所有共享变量集的集合//while条件判断是否存在某两个变量集含有相同变量
6.根据权利要求4所述的基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征是所述步骤6)中,制定从HybridUML模型中系统连续变化向微分代数程序中系统连续变化的转换规则的方法是,记HybridUML中所有的TopMode所组成的集合为 Itm1, tnv"tmn},HybridUML中系统表示某一连续动态行为状态可以转换为如下DAP,其中 current_statem衰示tffli中具有控制权的mode
7.根据权利要求4所述的基于HybridUML向微分代数程序转换的CPS建模与验证方法,其特征是所述步骤7)中,依照下面算法获得从一个连续动态行为状态到下一个连续动态行为状态的初始变迁集合以及由这个初始变迁集合产生的连续变迁队列算法2连续变迁队列生成算法输入系统的变迁集T输出系统由一个连续动态行为状态到下一个连续动态行为状态的初始变迁集合S1和 S1产生的连续变迁队列%
全文摘要
本发明提出了一种基于HybridUML向微分代数程序转换的CPS建模与验证方法,实现了由HybridUML模型向DAP的转换,并依据微分代数动态逻辑(Differential-Algebraic Dynamic Logic,DAL)推理规则对CPS实例进行验证。该方法使用HybridUML对CPS进行建模,将其转换成DAL的操作模型DAP,并且基于DAL对CPS属性进行验证。
文档编号G06F9/44GK102426522SQ20111033809
公开日2012年4月25日 申请日期2011年10月28日 优先权日2011年10月28日
发明者宋锐, 张前东, 李必信, 翟小祥, 陈乔乔 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1