[发明专利]具备长事务特征服务接口的验证方法有效
申请号: | 201010161275.5 | 申请日: | 2010-05-04 |
公开(公告)号: | CN101833506A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 王戟;陈振邦;沈锐;张圣栋;沈思琪;樊沛 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种具备长事务特征服务接口的验证方法,要解决的技术问题是:提出一种针对具备长事务特征服务接口的验证方法来验证服务接口是否满足关键性质,以避免语义层面的验证所面临的状态爆炸问题。技术方案是先使用自动机和函数来定义需要验证的具备长事务特征服务的接口,采用性质构造方法构造具备长事务特征服务接口需要满足的关键性质,根据关键性质的不同形式使用相应的规则进行搜索来验证服务接口,最终得到服务接口是否满足关键性质。本发明可以作为对服务计算中具备事务特征服务的接口进行形式化验证的一种有效手段,能够涵盖服务中补偿和错误处理对应的接口行为,并且避免从语义层面进行验证可能出现的状态爆炸问题。 | ||
搜索关键词: | 具备 事务 特征 服务 接口 验证 方法 | ||
【主权项】:
1.一种具备长事务特征服务接口的验证方法,其特征在于包括以下步骤:第一步:使用自动机和函数来定义需要验证的具备长事务特征服务的接口,方法是:1.1接口动作是一个二元组,包括服务接口中的方法名m以及方法调用的一个结果o,表示名字为m的服务方法的一次调用,其结果为o;有两类动作,成功动作表示方法调用不会发生异常,异常动作表示方法调用会发生异常,在发生后需要进行失败恢复;1.2具备长事务特征服务的接口包含四个部分:(1)给出接口动作调用关系的扩展协议自动机,其中包含可能出现的动作集A,自动机中的状态集合S,S中⊥是返回状态,
是异常状态,以及状态的迁移函数
给出每个状态可以进行的迁移的协议项和目标状态;(2)给出一个本地动作的正常行为在自动机中起始状态的函数;(3)给出对一个成功动作进行补偿在自动机中起始状态的函数;(4)给出对一个异常动作的错误处理在自动机中起始状态的函数;1.3协议项的形式有四种:如果形如a则表示需要引发动作a;如果形如
则表示引发动作是在a和b之间的非确定选择;如果形如
则表示动作a和b同时被引发,只有两个动作都完成以后协议项才算完成;如果形如
则表示动作a和b同时被引发,a或b的完成都可以使协议项完成;第二步:采用性质构造方法构造具备长事务特征服务接口需要满足的关键性质:服务接口的关键性质用
或
表示,其中D、D1和D2都是接口动作的集合,
表示接口动作a引发的接口行为中不会出现D中的动作,
U D2表示接口动作a引发的接口行为会出现D2中的动作,并且在出现D2中的动作之前不能够出现D1中的动作;状态s满足某个关键性质表示从s开始的所有接口行为都满足此性质;第三步:根据关键性质的不同形式,使用相应的规则进行搜索来验证服务接口,最终得到服务接口是否满足关键性质,过程如下:3.1初始化,置初始的结论集合为空集;3.2搜索,即根据不同的关键性质类型,使用不同的规则进行匹配,如果可以得到新的结论就把新的结论加到结论集合中,有下面几种情况:3.2.1对形如
的性质,a是成功动作,则如果能够使用如下第一类规则得到状态s满足
就把s满足
加入到已经得到的结论集合中:3.2.11如果状态是返回状态⊥或者异常状态
则此状态直接满足
3.2.1.2如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D,a的开始状态sa满足
并且s′也满足
则s满足
3.2.1.3如果状态s可以通过协议项a·b迁移到s′,其中a·b可以是非确定选择协议项
也可以是并发协议项
或者并发选择协议项
则如果动作a和动作b都不属于D,a的开始状态sa满足
b的开始状态sb满足
并且s′也满足
则s满足
3.2.2对于形如
的性质,a是异常动作,如果使用如下第二类规则得到s满足
就把s满足
加入到已经得到的结论集合中:3.2.2.1如果状态是返回状态⊥或者异常状态
则此状态直接满足
3.2.2.2如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D,a的开始状态sa满足
s′满足
并且a的补偿或错误处理的开始状态使用第一类规则可以得到其满足
则s满足
3.2.2.3如果状态s可以通过协议项a·b迁移到s′,其中a·b可以是非确定选择协议项
也可以是并发协议项
或者并发选择协议项
则如果动作a和动作b都不属于D,a的开始状态sa满足
b的开始状态sb满足
s′满足
a的补偿或错误处理的开始状态使用第一类规则可以得到其满足
并且b的补偿或错误处理的开始状态使用第一类规则可以得到其出满足
则s满足
3.2.3对于形如
的性质,a是成功动作,在当前的结论集合中结论成立的前提下,对于扩展协议自动机中的每个状态s,如果能够通过第一类规则得到s满足
就把s满足
加入到已经得到的结论集合中,如果使用如下的第三类规则能够得到s满足
就把s满足
U D2加入到已经得到的结论集合中:3.2.3.1如果状态s可以通过协议项a迁移到s′,并且动作a属于D2,则s满足
3.2.3.2如果状态s可以通过协议项
迁移到s′,并且a和b都属于D2,则s满足
3.2.3.3如果状态s可以通过协议项
或
迁移到s′,并且a或b属于D2,则s满足
3.2.3.4如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D1,并且a的开始状态sa满足
则s满足
3.2.3.5如果状态s可以通过协议项
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
并且b的开始状态sb满足
则s满足
3.2.3.6如果状态s可以通过协议项
或
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
并且b的开始状态sb满足
或sb满足
或者b的开始状态sb满足
并且a的开始状态sa满足
U D2或sa满足
则s满足
3.2.3.7如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D1,a的开始状态sa满足
并且s′满足
则s满足
3.2.3.8如果状态s可以通过协议项a·b迁移到s′,其中a·b可以是非确定选择协议项
也可以是并发协议项
或者并发选择协议项
则如果动作a和动作b都不属于D1,a的开始状态sa满足
b的开始状态sb满足
并且s′满足
则s满足
3.2.4对于形如
的性质,如果a是异常动作,对于扩展协议自动机中的每个状态s,如果能够通过第二类规则得到s满足
就把s满足
加入到已经得到的结论集合中,如果使用如下的第四类规则能够得到s满足
就把s满足
加入到已经得到的结论集合中:3.2.4.1如果状态s可以通过协议项a迁移到s′,并且动作a属于D2,则s满足
3.2.4.2如果状态s可以通过协议项
迁移到s′,并且a和b都属于D2,则s满足
3.2.4.3如果状态s可以通过协议项
或
迁移到s′,并且a或b属于D2,则s满足
3.2.4.4如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D1,并且a的开始状态sa满足
则s满足
3.2.4.5如果状态s可以通过协议项
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
并且b的开始状态sb满足
则s满足
3.2.4.6如果状态s可以通过协议项
或
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
并且b的开始状态sb满足
或sb满足
或者b的开始状态sb满足
并且a的开始状态sa满足
U D2或sa满足
则s满足
3.2.4.7如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D1,a的开始状态sa满足
并且s′满足
则s满足
3.2.4.8如果状态s可以通过协议项a迁移到s′,则如果动作a不属于D1,a的开始状态sa满足
s′满足
并且a的补偿或错误处理的开始状态s1使用第一类规则可以得到s1满足
则s满足
3.2.4.9如果状态s可以通过协议项
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
b的开始状态sb满足
并且s′满足
D2,则s满足
3.2.4.10如果状态s可以通过协议项
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
b的开始状态sb满足
s′满足
a的补偿或错误处理的开始状态s1使用第一类规则可以得到s1满足
并且b的补偿或错误处理的开始状态s2使用第一类规则可以得到s2满足
则s满足
3.2.4.11如果状态s可以通过协议项
或
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
b的开始状态sb满足
并且s′满足
则s满足
3.2.4.12如果状态s可以通过协议项
或
迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足
b的开始状态sb满足
s′满足
a的补偿或错误处理的开始状态s1使用第一类规则可以得到s1满足
并且b的补偿或错误处理的开始状态s2使用第一类规则可以得到s2满足
或
或者b的补偿或错误处理的开始状态s3使用第一类规则可以得到s3满足
并且a的补偿或错误处理的开始状态s4使用第一类规则可以得到s4满足
或
则s满足
3.3判断在步骤3.2中是否增加了新的结论,如果有则转到步骤3.4,否则整个过程结束,服务接口不满足关键性质;3.4判断,根据关键性质的不同类型,判断性质是否被满足:对于形如
的性质,检查a的开始状态sa满足
是否在当前的结论集合中,如果在当前的结论集合中则验证过程结束,表示接口满足此性质,如果不在当前的结论集合中则转到步骤3.2;对于形如
的性质,检查a的开始状态sa满足
是否在当前的结论集合中,如果在当前的结论集合中则验证过程结束,表示接口满足此性质,如果不在当前的结论集合中则转到步骤3.2。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010161275.5/,转载请声明来源钻瓜专利网。