论文部分内容阅读
随着Internet技术的迅速发展,基于Web的分布式计算模式已成为软件开发的趋势。越来越多的企业将自己的业务以服务的形式进行提供,并构建跨企业的虚拟组织或虚拟企业以实现大规模资源共享。
Web服务是一种新型的Web应用程序,它提供一套标准的协议,用于沟通不同平台、编程语言和组件模型中的不同类型系统。然而,单一的服务能提供的功能有限,为了满足实际业务的需求,人们提出服务组合的概念。服务组合就是通过基本服务之间的相互通信和协作,把相对独立及简单的服务组合成具有新功能的大粒度服务的过程,从而实现服务的增值。由于服务组合的复杂性、动态性、异构性和组件服务本身的可用性等问题使得对服务组合的建模和分析都相当困难。如何保证服务组合模型的正确性及服务组合的相关性质分析问题,已成为软件工程领域具有挑战性的研究课题。
形式化方法是解决这些问题的一种可行方法。而Petri网及其相关技术是对服务组合性质进行分析的有效手段之一,同时可应用相关的工具对组合过程进行模拟。Petri网具有良定义的操作语义,提供了定性和定量分析方法,以及许多分析工具。因此,使用Petri网对服务组合建立相应的模型,可以为实现对服务组合进行验证奠定基础。而服务组合是否具有相关的性质可以通过Petir网及其相关理论来验证。本论文通过分析服务组合的关键技术及存在的困难,在面向服务的体系下,研究基于Petri网的服组合模型设计及分析技术。建立服务组合的模型,分析功能驱动的服务组合及服务组合的事务处理机制,并提供灵活有效的服务组合容错机制,保证经过动态部署的服务组合能够正常运行。论文的主要的创新工作如下:
提出了基于功能驱动的服务组合分析方法。该方法依据服务组合生命期不同阶段的支撑功能将服务组合分解为若干相对独立的功能模块,并使用着色Petri网分别对它们进行建模。提出服务的调度策略,引入ASK-CTL来描述模型的基本性质,利用着色Petri网的状态空间来验证相关性质,使用CPN Tools中ASK-CTL库验证对应公式,并给出服务组合的可行性分析算法。
建立了服务组合的事务处理方法。该方法基于用户的可接受状态来实现服务组合执行结果的一致性。将服务组合的过程描述为任务之间的数据通信及任务间关系的工作流模型和描述服务的事务属性及服务的失败处理的失效处理模型。通过生成的服务组合失效处理模型,给出可靠服务组合的定义,提出服务组合的协调策略并证明其有效性,最后给出协调策略的具体实施方法,确保生成满足用户所需的服务组合。
提出了一种服务组合的容错处理方法。针对服务组合的特点将任务分为可失败和不可失败两种,同时每个任务能调用多个功能等价的可用服务。提出服务组合的容错策略,该策略由服务选择机制、服务同步机制和任务异常机制组成。利用Petri网分别对服务、任务、同步机制及异常机制建立相应的容错模型,从而生成服务组合容错网。基于容错模型的状态空间,并运用Petri网的相关理论证明容错策略的可行性、一致性和有效性。
提出了服务组合的可靠性分析方法。该方法首先构造容错模型的可达图,然后定义转移矩阵以表达状态之间的关系,从而把模型的可靠性问题转化成对转移矩阵幂的计算问题。在保持可靠性不变的前提下,给出转移矩阵的等价化简方案。并从不同的方面对服务组合系统进行仿真,进而说明该方法的可行性。