CN101833506A - 具备长事务特征服务接口的验证方法 - Google Patents
具备长事务特征服务接口的验证方法 Download PDFInfo
- Publication number
- CN101833506A CN101833506A CN 201010161275 CN201010161275A CN101833506A CN 101833506 A CN101833506 A CN 101833506A CN 201010161275 CN201010161275 CN 201010161275 CN 201010161275 A CN201010161275 A CN 201010161275A CN 101833506 A CN101833506 A CN 101833506A
- Authority
- CN
- China
- Prior art keywords
- satisfy
- state
- satisfies
- initial state
- action
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种具备长事务特征服务接口的验证方法,要解决的技术问题是:提出一种针对具备长事务特征服务接口的验证方法来验证服务接口是否满足关键性质,以避免语义层面的验证所面临的状态爆炸问题。技术方案是先使用自动机和函数来定义需要验证的具备长事务特征服务的接口,采用性质构造方法构造具备长事务特征服务接口需要满足的关键性质,根据关键性质的不同形式使用相应的规则进行搜索来验证服务接口,最终得到服务接口是否满足关键性质。本发明可以作为对服务计算中具备事务特征服务的接口进行形式化验证的一种有效手段,能够涵盖服务中补偿和错误处理对应的接口行为,并且避免从语义层面进行验证可能出现的状态爆炸问题。
Description
技术领域
本发明涉及服务计算中服务接口的验证方法,尤其是具备长事务特征服务接口的验证方法。
背景技术
Internet给人们的生活带来了巨大的影响,它改变着人们生产、工作、生活和学习的方式,是社会和经济发展的重要推动力。在Internet环境下,由于网络的分布、动态、和异构等特点,使Internet上的软件面临的环境从静态封闭逐步走向开放、动态和多变,软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目标、连续反应等多种形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临一系列挑战。在此背景下,人们开始探索新的软件技术,面向服务计算(Service-Oriented Computing,简称SOC)这种新的计算范型被提出。SOC中使用服务作为构建软件系统的基本元素,在系统交互层面体现为面向服务的体系结构(Service-Oriented Architecture,简称SOA)。
服务接口是SOC中关于某个服务所能够得到的唯一信息,一个服务接口代表了一个服务,其中说明了服务该如何使用、服务所能够提供的保证以及使用服务的前提或代价等方面的信息。准确而且充分的服务接口是保证SOC中服务查找、组合、调用等关键操作质量的重要因素。如何保证服务接口的正确性是面向服务计算中的关键问题。
事务是对物理和抽象的应用状态上的操作集合。如果事务执行过程中某个操作由于某些错误的发生而失败,就需要进行错误处理来进行失败恢复,使系统恢复到之前的状态。由于面向服务的系统处在一个开放的分布式环境中,其中某个事务中的操作涉及到的资源可能由不同的组织掌握和管理,在这种情况下,如果要求在事务执行过程中对所涉及的所有资源进行隔离是不现实的。基于服务的事务与传统事务的差别在于执行时间长,需要在运行时协商来提交事务,并且隔离的要求需要降低。因此,长事务模型更加适合于服务计算的要求。
具备长事务特征服务接口是服务接口中较为特殊的一类,它所代表的服务内部有长事务的特征。为了保证服务接口的正确性,形式化的服务接口验证方法是一种重要手段。当前的服务接口验证方法不能够支持对具备长事务特征服务接口的表示、性质规约和验证,如果使用一般的形式系统直接进行描述,比如状态机、进程描述语言或Petri网,则会过于复杂。此外,在系统语义层面的验证面临状态爆炸问题,从而使验证过程不能够终止。
因此,为了保证具备长事务特征服务接口的正确性,如何对具备长事务特征服务接口进行有效验证是一个重要的问题。
发明内容
本发明要解决的技术问题是:提出一种针对具备长事务特征服务接口的验证方法,可以基于接口模型,通过语法层面的搜索,来验证服务接口是否满足关键性质,以避免语义层面的验证所面临的状态爆炸问题。
解决本发明技术问题所采用的技术方案是:
第一步:使用自动机和函数来定义需要验证的具备长事务特征服务的接口。
在构建接口的过程中会使用到下面一些定义:
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中的动作,表示接口动作a引发的接口行为会出现D2中的动作,并且在出现D2中的动作之前不能够出现D1中的动作。状态s满足某个关键性质表示从s开始的所有接口行为都满足此性质。
第三步:根据关键性质的不同形式,使用相应的规则进行搜索来验证服务接口,最终得到服务接口是否满足关键性质。过程如下:
3.1初始化。置初始的结论集合为空集。
3.2搜索。根据不同的关键性质类型,使用不同的规则进行匹配,如果可以得到新的结论就把新的结论加到结论集合中,有下面几种情况:
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.3如果状态s可以通过协议项a·b迁移到s′,其中a·b可以是非确定选择协议项也可以是并发协议项或者并发选择协议项则如果动作a和动作b都不属于D,a的开始状态sa满足b的开始状态sb满足s′满足a的补偿或错误处理的开始状态s1使用第一类规则可以得到s1满足并且b的补偿或错误处理的开始状态s2使用第一类规则可以得到s2满足则s满足
3.2.3对于形如的性质,a是成功动作,在当前的结论集合中结论成立的前提下,对于扩展协议自动机中的每个状态s,如果能够通过第一类规则得到s满足 就把s满足加入到已经得到的结论集合中,如果使用如下的第三类规则能够得到s满足就把s满足加入到已经得到的结论集合中:
3.2.3.6如果状态s可以通过协议项或迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足并且b的开始状态sb满足或sb满足或者b的开始状态sb满足并且a的开始状态sa满足或sa满足则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.6如果状态s可以通过协议项或迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足并且b的开始状态sb满足或sb满足或者b的开始状态sb满足并且a的开始状态sa满足或sa满足则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.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。
采用本发明可以达到以下技术效果:
本发明是一种具备长事务特征服务的接口验证方法,可以作为对服务计算中具备事务特征服务的接口进行形式化验证的一种有效手段,与现有服务接口方法比较,本发明的优点在于接口验证方法能够涵盖服务中补偿和错误处理对应的接口行为,并且验证方法从接口的语法层面直接进行搜索,避免了从语义层面进行验证可能出现的状态爆炸问题。
附图说明
图1为验证方法的总体流程图。
图2为验证方法中第三步的流程图。
具体实施方式
本发明中公开了一种具备长事务特征服务接口的验证方法,方法的主要步骤见附图1。其中每一步解释如下:
1使用自动机和函数来定义需要验证的具备长事务特征服务的接口。
2采用性质构造方法构造具备长事务特征服务接口需要满足的关键性质。
3根据关键性质的不同形式,使用相应的规则进行搜索来验证服务接口,最终得到服务接口是否满足关键性质。
图2给出了上述验证方法中第3步接口验证的流程:
1初始化。置初始的结论集合为空集。
2使用规则进行搜索。根据不同的关键性质类型,使用不同的规则进行匹配,如果可以得到新的结论就把新的结论加到结论集合中,有下面几种情况:
2.2对于形如的性质,a是异常动作,则使用第二类规则进行搜索。
2.3对于形如的性质,a是成功动作,则使用第一类和第三类规则进行搜索。
3判断是否得到了新的结论。在最近一次第2步中是否增加了新的结论,如果有则转到第4步,否则整个过程结束,服务接口不满足关键性质。
Claims (1)
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.3如果状态s可以通过协议项a·b迁移到s′,其中a·b可以是非确定选择协议项也可以是并发协议项或者并发选择协议项则如果动作a和动作b都不属于D,a的开始状态sa满足b的开始状态sb满足并且s′也满足则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.6如果状态s可以通过协议项或迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足并且b的开始状态sb满足或sb满足或者b的开始状态sb满足并且a的开始状态sa满足U D2或sa满足则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.6如果状态s可以通过协议项或迁移到s′,则如果动作a和b都不属于D1,a的开始状态sa满足并且b的开始状态sb满足或sb满足或者b的开始状态sb满足并且a的开始状态sa满足U D2或sa满足则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.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,否则整个过程结束,服务接口不满足关键性质;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101612755A CN101833506B (zh) | 2010-05-04 | 2010-05-04 | 具备长事务特征服务接口的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101612755A CN101833506B (zh) | 2010-05-04 | 2010-05-04 | 具备长事务特征服务接口的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833506A true CN101833506A (zh) | 2010-09-15 |
CN101833506B CN101833506B (zh) | 2012-05-30 |
Family
ID=42717582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101612755A Expired - Fee Related CN101833506B (zh) | 2010-05-04 | 2010-05-04 | 具备长事务特征服务接口的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833506B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186451A (zh) * | 2013-03-21 | 2013-07-03 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003044615A2 (en) * | 2001-11-20 | 2003-05-30 | Nokia Corporation | Network services broker system and method |
CN1556639A (zh) * | 2003-12-30 | 2004-12-22 | 上海交通大学 | 万维网服务应用常用集成方法 |
US20050027871A1 (en) * | 2003-06-05 | 2005-02-03 | William Bradley | Interoperable systems and methods for peer-to-peer service orchestration |
CN1997983A (zh) * | 2004-05-21 | 2007-07-11 | Bea系统公司 | 面向服务的架构 |
-
2010
- 2010-05-04 CN CN2010101612755A patent/CN101833506B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003044615A2 (en) * | 2001-11-20 | 2003-05-30 | Nokia Corporation | Network services broker system and method |
US20050027871A1 (en) * | 2003-06-05 | 2005-02-03 | William Bradley | Interoperable systems and methods for peer-to-peer service orchestration |
CN1556639A (zh) * | 2003-12-30 | 2004-12-22 | 上海交通大学 | 万维网服务应用常用集成方法 |
CN1997983A (zh) * | 2004-05-21 | 2007-07-11 | Bea系统公司 | 面向服务的架构 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186451A (zh) * | 2013-03-21 | 2013-07-03 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
CN103186451B (zh) * | 2013-03-21 | 2016-06-08 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101833506B (zh) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102222005A (zh) | 面向业务模型的软件运行平台及其运行方式 | |
CN105474210A (zh) | 运行自动化流程的系统 | |
Pu et al. | Theoretical foundations of scope-based compensable flow language for web service | |
CN106453228A (zh) | 一种用于智能机器人的用户登录方法以及系统 | |
CN113626128B (zh) | 视听媒体微服务第三方模块接入方法、系统、电子设备 | |
CN105005509A (zh) | 一种基于运行时模型的云计算容错机制配置方法 | |
CN110737425A (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN105809345A (zh) | 一种基于api管理与虚拟化的面向服务平台及控制方法 | |
CN101833506B (zh) | 具备长事务特征服务接口的验证方法 | |
CN104166581B (zh) | 一种面向增量制造设备的虚拟化方法 | |
Wang et al. | Describing and verifying web service composition using TLA reasoning | |
CN102541563A (zh) | 一种监控界面生成方法及系统 | |
CN102541830B (zh) | 一种仿真平台中仿真报告生成的方法及装置 | |
CN103995699A (zh) | 基于mda的电力企业信息系统开发方法 | |
CN104516735B (zh) | 实现云计算环境自动化运维的二维分层方法 | |
Wu et al. | Design and implementation of business-driven BI platform based on cloud computing | |
CN104410704B (zh) | 一种云计算环境中配置服务模块的数据库的方法 | |
CN104699472A (zh) | 采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方法 | |
KR20090003040A (ko) | 비즈니스 프로세스 수행시 메타데이터 규정을 통한 데이터품질관리 방법 및 시스템 | |
Tahmasebipour et al. | Ranking of common architectural styles based on availability, security and performance quality attributes | |
CN103679432A (zh) | 一种支持动态构建应用平台的vnms系统 | |
Kirkham et al. | Richer requirements for better clouds | |
CN102207932A (zh) | 基于规则描述的报表模式自动抽取方法 | |
Hegner et al. | Update support for database views via cooperation | |
Boonon et al. | An approach to clustering feature model based on adaptive behavior for dynamic software product line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20190504 |