基于有色Petri网的BPEL流程数据竞争检测

来源 :南京大学 | 被引量 : 0次 | 上传用户:shenkan8009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
BPEL是Web服务组合的事实标准,利用flow和link提供了并发和同步的机制。BPEL流程中的不同线程可同时访问同一个共享变量,虽然isolated scope提供了并发情况下对共享变量的访问控制,但和传统并发程序一样,如果BPEL流程未对共享变量的访问进行正确的同步,则BPEL流程也会存在数据竞争的错误。BPEL中引入的死路径删除等特性,进一步增加了数据竞争检测的难度。  数据竞争是多线程程序的常见错误之一,只有在线程间某些特定的切换下才会发生,是一种难以检测和定位且具有较大危害性的错误。目前针对BPEL的研究主要集中在测试和验证方面,需要针对数据竞争进行专门的检测。  在现有工作的基础上,我们综合运用静态检测和基于有色Petri网动态模拟执行的方法来检测BPEL流程中的数据竞争,可以比较全面和准确地检测到数据竞争,主要工作如下:  (1)由于BPEL是一种基于XML的语言,抽象程度比较高,难以对BPEL流程直接进行分析,我们首先将BPEL流程转换成为更容易理解的BAFG图(一种扩展的CFG图),在此基础上,从控制流和同步流的角度,分析了包括死路径删除在内的BPEL流程的语义。  (2) BPEL流程在静态条件下可确定由控制流和同步流的传递的发生序关系,因此通过静态检测的方式,可以先初步检测出可能的BPEL数据竞争活动对。静态检测比较全面,但由于静态检测不执行BPEL流程,会存在较多的误判。  (3)在BAFG图上,结合静态检测的结果,利用深度优先遍历的算法生成BPEL测试路径,并根据约束求解工具去除不可能的测试路径,每条测试路径都包含可能存在数据竞争的BPEL活动对。  (4)根据BPEL测试路径,利用有色Petri网建模工具CPN Tools模拟BPEL流程的执行,判断可能存在数据竞争的BPEL活动对在模拟执行中是否可以并发执行,若可以并发执行,则存在数据竞争,否则不存在数据竞争。
其他文献
统计机器翻译的首要工作是获取双语词对齐信息,而词对齐需要从词边界清晰的双语语料中训练才能得到。因此,在涉及中文的统计机器翻译系统中,首先需要对中文语料进行分词处理。可
一致化理论在自动推理、自然语言理解、逻辑证明、重写理论等研究领域中有着广泛的应用。目前语法一致化因子的产生算法和工具已经相对成熟,但还没有产生等价一致化因子的实
当今时代,嵌入式系统已经无处不在。从早期的通信设备、工业控制等领域已经很快的发展到与人们日常生活密切相关的电子产品领域中。同时,嵌入式系统也变的日益复杂,嵌入式操
在单元测试领域,测试充分度准则一直是研究的热点。到目前为止,学术界提出了各种不同的测试充分度准则。Richardson和Thompson在他们的研究成果即RELAY模型中提出了一种错误传
科学技术的发展和新兴商业模式的出现带来了多种类型数据的产生和积累,例如天文数据、社交数据、电商数据等。利用机器学习技术进行数据分析并挖掘数据中蕴含的知识和规律具有
随着当代计算机技术和信息技术的不断发展和应用,各种领域都通过越来越多的手段产生大量的数据。但由于数据收集方式造成的误差,和数据本身的不确定性等原因,使得采集到的数据往
在当今的互联网中,搜索引擎以其快速和直接的资源访问方式,得到了越来越多用户的青睐,并发挥着越来越重要的作用。而在搜索引擎中,搜索结果是其和用户交流的直接媒介,搜索结
本文作者介绍了基于代理的用户态TCP/IP协议栈的设计与实现,并使该协议栈针对代理功能进行剪裁和优化,以及在多核处理器上实现性能的线性扩展。代理服务器通常作为数据中心的
电子商务具有巨大的经济增长潜力,但是在其高速的发展过程中面临很多挑战。电子商务的开放性、虚拟性、匿名性等特点导致严重的信息不对称问题和交易风险问题,大规模电子商务应
随着社会的进步,网络在国民经济和基础设施建设方面发挥着越来越重要的作用。为了保护网络免受恶意攻击,我们需要随时掌握网络的安全状态,并提供有效的措施来提升网络的安全性。