节点文献

面向QoS的Web服务组合建模和验证研究

Research on Modeling and Verification of QoS-Oriented Web Services Composition

【作者】 肖芳雄

【导师】 黄志球;

【作者基本信息】 南京航空航天大学 , 计算机应用技术, 2010, 博士

【摘要】 面向服务的计算SOC(Service-Oriented Computing)与面向服务的体系架构SOA(Service-Oriented Architecture)代表了分布式计算和软件开发的最新发展方向。Web服务组合是实现SOC & SOA的核心技术之一,它是一种基于Web服务协议组合已有Web服务、构建Web应用的软件构建新形态。由于被组合的Web服务是由不同组织发布、分布在Internet上、具有自治特征的软件组件,在开放、动态、难控的Internet环境下实现各类Web服务资源集成和共享的Web服务组合,其QoS(Quality of Service)成为影响其能否成功的关键因素之一。在系统分析和设计阶段,建立Web服务组合的模型并分析验证其功能正确性和QoS可满足性,是提高Web组合服务可信性的重要手段。目前,Web服务组合建模和验证的研究一般对功能和QoS分别进行建模和验证,由于需要分别建立功能模型和QoS模型,并且建立两者的阶段可能不同步,通过功能验证的系统模型可能并不满足QoS要求,需要重新进行设计或调整,从而增加了开发成本,同时延长了开发周期。造成这一问题的原因在于目前的建模、验证的方法、工具对Web服务组合功能和QoS统一建模和验证的支持不足,因此,有必要对现有建模、验证的方法、工具进行QoS扩展以支持Web服务组合功能和QoS统一建模和验证。为此,本文针对下述问题展开了研究:第一,由于Web服务的QoS涉及多个质量属性,且属性值的评估方法随应用领域和组织机构的不同差异较大,不可能把这些质量属性一一扩展进已有方法和工具,因此,如何从这些QoS属性中提炼出适合建模的属性进行扩展,如何以一致的方式对这些属性进行评估和比较,是Web服务QoS属性模型和评估问题。第二,UML序列图SD(Sequence Diagram)是一种使用广泛的用于描述系统组件之间交互行为的图形化建模语言,具有建模直观、易于掌握和使用的优点,容易为最终用户、需求分析人员和系统设计人员所接受。由于Web服务组合的一个显著特点是参与组合的Web服务之间的交互,因而SD适合于Web服务组合交互行为的图形化建模。然而,目前SD对QoS的建模支持不足,因此,如何对SD进行QoS建模扩展以支持Web服务组合的建模,是基于UML的Web服务组合QoS建模问题。第三,进程代数PA(Process Algebra)是适合于描述并发和组合系统、面向验证的形式化建模和分析语言,具有形式化的精确语义以及较丰富的自动分析验证的方法和工具,而Web服务组合的一个显著特点是参与组合的Web服务之间的并发和组合,因而PA适合于Web服务组合的形式化分析和验证。然而,现有PA对QoS的建模和分析支持不足,因此,如何对PA进行QoS扩展以支持Web服务组合的分析和验证,是基于PA的Web服务组合QoS分析和验证问题。第四,由于SD的语法采用图形符号表示,语义采用自然语言描述,缺乏形式化的精确语义,难以直接支持形式化分析与验证。而PA基于严格的数学基础,其语法和语义采用形式化符号表示,不易为最终用户、需求分析人员和系统设计人员掌握和使用。因此,在这两种语言进行了QoS建模扩展之后,如何提供一种方法来实现两者的转换,从而把这两种语言的优势融合在一起以支持Web服务组合建模和分析验证,是具有QoS特征的模型转换问题。本文通过系统研究上述问题,取得了如下主要研究成果:(1)提出了Web服务QoS抽象模型和评估方法。目前Web服务研究中关注的QoS属性较多,且属性值的评估方法随应用领域和组织机构的不同差异较大,不利于以一致的方式来评估Web服务的QoS。从抽象的角度,从众多QoS属性中提炼出时间、概率、代价三种抽象QoS属性。在此基础上,给出了QoS多属性归一化处理方法和多属性综合评估方法,支持在模型层面以一致的方式评估Web服务的QoS,以及QoS优化的Web服务选取。(2)提出了面向Web服务组合建模的QoS序列图SDQ(Sequence Diagram for QoS)。把时间、代价信息映射到UML基本序列图SD中,提出扩展了时间和代价建模能力的基本QoS序列图bSDQ(basic SDQ);把概率信息映射到高层序列图,提出了高层QoS序列图hSDQ(high level SDQ),支持把不同建模者创建的局部bSDQ概率合成为全局SDQ。在此基础上,给出了BPEL4WS活动到SDQ的映射,以及基于SDQ的Web服务组合建模方法,支持Web服务组合功能和QoS相统一的图形化建模。(3)提出了面向Web服务组合验证的QoS进程代数PAQ (Process Algebra for QoS)。针对现有PA对QoS分析验证支持不足的问题,把时间、代价、概率信息映射到PA中,给出了PAQ的语法和语义,证明了PAQ在PA基础上扩展了QoS分析验证能力。在此基础上,给出了基于PAQ的Web服务组合分析验证方法,支持Web服务组合功能和QoS相统一的形式化分析验证。(4)提出了SDQ到PAQ的转换方法。给出了SDQ的形式语法,以及基于PAQ的SDQ形式语义。在此基础上,给出了SDQ到PAQ的转换算法,支持SDQ到PAQ的转换,从而可以把SDQ图形建模和PAQ形式分析验证的优势结合起来。(5)基于上述方法,设计了Web服务组合统一建模和验证工具UMV4WSC (Unified Modeling and Verification for Web Services Composition),支持Web服务组合功能和QoS建模,支持图形建模和形式分析验证。在此基础上,给出了基于SDQ建模Web服务组合、SDQ模型转换为PAQ模型、PAQ模型分析验证的完整案例,实例分析说明了上述方法的有效性。

【Abstract】 SOC(Service-Oriented Computing) and SOA(Service-Oriented Architecture) is leading the forward trend of distributed computing and software development. Web Services Composition(WSC) is the recommended technology for implementing SOC&SOA and a novel way to build Web application by composing existing Web services. Quality of Service (QoS) of WSC is a key factor to affect its successful application since Web services composing WSC are autonomous and owned by different organizations, and distributed in the open and dynamic internet circumstance. In the phase of modeling or design, it is useful to ensure dependence of WSC by modeling, analyzing and verifying its model from functional and QoS view.Currently, functional model and QoS model of WSC are separately created for analysis and verification at different phase, which causes more development cost and longer development period. The main cause is that current modeling and verification methods and tools do not strongly support WSC. Hence, it is worthful to improve current modeling and verification methods and tools for WSC. Some questions rise for doing that. First, QoS of WSC includes many properties, and evaluations of those properties very differ among application fields and organizations. Thus, it is impossible to model and verify all properties in a unique model. How do we extract necessary properties to be modeled from varieties of properties? How do we evaluate the necessary properties in consistent way regardless of fields and organizations? Second, UML Sequence Diagram (SD) is a modeling language for modeling interactive behaviors among components of system in graphical way. It is popular in that it features intuitive modeling way and easily used by end users, analyzers and designers. SD is suitable for modeling WSC since WSC also features interacting among Web services components that comprises WSC. However, SD does not strongly support modeling QoS of WSC. How do we improve SD to support modeling QoS of WSC? Third, Process Algebras (PAs) is a set of formal and verification-oriented modeling languages that are good at modeling and verifying concurrent and composite systems. They are widely used to formally modeling and verifying WSC. However, PAs does not strongly support modeling and analyzing QoS of WSC. How do we improve PAs to support modeling and analyzing QoS of WSC? Finally, it is difficult for SD to support directly formal analysis and verification of system since SD has graphical syntax and natural language semantics. Comparatively, it is difficult for end users, analyzers and designers to understand and use PAs since they are based on strict mathematics theory and formal symbols. Hence, it makes sense to figure out a solution to compromise for both to take advantages of them. This thesis does systemic researches on above problems and achieves some contributions as below.(1) We propose an abstract QoS model that includes only three abstract properties to cover all concrete QoS properties, i.e., time, cost and probability, from views of practice and conciseness. We also propose approaches for handling and evaluating the abstract properties in unique way, which support evaluating QoS of Web services in consistent and unambiguous way in abstract model level, and selecting Web service with optimal QoS.(2) We propose a specific sequence diagram called SDQ(Sequence Diagram for QoS) by extending traditional UML SD with QoS modeling capability, and present modeling approach based on SDQ. SDQ includes two parts, i.e., bSDQ(basic SDQ) and hSDQ(high level SDQ). The bSDQ is a specific SD extended with time and cost modeling capabilities to model local scenarios, while the hSDQ is a direct graph extended with probability modeling capability to model global scenarios by composing bSDQs. Then we present an approach to model WSC by mapping activities of BPEL4WS to SDQ.(3) We propose a specific process algebra called PAQ(Process Algebra for QoS), and then present approaches to analyze and verify functionality and QoS in unique way based on PAQ. We propose PAQ to improve a existing process algebras with capability of analyzing and verifying QoS by mapping time, cost and probability to the process algebra. Also we present syntax and semantics of PAQ and prove in theory level that PAQ extends the existing process algebra with capability of modeling QoS. After that, we represent approaches to formally analyze and verify functionality and QoS of WSC in unique way using PAQ.(4) We present an approach to translate SDQ to PAQ. The approach is a semantics-based translation. We formalize the semantics of SDQ using PAQ, and then figure out an algorithm of translating SDQ models to PAQ models. The approach integrates the advantage of graphical modeling capability of SDQ and the advantage of formal analysis and verification of PAQ.(5) And a tool,called UMV4WSC,is designed according to the above proposed approaches. After that, we present a full case study that includes: modeling Web service composition using SDQ, translating SDQ models to PAQ models, and verifying PAQ models. The case study indicates the effectiveness of the above proposed approaches.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络