论文部分内容阅读
随着信息技术的发展,Internet正在演变成各类资源集中与共享的平台。服务计算顺应了上述发展趋势,受到了学术界与软件行业的广泛关注。Web服务作为一种自治、开放、以及与平台无关的软件,更好的适应了服务计算应用开发模式复用、灵活和可增长的特点,因此已逐渐成为软件技术研究关注的热点。由于Web服务处在开放、动态、多变的网络环境下,为了有效响应用户需求、运行平台及外部环境的变化,服务必须具备演化的能力。从服务演化管理和控制的角度出发,演化应该满足一个基本要求,即演化后的服务应维持与原伙伴服务或服务用户之间的正常交互,研究者通常使用演化一致性来对服务演化后是否满足该基本要求的情况进行衡量。因此,如何对服务演化一致性进行判定,以便更好地支持服务的演化就成为服务演化研究中一个关键问题。针对服务演化一致性判定问题,本文认为由服务演化所导致的变化是影响演化一致性的根本因素。基于该思想,本文首先解决了如何描述变化的问题,在此基础上提出了基于变化向量的服务版本描述模型。其次,本文研究了如何抽取变化的问题,提出了分层的变化向量抽取方法。最后,从如何基于变化进行演化一致性判定的角度出发,提出了基于CBSVD模型的服务演化一致性松弛判定框架。对于基于变化的服务版本建模问题,本文给出了增、删、改等三种变化操作,并结合服务抽象描述模型将变化以变化向量的形式进行建模。通过对变化的形式化描述,将服务版本描述为“前一服务版本+变化”的形式,从而使服务版本描述能够显式的反映新旧版本之间的变化,为支持基于变化的演化一致性判定建立了基础。接下来,本文研究了针对服务结构层、行为层、非功能层的变化抽取算法,从而可获得服务版本之间的变化向量集合。针对基于变化的演化一致性判定问题,为了满足不同使用者的需求,本文研究了用户可自定义判定阈值与松弛系数的一致性判定方法,并提出了结构一致度、行为一致度以及非功能一致度的计算方法。最后设计和实现了一个服务演化一致性判定工具,通过该工具验证了本文所提出的演化一致判定方法的有效性。