[发明专利]一种基于SoaML的云应用正确性验证方法有效
申请号: | 201310226221.6 | 申请日: | 2013-06-07 |
公开(公告)号: | CN103281329A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 李必信;耿国清;王璐璐;陶传奇;兰阳阳;司静文 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 211189 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于SoaML的云应用正确性验证方法,主要用于处理云应用的建模与验证问题,本发明采用SoaML对云应用进行建模,并将所建SoaML模型转换为简单进程元语言解释器SPIN支持的建模语言PROMELA和线性时序逻辑LTL。首先使用层次自动机来描述SoaML中的ServiceInterface,根据层次自动机的操作语义将ServiceInterface转换为PROMELA;然后采用LTL来描述SoaML中的ServiceContract。本发明将得到的PROMELA输入SPIN中,验证是否满足LTL所描述的系统约束,即云应用的正确性。 | ||
搜索关键词: | 一种 基于 soaml 应用 正确性 验证 方法 | ||
【主权项】:
1.一种基于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)定义一个对偶<C,Q>,用以表示ServiceInterface状态机的活动状态配置C与事件队列Q的格局;步骤5)定义对偶<C,Q>转换的约束,(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)中定义的约束,得到对偶<C,Q>转换的集合记为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进行完以上处理后,最终得到的返回的结果即为对偶<C,Q>转换的集合FT;步骤7)根据所述步骤1)中建立的SoaML元模型到PROMELA元模型的同态映射,将四元组SM=<<S,H>,E,T,D>中的事件、类、状态、转换以及对偶<C,Q>转换的过程采用PROMELA语言表示,作为简单进程元语言解释器SPIN的输入代码;步骤8)根据给定的ServiceContract消息编号,写出线性时序逻辑公式,作为输入简单进程元语言解释器SPIN的代码;步骤9)将步骤7)和步骤8)得到的代码输入简单进程元语言解释器SPIN进行验证,如两个代码一致,则判定云应用正确,否则,判定云应用不正确。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310226221.6/,转载请声明来源钻瓜专利网。
- 上一篇:流动式多媒体广告屏
- 下一篇:车位状态感知器及车位状态感知方法