首页 | 供应信息 | 求购信息  | 下载系统 | 技术资讯 | 企业信息 | 产品信息 | 论文信息 | 展会信息 | 在线工具
作者: 发布时间:2017-04-10 来源: 繁体版
  陈莹1,邢建春1,王洪达1,杨启亮1,2  (1.解放军理工大学 国防工程学院,江苏 南京 210007;2.南京大学 计算机软件新技术国家重点实验室,江苏 南京 210093) 摘要:针对BPEL过程在死路径消除语义

  陈莹1,邢建春1,王洪达1,杨启亮1,2bAQ自动化在线网

  (1.解放军理工大学 国防工程学院,江苏 南京 210007;2.南京大学 计算机软件新技术国家重点实验室,江苏 南京 210093)bAQ自动化在线网

      摘要:针对BPEL过程在死路径消除语义下建模与分析不够完善的问题,提出了一种新的BPEL过程建模与分析方法。该方法建立了将BPEL死路径消除语义转化为普通if-then-else的规则,进而可以利用着色Petri网(CPN)形式化地对BPEL过程进行建模,并通过CPN?Tools对BPEL过程的建模进行自动分析及验证。案例分析表明,该方法具有一定的实用性和可行性,能够帮助软件工程人员更好地测试、调试和维护BPEL程序。bAQ自动化在线网

  关键词:Web服务组合;BPEL程序依赖图;死路径语义消除;着色Petri网bAQ自动化在线网

  中图分类号:TP311.5文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.06.008bAQ自动化在线网

  引用格式:陈莹,邢建春,王洪达,等. 死路径消除语义下的BPEL过程建模与分析[J].微型机与应用,2017,36(6):22-25.bAQ自动化在线网

0引言bAQ自动化在线网

  *基金项目:江苏省自然科学基金项目(BK20151451)Web服务业务过程执行语言(BPEL或者WS?BPEL)是为满足基于服务的业务流程需要而制定的业界事实标准[1]。基于BPEL的组合Web服务因其能够提供功能更加强大的服务而受到业界的广泛认可[2]。然而,服务业务流程并不总是完美的,在流程设计中往往会存在一些问题(比如死路径消除),这很难满足高可靠度和可行性的要求。因此,BPEL过程在死路径消除语义下建模与分析的问题仍然需要完善。所谓死路径消除是指扩大某个不可执行活动的范围以至在该活动执行完成之后执行的所有活动都将无法完成。每个活动都承载着充当下一个活动是否能执行的判定条件的角色。目前,有关BPEL过程建模分析与验证的技术主要有Petri网[3]、进程代数[4]和自动机[5]等方法。从BREUGL F V[6]分析的近100篇论文中发现,采用进程代数和自动机的方法对BPEL过程进行建模,其模型比较复杂抽象,建模过程难度比较大。又由于BPEL程序同时支持并发路径和死路径消除(Dead Path Elimination, DPE),为了最大程度地解决BPEL过程建模的并发路径和死路径消除问题,需对现有的传统建模方法进行改进。bAQ自动化在线网

  基于业务流程的复杂性,使用BPEL流程组合建模比较容易出现错误[7],并且在语言表达上不够简明易懂。为了使流程语言表达更加准确、简单,需要采用形式化的方法对BPEL过程进行建模与分析。bAQ自动化在线网

  本文基于着色Petri网对BPEL过程在死路径消除语义下进行建模。着色Petri网(Colored Petri Net, CPN)是对一般Petri网的扩展,具有Petri网的所有性质,它将Petri网与程序元语言(Meta Language,ML)结合,并以简洁明了的方式描述并发系统。本文的主要创新点是在已有工作的基础上,提出了一种死路径消除语义下的BPEL过程建模与分析方法,该方法建立了将BPEL死路径消除语义转化为普通if?then?else的规则,并采用CPN?Tools工具将其形式化地表现出来。通过案例分析表明,与现有的BPEL过程建模相比,本文提出的BPEL过程在死路径消除语义下的建模更具有实用性和可行性,从而能够帮助软件工程师更好地测试、调试和维护BPEL程序。bAQ自动化在线网

1相关概念bAQ自动化在线网

  1.1BPEL简介与死路径消除bAQ自动化在线网

  BPEL是一种使用XML(标准通用标记语言下的一个子集)编写的服务组合编制语言,用于自动化业务流程的形式规约语言,可以协调多个服务的执行。由于业务流程的需要,BPEL提供了基本活动与结构化活动两种不同的活动类型[8]。同时,BPEL使用<flow>来提供并发性,并发活动的同步用<link>表示。bAQ自动化在线网

  一个BPEL活动可以是多个<link>的源活动,这些<link>称为该活动的outgoing links[9]。活动结束时,根据每个<link>对应的变迁条件对<link>状态进行设置(true or false)。如果没有与明确的变迁条件相关联,则默认的变迁条件为真。一个活动同时也可以是多个<link>的目标活动,这些<link>称为该活动的incoming links。关于incoming links状态的变量构成的布尔表达式,定义为BPEL过程融合条件(join condition)。只有当融合条件为真时,活动才可以执行。当所有的<link>取得了某种状态后,这个连接条件的值才能确定下来[10]。如果这个连接条件是真,则活动可以被执行,反之如果连接条件为假,则该活动不能执行并且所有通过它的<link>均被置为假。这样的状态将一直向下传递直到遇到某个活动的变迁条件为真,此时目标活动才可以执行,这种技术称之为死路径消除。bAQ自动化在线网

  1.2CPN简介bAQ自动化在线网

  着色Petri网(Colored Petri Net, CPN)是由丹麦研究员Kurt Jensen于1981年所提出,与大家所熟知的基本Petri网一样,CPN也是由库所、变迁和弧所组成[11],但不同的是CPN加入了元素声明并且具有对系统进行仿真和验证的能力。CPN结合了基本Petri网和程序语言的优点,可将复杂的业务流程用图形的方式进行建模描述,使得流程变得简单、更易于理解。此外,还可以运用一种强大的着色Petri网仿真工具CPN?Tools对系统的有界性、活性及其公平性等性质进行验证。本文的案例就是运用了此工具进行仿真、验证和分析,从而证实了文中所提出规则的准确性。


死路径消除语义下的BPEL过程建模与分析
评论】【加入收藏夹】【 】【关闭
※ 相关信息
无相关信息
※ 其他信息
访问数: | 共有条评论
发表评论
用户名:
密码:
验证码: 看不清楚,点击刷新
匿名发表

 搜索新闻
[提交投稿]  [管理投稿]
 最新新闻
 热点新闻
数据加载中..

网站地图
Autooo.Net 版权所有
Copyright © 2007--2017 All rights reserved