Web服务编排语言的分析与测试
作者单位:华东师范大学
学位级别:硕士
导师姓名:蒲戈光
授予年度:2011年
学科分类:08[工学] 080402[工学-测试计量技术及仪器] 0804[工学-仪器科学与技术]
主 题:Web服务组合 WS-CDL 关系演算 程序验证 符号执行 测试自动化
摘 要:Web服务编排描述语言(Web Services Choreography Description Language,简称WS-CDL)从全局的视点描述服务组合各个参与方的行为规范,并且具有可重用性以可及描述事务性等特点。在部署前对WS-CDL程序验证和测试可以有效降低部署风险和项目成本。但是WS-CDL只是描述语言其程序不可执行,目前由于WS-CDL程序没有解析器或模拟器,WS-CDL程序的验证与测试变得十分困难。 本论文提出了通用的XML语言静态约束的验证方法。该方法与经典的模型检查的方法类似,可以统一地验证不同语言的静态性质也可以统一地验证相同语言的不同版本。该方法中用于描述静态制约的语言被称为约束逻辑,它基于一阶谓词逻辑。论文同时提出了用于描述XML文档的形式化模型。另外,我们还设计了使用模型化简技术优化后的验证算法用来验证XML文档是否满足其静态制约。 在我们小组自己开发的WS-CDL程序模拟器上,我们提出了一种自动测试WS-CDL程序的方法。该方法通过使用从动态符号执行生成能达到分支覆盖标准的测试用例从而自动完成对WS-CDL程序的测试。该方法支持Web服务组合的异常处理,正常结束处理等特性,而其他研究往往没有处理这些特性。另外我们提出了两种处理WS-CDL程序中断言的方法,这些断言可以描述WS-CDL程序预期的行为。 我们在模块化的开源Eclipse插件CDLChecker上实现了这些方法。CDLChecker是WS-CDL的一个集成开发环境,它支持对WS-CDL程序的编辑、模拟、验证和自动测试功能。最后,我们在CDLChecker上设计了几组实验用来验证提出的方法的有效性。实验结果显示本文的方法能够正确地处理WS-CDL程序。