论文部分内容阅读
面向服务的体系结构(Service-Oriented Architecture,SOA)是一种新的分布式应用程序体系结构,它是构件重用技术和分布式技术发展的结果,业界提出将面向服务的体系结构作为软件体系结构下一个发展阶段来帮助IT组织应对所面临的越来越多的复杂性挑战。在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以预先定义的顺序调用这些服务来组装业务应用。服务是平台独立的、松散耦合的、具有良好定义功能的、分布在Internet网络上的软件模块。服务计算(Service-Oriented Computing,SOC)是一种新的计算范型,它使用服务作为基础构造去支持快速、低成本软件开发和简易组装等分布式应用。总结当前主流的服务计算模型,其服务计算方法主要分为语法方法、语义方法和形式化方法三类,其中语法方法强调的是服务组装中的工作流过程,语义方法旨在自动化服务组装全过程,形式化方法侧重于服务组装的正确性验证。 本文在对当前主流服务计算方法进行分析比较的基础上提出了一个基于过程网络的服务协同计算模型CCM。一方面,该模型继承了语法方法强调工作流组装过程的优点,采用基于工作流的语法方法来描述和组装服务;另一方面,该模型借用了形式化方法在服务组装正确性验证方面的优势,采用CCS进程代数提供的形式化验证机制来验证服务组装的正确性。Kahn过程网络(KPN)模型是一个基于数据流的计算模型,用于描述通过数据流进行通信的一系列协作过程。KPN的基本属性,包括并发性、可调度性、确定性、层级性和可实现性使它成为一个理想的服务计算理论模型,但KPN在非确定性系统建模方面的不足限制了它的实际应用,同时该模型仅提供了两个通信事件和一个计算事件,三个事件不足以描述复杂的服务交互。本文针对KPN过程网络模型在非确定性事件建模方面以及在服务交互建模方面的不足,增加了不确定性选择结构,扩充了KPN的三个基本事件,使之更适合建立复杂的服务交互模型。 在给出的CCM服务协同计算模型的基础上,本文设计了CCML服务协同计算建模语言并描述了其操作语义。CCML语言是一种语法层次的服务组装描述语