BPEL流程异常处理的可终止性验证研究
【摘要】:BPEL流程异常发生时采用了事件、中断机制,且异常处理过程中还可能重新抛出异常,这些特性往往导致异常处理不能正常终止,使得BPEL流程无法正常运行。因此验证异常处理的可终止性尤其关键,通过异常处理的可终止性验证能够为系统的正确性提供保障。同时,这些特性也使得异常处理的可终止性验证比传统意义上的程序可终止性验证要考虑更多的因素。由于针对异常处理是否能达到预期目标这一问题缺乏相关研究,针对这一研究现状,我们围绕BPEL流程的异常处理可终止性验证展开了系统的研究。
本文的主要研究工作包括以下四个方面:(1)提出了一种BPEL流程异常处理的形式化建模方法。该方法基于着色Petri网理论,重点研究了BPEL流程中与异常处理可终止性相关的异常抛出、捕获、处理、返回或传播等的建模。并利用该方法建立了适合可终止性验证的形式化模型。该模型能够描述BPEL流程的异常处理层次性,为异常处理的可终止性验证提供了基础。(2)提出了一种BPEL流程中输入消息变量的数据约减方法。该方法基于抽象解释理论,扩展了经典区间抽象域,并在统一的区间抽象域上借助异常控制流图分析了变量值范围,在此基础上分析得到输入消息变量的约减值。从而为异常处理的可终止性验证提供了约减的初始配置,有效缓解了状态空间爆炸。(3)提出了一种验证异常处理可终止性的模型检测方法。该方法针对异常处理形式化模型所生成的状态空间,定义了基于时序逻辑ASK-CTL的异常处理可终止性判定规则,在这些规则基础上,研究了可终止性验证算法和验证过程,为可终止性验证提供了有效的实施途径。(4)设计了一个BPEL流程异常处理的可终止性验证的原型系统。该验证系统在异常处理的开发工具和运行环境的基础上,新增了异常处理可终止性验证功能,主要包括异常处理的建模工具、数据的约减工具以及可终止性的验证工具,为可终止性验证提供了工具支持。