论文部分内容阅读
随着大数据和大服务概念的兴起,服务产业迎来了新的变革。伴随着需求方对软件服务性能标准上的提高以及越来越复杂的软件业务流程,传统的软件开发模式已经变得不再适用。如何快速、高质量的开发服务产品成为了如今服务领域的一个热门研究方向。当对现有的软件服务进行组合时,用户除了关心功能性方面的可满足性外,软件服务的非功能性的可满足度也变得愈加重要。传统的服务质量(Quality of Service,Qo S)在对软件服务非功能属性描述时,并未考虑法律或者服务使用权限等方面的约束。针对上述问题,本文提出了SCOM(Service Contract oriented Model,SCOM)驱动的软件服务系统构建方法。在该方法中,本文首先利用Horn子句构建了满足用户功能性需求的抽象服务流程模型,接着引入了服务契约概念,扩充了Petri网的非功能性需求描述能力,构建了满足用户个性化的功能和非功能性需求的SCOM模型。接着,基于SCOM模型,提出了一种混合增强人工蜂群(Hybrid Enhancement Artificial Bee Colony,HEABC)算法,支持SCOM驱动的软件服务系统构建。最后根据上述研究内容,设计了一款小型的Web服务组合系统。具体研究主要包括以下几个方面:(1)提出了一种考虑用户输入和输出请求的Web服务组合方法。在使用Petri网对Web服务的抽象流程进行描述时,首先将注册后的服务转换为一组Horn子句的形式,将用户提供的输入和输出参数转换为Horn子句中的一组事实和目标,通过逻辑推理的方式构建完整的业务流程。(2)提出了基于服务契约(Service Contract,SC)的Petri网模型。原始的Petri网在对Web服务进行服务流程刻画时只包含了功能属性,并不能对非功能属性进行描述。本文将服务契约扩展至Petri网的流程构建过程中,通过基于服务器契约的属性选择匹配原子服务,完成服务组合的链式操作。(3)为了高效地实现服务选择,并利用服务聚合方法构建能够最大化满足用户需求的复杂软件服务系统,本文提出了一种混合增强人工蜂群(Hybrid Enhancement Artificial Bee Colony,HEABC)算法。该算法将K-means算法、KNN算法与ABC算法融合,保证ABC算法在离散解空间更新解时,始终保持解的连续性。进一步地,该算法通过增加蜜蜂群体之间信息共享的能力,增强了蜜蜂群体的探索和开发能力。