● 摘要
随着网络技术的迅速发展,如何有效地访问网络资源,实现资源的共享和重用,成为网络应用的重要问题。在这种应用背景下出现的Web服务技术,具有良好的封装性、松耦合性、互操作性和可重用性等特点,适于异构环境下应用程序的交互,成为目前广受关注的网络应用构建方式。由于功能单一的Web服务无法满足日益提高的用户需求,将已有的Web服务组合起来,通过交互,形成更大粒度、增值的组合服务,成为Web服务的一个重要应用方向。组合服务流程完整地描述了组合服务与原子服务的交互顺序,依据组合服务流程实现的组合服务,只有正确地与原子服务进行交互,才能将细粒度的功能正确聚合,从而获得粗粒度的功能。为了更多、更准确地发现组合服务实现中的交互错误,本文以组合服务交互测试作为研究内容,研究重点是以组合服务流程为依据,动态测试组合服务与原子服务的交互过程。围绕这一研究重点,本文从三个方面进行研究:(i)如何形式化地描述组合服务流程,使其既能明确、显式地描述组合服务与原子服务的交互模式,又能方便地作为测试组合服务实现的参考模型;(ii)如何在组合服务运行时准确、方便地获取表征组合服务与原子服务实际交互过程的动态测试信息;(iii)如何根据动态测试信息,分析组合服务的实际交互过程与组合服务流程的一致性,发现组合服务实现中可能存在的错误。本文主要运用线性时态逻辑(Linear Temporal Logic, LTL)理论、本体理论和AOP(Aspect Oriented Programming)技术,从组合服务流程的形式化描述、动态测试信息获取和动态测试信息分析三个方面展开,研究组合服务的交互测试问题,主要创新点为:1)以OWL-S作为描述组合服务流程的基础,为其中的原子过程和控制结构定义LTL描述规则,增加用LTL描述的组合服务流程动态语义。这种扩充的描述方法,除了具有OWL-S已有的描述优势外,还能够清晰、明确地表达组合服务与原子服务的交互模式,可以方便地作为测试组合服务实现的参考模型。2)结合AOP技术和本体理论,提出基于AOP的源代码插装和本体查询相结合的动态测试信息组合获取方法。给出用于封装插装代码的方面(Aspect)模板,依据这些模板,结合OWL-S模型和各原子服务WSDL文档中的信息,即可自动生成用于获取交互信息的插装代码;在对交互信息进行分析的基础上,基于OWL-S模型进行本体查询,获取组合服务流程中与控制条件判断相关的信息,从而获得完整的动态测试信息。3)以交互模式匹配为基础,研究动态测试信息分析方法。以OWL-S模型中用LTL描述的组合服务流程为参考模型,通过交互模式匹配分析,将动态测试信息进行自底向上的聚合,分析组合服务实现的运行过程与组合服务流程的一致性,以发现可能存在的错误。在相关工具实现方面,以上述研究成果为基础,设计并初步实现了组合服务交互测试工具WSIT。它的主要功能包括:组合服务流程的形式化描述、组合服务实现运行过程中动态测试信息的获取和动态测试信息分析,最后通过实例验证分析了本测试方法的有效性。
相关内容
相关标签