论文部分内容阅读
随着Web服务技术的成熟,越来越多的业务提供者以Web服务的形式提供服务。如何利用已有Web服务向用户提供复杂服务成为当今研究的热点问题。结合国家自然科学基金“移动智能业务平台的基础性研究”、国家973项目“一体化可信网络与普适服务体系基础研究”项目和北京市教育委员会共建计划产学研合作项目“平谷旅游服务系统”,为了实现服务组合的自动性,本文基于人工智能规划对自动服务组合中两个重要技术一服务推理和服务约束进行了分析,提出了一个基于规划的服务组合算法,并基于该算法实现了一个三层的服务组合框架,通过在平谷旅游服务系统中的应用,说明该框架及其相关算法能够自动或半自动的实现服务组合。论文的主要工作包括以下内容:(1)为了解决不确定状态的服务推理和服务约束满足的问题,建立了一个基于STRIPS的服务Planning模型,并针对该模型提出了部分有序的Planning算法(Extended POPLAN),实现服务组合。ExtendedPOPLAN算法的创新性在于:(a)对于不确定状态机的确定状态通过松链接(Casual-Link),即前一服务的结果(Effect)包括后。一服务前提(Precondition),来完成服务推理。(b)对于服务组合的不确定状态,将其进行分类,包括不确定状态请求和不确定状态响应。不确定请求通过增加服务前提(Establishing Precondition)、不确定响应通过Abstract BPEL/UDDI交互,从而将不确定状态机变为确定状态机,完成不确定状态服务组合的服务约束满足。(2)基于Extended POPLAN算法,提出了一个三层的服务组合框架(MOCIS)。一个Planning的服务组合需要解决两个核心问题,服务推理和约束满足。服务推理包括服务行为及关联关系确定;而服务约束包含两种类型,质(Quality)服务约束和量(Quantity)服务约束,质服务约束描述服务消息间相同、不相同或包含关系,量服务约束是服务需求中的线性服务约束。不同于传统手动完成的BPEL编制方法,MOCIS的创新性在于提供了一个分层框架,逐层解决的服务推理、质服务约束和量服务约束。第一层Activity Tree Planner依靠服务行为和结构来完成服务推理,中间层Message Planner通过UDDI的tModel和服务消息来完成质服务约束。通过第一层和第二层,系统生成Abstract BPEL列表,用户可以通过该列表选择合适的AbstractBPEL。第三层Scheduler采用ChooseProvider和回溯算法,得到Abstract BPEL对应的BPEL列表。用户可以选择满足需求的BPEL,并将其部署到相关应用服务器上运行并获得服务组合结果。(3)基于复杂商业逻辑需求的服务组合方法。针对旅游领域中多日旅游规划的时空约束,提出了基于时空对象模型的服务聚类方法。首先提出了一个BNF的服务需求描述,针对旅游领域中的服务及其时空关系约束,建立了UML的静态类图,最后通过K-means等聚类方法实现旅游服务多天规划的服务组合。本服务组合的特点在于解决了传统服务描述服务行为(What)和服务关系(How)的同时,通过聚类实现了服务时间(When)和地点(Where)的组合需求。本项目的系统原型均基于平谷旅游服务组合系统,并通过具体的服务组合实例验证了Extended POPLAN算法、三层的服务组合框架、服务聚类,实现了基于规划和约束满足的服务自动组合。