The correctness of BPEL process is getting more and more attentions. As a concurrent supported language, improper or incorrect use of concurrent and synchronization may cause intra-processes or inter-processes deadlock, which is a kind of common concurrent defects seriously affect reliability and availability of system. Even more serious, for the critical-task system, such deadlock will cause a serious consequence. So, based on analysis of BPEL and deadlock characters, we propose a detecting method in the design phase, reducing system maintenance costs, improving process reliability. This paper presents a method from the overall analysis view to resolve the above problems, combing the execution context information among processes, so the communication deadlock can be detected. This method is also applicable to other defects that related to the inter-processes.%BPEI流程的正确性问题越来越受到广泛关注.作为一种支持并发机制的Web服务组合语言,不正确地使用并发和同步操作或不正确的交互都可能会使单一流程内部或流程间产生死锁.死锁问题是一类常见的并发缺陷,可能严重影响系统的可靠性与可用性.更为严重的是,对于业务流程组合这种可靠性和安全性要求极高的系统,一旦发生死锁,将会对业务系统产生严重的后果.为此作者在分析BPEL特性和死锁特征的基础上,提出了一种可在BPEL流程设计阶段检测流程死锁的方法,从而提高流程的可靠性,减少系统的维护代价.文中提出了一种从全局出发进行分析的方法,结合流程间执行的上下文信息,可以有效检测流程间的通信死锁,该方法也适用于其它与流程执行上下文相关的缺陷检测.
展开▼