论文部分内容阅读
随着Internet的不断发展,面向服务计算(Service-Oriented Computing, SOC)成为了软件领域最热门的研究内容之一,而Web服务标准与技术的日趋成熟,使得Web服务成为万维网上的一种重要的计算资源,并极大的推动了面向服务计算的应用与发展。SOC的研究涉及许多研究领域,其中重要的一个领域就是Web服务组合。到目前为止,围绕着Web服务组合这个研究课题,国内外已有许多学术机构的研究者从各自的研究领域,进行了广泛和深入的研究。Petri网是一种适合于并发、异步、分布式软件系统描述与分析的形式化方法,它既有严格的数学定义,又有直观的图形表示,在Web服务组合领域得到了广泛的应用。然而经典Petri网无法精确表达Web服务的语义,并且随着Web服务数量的增加、服务请求者需求的复杂多样,基于基本Petri网的Web服务组合表现出状态空间爆炸和封闭性等问题,进而推动了高级Petri网的研究与发展。面向对象Petri网综合了Petri网的严谨且丰富的分析方法以及表达能力强的特点和面向对象的抽象、封装和模块化的优点,能更简单直观地描述并发的、分布式的系统模型以及交互行为的建模过程。本文采用面向对象Petri网作为理论基础,将Web服务抽象为一个方法的集合,并假定相同的方法实现的功能是一样的,用OOPN形式化定义和图形化表示单个Web服务,并设计了一个Web服务组合的模型WSC-OOPN,给出基于此模型的服务组合运算的形式化定义和图形表示,利用覆盖树、关联矩阵和状态方程、迁移矩阵等方法验证所提模型的安全性、可达性和死锁等属性;通过给出第一、第二优先级的定义,在WSC-OOPN模型上提出实现Web服务组合的优先级算法,给出算法的执行步骤和伪代码表示,并用实例验证该算法的可行性。该算法适用于,当用户所请求的方法只是部分的包含在多个Web服务中时,可以通过计算用户所请求方法自动生成的消息序列的优先级,根据优先级算法过程,选择出最佳的Web服务序列进行组合。