发明名称 一种增强SOA可生存性的降级服务替换验证方法
摘要 本发明属于SOA技术领域,具体为增强SOA可生存性的降级服务替换验证方法。主要步骤:1.采用进程代数形式化建模WS-BPEL描述文件所体现的组合服务交互协议,包括:服务契约,成员服务可允许的消息交互;2.流程决策点,分析流程形式服务的消息操作(即发送、接受消息)选择。采用白盒策略描述WS-BPEL流程形式的替换服务和候选服务、以及服务组合和替换的上下文环境。3.将服务替换准则确定为服务相容性被定义为组合系统的可执行完成属性。在此基础上,4.验证实施替换后不影响系统相容性的降级服务替换,以及实施替换后的降级系统是否满足用户需求。本发明解决了现有技术无法验证降级服务替换正确性的问题。
申请公布号 CN102571789B 申请公布日期 2014.07.09
申请号 CN201110457694.8 申请日期 2011.12.31
申请人 复旦大学 发明人 张亮;杨勇
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞;盛志范
主权项 一种增强SOA可生存性的降级服务替换验证方法,其特征在于具体步骤为:步骤一、采用进程代数形式化建模WS‑BPEL描述文件所体现的组合服务交互协议利用进程代数这一形式化工具对服务及其组合环境进行形式化建模,其中,成员服务及组合服务的系统模型表示为服务契约;所述服务契约用以描述服务外部可观测的消息行为;由于WS‑BPEL提供了参与组合的服务集合、服务的调用关系和消息的往来信息,这里采用白盒策略描述WS‑BPEL流程形式的替换服务和候选服务以及服务组合和替换的上下文环境;采用<img file="2011104576948100001dest_path_image001.GIF" wi="12" he="14" />演算描述一个WS‑BPEL流程服务即服务契约C,具体语法如下:<img file="2011104576948100001dest_path_image002.GIF" wi="150" he="21" /><img file="2011104576948100001dest_path_image003.GIF" wi="516" he="22" />这里,<img file="2011104576948100001dest_path_image004.GIF" wi="12" he="18" />表示流程服务的一个接口,<img file="2011104576948100001dest_path_image005.GIF" wi="45" he="26" />表示发送消息操作,即沿接口<img file="2011104576948100001dest_path_image006.GIF" wi="12" he="13" />发出消息<img file="2011104576948100001dest_path_image007.GIF" wi="18" he="13" />;<img file="2011104576948100001dest_path_image008.GIF" wi="45" he="19" />表示接收消息操作,即沿接口<img file="2011104576948100001dest_path_image009.GIF" wi="12" he="12" />接收消息<img file="2011104576948100001dest_path_image010.GIF" wi="18" he="13" />;<img file="2011104576948100001dest_path_image011.GIF" wi="11" he="13" />表示没有消息交互的内部操作;根据服务契约的操作语义规则,<img file="2011104576948100001dest_path_image012.GIF" wi="53" he="31" />表示服务契约<img file="2011104576948100001dest_path_image013.GIF" wi="12" he="18" />执行操作<img file="2011104576948100001dest_path_image014.GIF" wi="12" he="19" />后演化为<img file="2011104576948100001dest_path_image015.GIF" wi="17" he="22" />,<img file="2011104576948100001dest_path_image016.GIF" wi="32" he="22" />表示隐藏操作, 意味着在<img file="2011104576948100001dest_path_image017.GIF" wi="12" he="17" />中的消息操作<img file="717983dest_path_image004.GIF" wi="12" he="18" />变为<img file="635124dest_path_image011.GIF" wi="11" he="13" />,即,当多个服务组合成一个服务系统时,某些服务仅提供部分接口,并且某些接口及其相关消息操作变成了内部不可观察的;步骤二、建立流程决策点,分析WS‑BPEL流程形式服务的消息交互行为在WS‑BPEL流程服务交互环境中,区分三类服务契约的决策点:(1)仅有发送消息操作的决策点; (2)仅有接受消息操作的决策点;(3)同时包括发送消息操作和接受消息操作的决策点;其中,第三类流程决策点是指同一服务接口的发送消息操作和接受消息操作;步骤三、建立服务替换正确性准则,定义服务相容性包括两大部分:其一,是在所有计算路径上完成属性;其二,在部分计算路径上的“测试成功”;设一组WS‑BPEL流程服务<img file="2011104576948100001dest_path_image018.GIF" wi="108" he="22" />组合,记为系统<img file="2011104576948100001dest_path_image019.GIF" wi="180" he="21" />;系统<img file="2011104576948100001dest_path_image020.GIF" wi="12" he="15" />满足完成相容属性,记为<img file="2011104576948100001dest_path_image021.GIF" wi="29" he="17" />,如果下列条件之一成立:(1) 如果<img file="131307dest_path_image020.GIF" wi="12" he="15" />是自包含系统,对于任意<img file="2011104576948100001dest_path_image022.GIF" wi="17" he="14" />以致<img file="2011104576948100001dest_path_image023.GIF" wi="56" he="17" />,<img file="2011104576948100001dest_path_image024.GIF" wi="48" he="15" />;(2) 如果<img file="11669dest_path_image020.GIF" wi="12" he="15" />是开放系统,对于任意<img file="2011104576948100001dest_path_image025.GIF" wi="17" he="11" />以致<img file="2011104576948100001dest_path_image026.GIF" wi="53" he="23" />,存在<img file="2011104576948100001dest_path_image027.GIF" wi="21" he="19" />以致<img file="2011104576948100001dest_path_image028.GIF" wi="51" he="26" />;步骤四、降级服务替换正确性验证包括两部分:其一,服务子契约以较原契约更少的可交换消息集保持了所有计算路径上的服务相容性;其二,服务契约的测试精化,在部分计算路径上保持了服务相容性;一个WS‑BPEL流程服务契约<img file="2011104576948100001dest_path_image029.GIF" wi="18" he="21" />是另一服务契约<img file="2011104576948100001dest_path_image030.GIF" wi="18" he="19" />的子契约,记为<img file="2011104576948100001dest_path_image031.GIF" wi="60" he="21" />,如果下列条件成立:(1)如果<img file="950675dest_path_image030.GIF" wi="18" he="19" />是一个决策点即顶层操作是一个选择,那么<img file="773138dest_path_image029.GIF" wi="18" he="21" />也是一个和<img file="446696dest_path_image030.GIF" wi="18" he="19" />具有相同类型的决策点;(2)对于每个接收消息操作<img file="2011104576948100001dest_path_image032.GIF" wi="42" he="19" />以致<img file="2011104576948100001dest_path_image033.GIF" wi="80" he="34" />,存在<img file="2011104576948100001dest_path_image034.GIF" wi="81" he="31" />以致<img file="2011104576948100001dest_path_image035.GIF" wi="72" he="24" />;(3)对于每个发送消息操作<img file="2011104576948100001dest_path_image036.GIF" wi="45" he="19" />以致<img file="dest_path_image037.GIF" wi="81" he="31" />,存在<img file="2011104576948100001dest_path_image038.GIF" wi="80" he="32" />,以致<img file="dest_path_image039.GIF" wi="72" he="24" />;如果,WS‑BPEL流程服务契约<img file="802853dest_path_image029.GIF" wi="18" he="21" />是<img file="471732dest_path_image030.GIF" wi="18" he="19" />的子契约,那么,对于相同的运行环境<img file="2011104576948100001dest_path_image040.GIF" wi="12" he="14" />,<img file="855309dest_path_image029.GIF" wi="18" he="21" />替换<img file="609638dest_path_image030.GIF" wi="18" he="19" />后不改变系统原有的完成属性,即:如果<img file="549912dest_path_image031.GIF" wi="60" he="21" />,那么,<img file="dest_path_image041.GIF" wi="228" he="22" />;在使用子契约实施替换后,一个系统仍保持系统原有的相容性;然而,由于使用子契约实施的替换是不等价替换,所以,系统的某些服务行为会受到影响,这个影响分为两方面:第一,如果子契约提供了更多的消息接收能力,并且具有相同的发送消息非决定性选择,那么,这个替换不影响系统的运行,并且系统将具有更多的服务能力;第二,如果子契约提供了更多的消息接收能力,但是发送消息的非决定性选择减少,即发送更少的消息,那么,替换会对系统的全局行为产生两个方面的影响,即:(1)较原契约更少的消息交换集合;(2)较原契约更少的可完成计算路径;最后,实现增强SOA系统可生存性的降级服务替换;这里,用保留的服务契约来描述降级服务替换后用户期望保留的系统功能,记为<img file="2011104576948100001dest_path_image042.GIF" wi="63" he="20" />;其中,<img file="604456dest_path_image020.GIF" wi="12" he="15" />是WS‑BPEL流程服务系统;依据正确服务替换的要求,实施服务替换后必须满足<img file="dest_path_image043.GIF" wi="102" he="22" />;令<img file="2011104576948100001dest_path_image044.GIF" wi="181" he="23" />,其中,<img file="dest_path_image045.GIF" wi="14" he="20" />是WS‑BPEL流程服务契约,且<img file="dest_path_image046.GIF" wi="49" he="16" />,<img file="925978dest_path_image043.GIF" wi="102" he="22" />;对于任意<img file="dest_path_image047.GIF" wi="77" he="22" />,<img file="2011104576948100001dest_path_image048.GIF" wi="156" he="22" />如果下列条件成立:(1)<img file="dest_path_image049.GIF" wi="60" he="23" />;(2) 对于每个消息发送操作<img file="dest_path_image050.GIF" wi="44" he="20" />以致<img file="2011104576948100001dest_path_image051.GIF" wi="192" he="22" />,在<img file="dest_path_image052.GIF" wi="23" he="23" />中也存在<img file="557817dest_path_image050.GIF" wi="44" he="20" />。
地址 200433 上海市杨浦区邯郸路220号