论文部分内容阅读
为了满足企业应用系统业务的快速变化,一种新的软件系统架构理论—面向服务的架构SOA(Service-Oriented Architecture)应运而生,并引领着软件行业新一轮的技术变革。SOA是以服务为基本单位,通过服务重用和快速组合构建随需应变的松耦合分布式系统,由于单个的Web服务能够提供的功能有限,为了更加充分地利用共享的Web服务构建企业级应用系统,Web服务组合技术变得愈加重要。Web服务组合验证是在服务组合实际部署前,提前发现Web服务组合中存在的问题的技术,是Web服务组合走向实用的前提和关键。论文结合实验室承担的国家支撑计划、863计划等国家级重大科研攻关项目,针对验证服务组合内部服务流程逻辑的正确性问题展开研究,探索基于Pi演算的服务流验证方法,论文主要内容如下:1.基于Pi演算的SFDL模型转换技术。Pi演算作为一种表达能力强大、形式简洁的形式化方法,特别适合用来描述分布式松耦合的并发系统。论文首先研究如何用Pi演算建模常见的流程结构模式。然后在分析服务组合描述语言BPEL(Business Process Execution Language)和工作流描述语言XPDL(XML Process Definition Language)的基础上,提出了服务流程描述语言SFDL(Service Flow Definition Language),该语言基于XML,易于理解,表达能力强。为实现基于Pi演算的服务流验证,论文采用基于模式的算法,实现了从SFDL到Pi演算表达式的整体模型转换。2.基于Pi演算的服务流验证方法。论文通过Pi演算的操作语义、自动推演等理论来识别和验证服务流验证中存在状态的可到达性、流程的可完成性等问题。存在上述问题的服务流在转换成Pi演算表达式后都无法顺利推演成空进程。本章还分析了利用MWB等工具进行自动化验证的优缺点,针对难以与现有系统集成等问题,论文提出对应的解决方案:在系统中进行Pi演算推演,在推演过程中依次检查服务流的状态可达性、死锁等问题。3.基于Pi演算的服务流验证原型系统实现。为了验证论文所提方法,基于课题组已有的Web服务组合框架WSCF和Web服务组合原型系统JTangFlow-S,论文实现了所提出的基于Pi演算的SFDL模型转换和服务流验证方法,系统和实验表明论文所提的算法有较高的准确率。