当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于SoaML的云应用正确性验证方法技术

技术编号:9115271 阅读:180 留言:0更新日期:2013-09-05 04:11
本发明专利技术公开了一种基于SoaML的云应用正确性验证方法,主要用于处理云应用的建模与验证问题,本发明专利技术采用SoaML对云应用进行建模,并将所建SoaML模型转换为简单进程元语言解释器SPIN支持的建模语言PROMELA和线性时序逻辑LTL。首先使用层次自动机来描述SoaML中的ServiceInterface,根据层次自动机的操作语义将ServiceInterface转换为PROMELA;然后采用LTL来描述SoaML中的ServiceContract。本发明专利技术将得到的PROMELA输入SPIN中,验证是否满足LTL所描述的系统约束,即云应用的正确性。

【技术实现步骤摘要】

【技术保护点】
一种基于SoaML的云应用正确性验证方法,其特征在于,该方法包括如下步骤:步骤1)建立给定的ServiceInterface元模型到PROMELA元模型的同态映射;步骤2)将给定的ServiceInterface状态机采用层次自动机来描述,即以一个四元组SM=<<S,H>,E,T,D>来表示ServiceInterface状态机,其中<S,H>表示一个状态层次,S为有限状态集合,H为子状态关系,E为有限状态集合,T为有限转换集合,D为缺省状态集合;步骤3)定义ServiceInterface状态机的活动状态配置C∈2S和事件队列Q,所述活动状态配置C为某一时刻ServiceInterface状态机所有活动状态的集合,所述事件队列Q为触发事件的队列;步骤4)定义一个对偶,用以表示ServiceInterface状态机的活动状态配置C与事件队列Q的格局;步骤5)定义对偶转换的约束,(1)若substates(s)≠Φ,则kind(s)∈{composite,orthogonal};(2)若kind(s)=orthogonal,则#substates(s)≥2,并且对于所有s的后继节点s′,都有kind(s′)=composite;(3)若kind(s)=composite,则#{s∈substates(s)|kind(s′)=initial}≤1。(4)kind(source(t))≠final(5)kind(target(t))≠initial(6)若kind(source(t)){initial,fork,join},则guard(t)=true;(7)若kind(source(t))=initial,则target(t)是非伪状态(non?pseudostate);(8)若kind(source(t))=initial,则container(target(t))=container(source(t));(9)若kind(source(t))=initial,则effect(t)=skip;(10)若kind(source(t))=fork,则target(t)是伪状态;(11)若kind(target(t))=join,则guard(t)=true;步骤6)根据所述步骤5)中定义的约束,得到对偶转换的集合记为FT,具体过程如下:遍历有限转换集合T,对每个转换t进行以下处理:a)如果转换t∈FT,则enabled(t,e,C)=true,并进入步骤d),否则进入条件b),b)如果t1,t2∈FT,且t1≠t2,则t1||t2,并进入步骤d),否则进入条件c),c)如果t′∈T\FT,t∈FT且enabled(t′,e,C)=true,则清除FT中的t||t′和t⊥t′后进入步骤d),否则直接进入步骤d);d)将该转换t加入到返回的结果中;其中FT初始化为<false,Φ>,函数enabled(t,e,C)判断ServiceInterface状态机格局的转换是否是使能的;有限转换集合T中所有的转换t进行完以上处理后,最终得到的返回的结果即为对偶转换的集合FT;步骤7)根据所述步骤1)中建立的SoaML元模型到PROMELA元模型的同态映射,将四元组SM=<<S,H>,E,T,D>中的事件、类、状态、转换以及对偶转换的过程采用PROMELA语言表示,作为简单进程元语言解释器SPIN的输入代码;步骤8)根据给定的ServiceContract消息编号,写出线性时序逻辑公式,作为输入简单进程元语言解释器SPIN的代码;步骤9)将步骤7)和步骤8)得到的代码输入简单进程元语言解释器SPIN进行验证,如两个代码一致,则判定云应用正确,否则,判定云应用不正确。FDA00003315551600011.jpg...

【技术特征摘要】

【专利技术属性】
技术研发人员:李必信耿国清王璐璐陶传奇兰阳阳司静文
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1