自适应Web服务组合方法综述

第10章 自适应Web服务组合方法的评估与分析

多阿·H·埃尔赛义德、埃曼·S·纳塞尔、阿拉·埃尔丁·M·埃尔加扎利和 默瓦特·H·盖特
面向服务的需求工程(SORE)在通过Web服务技术开发服务需求的获取、 定义和验证方面起着重要作用。随着用户需求日益复杂,需要将多个Web服 务组合起来以满足这些需求。通过集成现有的Web服务集合来构建新的增值 业务以满足用户需求的过程称为Web服务组合(WSC)。WSC的主要目标 是开发组合服务以满足用户需求,这些需求不仅包括功能需求(FR),还包括 非功能需求(NFR)。WSC面临的主要挑战之一是如何应对动态环境。由于 Web服务属性和组合需求经常发生变化,这就要求SORE活动必须具备自适 应机制,以提供最合适的服务组合并满足新出现的用户需求。自适应可以以 主动式或反应式的方式发生。本章对现有针对动态环境中WSC问题的反应 式适应研究进行评估和分析,以识别该领域的研究空白。这些方法被分为三 类:可变性模型的使用、上下文感知和多代理方法。大多数这些方法无法应 对复杂不确定上下文中持续且不可预见的变化,因为它们需要在设计时定义 上下文。通常在不确定的环境中,很难预测所有可能出现的情况。

10.1 引言

面向服务的架构(SOA)是一种以可互操作的服务形式设计和开发分布式系 统的架构方法。互操作性是指两个或多个系统协同工作以实现共同目标的能 力[1, 2]。Web服务是实现SOA的一种技术[3]。Web服务通过三种主要的 Web技术实现应用程序之间的互 operability,为部署、发布、发现和调用企业服 务提供了工业标准。实现Web服务的标准技术包括Web服务描述语言( WSDL)、通用描述、发现与集成(UDDI)以及简单对象访问协议( SOAP)[4]。随着用户需求日益复杂,需要将多个Web服务组合起来才能满 足这些需求[5]。开发满足用户需求的组合服务的过程称为Web服务组合 (WSC)。WSC的最终目标是开发出能够满足用户需求的组合服务,因此 需求工程(RE)可被视为WSC最关键的阶段[6]。RE通过与所有相关利益 相关者协商,确立系统的目标和目的。RE可分为功能需求(FR)和非功能 需求(NFR)[7]。功能需求(FR)表示系统或组件的功能(即系统做什么)。
非功能需求(NFR)则被视为对系统质量的要求,如服务质量(QoS)、成 本、可扩展性、可用性、可维护性等。功能需求(FR)由任务/功能表示, 而非功能需求(NFR)则通过质量约束来具体化。如果在初期未能正确定义 功能需求(FR)和非功能需求(NFR),所得到的Web服务组合(WSC) 将无法完全满足用户的需求。

需求工程(RE)已经从经典方法发展到面向对象方法,最终演进为面 向服务的需求工程(SORE)[8]。SORE定义了从两个不同角度——服务消 费者和服务提供者——来获取、指定和验证服务需求的方法论[8]。服务提供 者需要理解所提供建服务的功能和非功能部分。对于服务消费者而言,挑战 在于如何在成本、功能需求(FR)和非功能需求(NFR)之间进行权衡, 以找到最符合需求的服务。Web服务组合(WSC)的一个关键研究挑战是 如何应对动态环境。在动态组合环境中,变化可能发生在设计阶段和运行时, 例如Web服务的可用性、需求的组合以及服务质量(QoS)的变化(如价格、 声誉等)[9]。因此,WSC应具备自适应机制,以确保能够适应不断变化的 需求,并力求最小化用户干预,从而提供最合适的组合服务并满足用户需求[9]。SORE活动需要在设计时通过更明确 的构造来指定自适应软件(SAS)的需求,同时也需要支持运行时适应,以 应对动态环境中可适应的Web服务组合方法所面临的上下文变化[9]。SAS支持以主动式或反应式方式进行自适应[10]。主动适应能够在问题发生之 前预测自适应的需求[10]。Moustafa和张[7]提出了一种在Web服务组合 中的主动适应方法,该方法使用马尔可夫决策过程(MDP)对Web服务组 合过程进行建模,并采用Q‐学习作为强化学习(RL)技术,以主动应对 Web服务组合环境中的动态变化。该方法通过分析Web服务执行日志中的 历史数据来监控Web服务组合,从而确定主动适应策略。阿朔夫和齐斯曼 [11]也提出了一种用于Web服务组合中主动适应的ProAdapt框架。该框 架在服务操作的响应时间发生变化或服务及提供者中的操作不可用时,触发 主动适应。它使用指数加权移动平均(EWMA)技术来预测操作的响应时 间。适应过程发生在Web服务组合执行期间。Moustafa和张[7]以及阿朔 夫和齐斯曼[11]的方法需要扩展,以支持其他类型的QoS方面和其他情况下 的自适应WSC,例如相较于当前组合中使用的操作出现了新的(更好的) 服务操作,以及Web服务组合的工作流结构发生变化的情况。与主动适应相 反,反应式适应能够对变化做出响应;这意味着自适应是在引起自适应需求 的事件发生之后进行的[12]。

本章介绍了多种反应式自适应Web服务组合方法,以应对外部和动态组 合环境中可能发生的各种变化;并对这些方法进行了分析和比较。这些方法 可分为三类:变体模型、上下文感知的WSC和多代理方法。据我们所知, 目前尚未发表关于动态环境中反应式自适应Web服务组合的综述。本章其余 部分组织如下。第10.2节介绍WSC中的适应方面和自适应属性。第10.3节 介绍自适应系统的需求工程的层次与挑战;第10.4节介绍WSC中的需求规 约模型。各种自适应WSC方法在第10.5节中进行分类;方法的比较与局限性 在第10.6节中给出。最后,第10.7节给出结论与未来工作。

10.2 自适应Web服务组合

Web服务组合需要提供自适应能力,以应对不断变化的需求和变更,同时不 损害运营和financial efficiencies[13]。阿维拉[14]提出了fiWeb服务组合中 被视为自适应组成部分的五个主要方面,如图10.1所示。第fi一个方面是适 应目标,它根据功能需求和/或服务质量需求定义自适应的目的。Deng 等人提出的方法[15]处理单一QoS优化,而 Liu 等人 [16], Shanshan 等人 [17],以及 Qiqing 等人 [18]处理多QoS标准。第二个方面 是适应级别。这些级别在文献中被不同地定义。Raik [19]将其分类为三个 级别:基础设施、服务和流程。本章重点关注与流程级别相关的方法。第三 个方面是适应动作,用于解决自适应问题。该动作可包括服务替换、工作流 重构和服务召回。第四个方面是自适应机制,指可用于执行适应动作的方法, 例如基于代理的、基于规则的、基于策略的或反馈方法。本章重点关注三种 自适应机制,即变体模型、上下文感知和多代理。第五个方面是适应阶段, 指自适应发生的时间。如前所述,自适应可以以主动式或被动式方式触发。 本章重点讨论被动式方法。

自适应(自‐*)特性在自适应WSC中同样重要。自‐*特性使WSC能够应 对动态Web服务组合执行环境。图10.2展示了应用于WSC的自‐*特性。这 些自‐*特性包括自愈、自我优化、自配置和自感知 [14]。自愈是指WSC自身 在无需人为干预且不停止WSC的情况下,自动发现并纠正由于服务质量变化 和/或功能需求变化引起的服务故障[20]。由于Web服务组合是动态进行的, 它们需要随环境变化自行调整以保持平衡。如果Web服务无法自我平衡,则 会导致多种故障,例如顺序错误、行为误解、服务质量服务故障(如响应迟 缓和服务不可用)等 [21]。顺序错误是由于通过SOAP的消息流传递导致的 [22]。当数据包在接收方一侧到达的顺序与发送方一侧不同时,就会产生顺 序错误 [22]。当请求者收到的服务与其预期不符时,就会发生行为误解[22]。 例如,如果请求者请求的是股票交易所报价服务,而服务提供者返回的是汇 率报价服务。此类故障发生在服务描述不正确,或服务提供者误解了请求者 的请求时 [22]。服务质量服务故障发生在运行时 [21]。

自我优化旨在运行时选择服务,以维持整个Web服务组合的预期服务质量 [23]。自我优化Web服务组合的主要目标是为每个抽象服务找到最佳的Web服 务,以实现功能需求并优化服务质量需求。抽象服务是一组Web服务描述相应服务功能的WSC模型中的实例节点[3]。每个抽象服务的服务选择 基于局部或全局服务质量要求。在局部优化方法中,每个抽象服务的服务选 择基于单个服务的服务质量。这些方法在去中心化和动态环境中非常有用。 当无需识别全局约束时,局部优化方法是最优的。当全局服务质量约束可分 解为局部服务质量约束时,该方法是合适的。全局优化方法将服务质量约束 和偏好作为一个整体来考虑,例如,当整体响应时间受到限制时。

自配置旨在根据初始约束[23]搜索Web服务组合组件的最优配置。自配 置的Web服务组合表明,该组合能够自动发现并选择服务。自我感知使服务 能够了解系统结构和平台执行情况。自我感知还使服务能够预测其行为变化 的影响以及适应性动作的效果[14]。自我感知的目标是确保主动适应服务质 量需求得到满足[14]。

10.3 自适应系统的需求工程

动态自适应系统的RE 在第四层[10]中定义,如图10.3所示。第一层是开发者对系统 及其反应的一般定义。第二层是在运行时为实现自适应而进行的RE。第三层是开发者关于适应机制的决策。第四级是关于适应机制的研究。自适应系统的 RE必须应对不确定性,因为执行环境信息未知,因此系统行为需求可能需 要在运行时根据环境变化进行调整[24]。自适应系统的需求被定义为“不完 整”[24]。张[24]强调了自适应系统的RE所面临的研究挑战。这些挑战包 括新的需求语言、需求语言到架构的映射、管理不确定性、需求反射以及从 需求到实现的可追溯性。

传统需求工程模型(如 i* 和 KAOS)不支持适应性或不确定性。为了在运行时 实现需求工程能力,已提出多种方法。Baresi 等人 [25] 提出了 FLAGS,这是一种 基于目标模型的方法,用于推广 KAOS 模型,以支持运行时的需求建模。 Pasquale 等人 [26] 提出了 FLAGS 基础设施,以支持运行时的需求。Tropos 4 AS 是一种基于代理的方法,基于 Tropos [27] 对自适应系统需求进行建模。 CARE 也是基于 Tropos 对自适应系统需求进行建模,但它侧重于基于服务的应用的 建模 [27]。

系统的基本特征变为自我感知和上下文感知,以实现自适应行为。自我 感知描述了系统对自身的意识能力[10]。上下文感知意味着系统根据应用上 下文和用户的情况调整其行为[28]。上下文被定义为“可用于描述一个实体 状态的任何信息。该实体是与用户和应用之间交互相关的人、地点或物体, 包括用户和应用本身”[10]。Bucchiarone 等人[29]提出了一种根据上下 文变化实现基于服务应用自适应性的框架。该框架利用过程片段的概念来建 模流程。业务流程片段被建模为可适应的普适流(APFs)。APFs 除了经典的流程语言外,还 通过前置条件和效果对活动进行注解。flow 语言。这使得业务流程和片段 适用于在动态环境中进行自适应和执行。在设计时,每个片段的抽象活动根 据其需要实现的目标进行规约。fi定。不同的自适应机制和策略被用于处理 上下文感知的普适系统的动态性。自适应机制包括精化机制、局部适应机制 和补偿机制。自适应策略包括一次性适应、重新精化策略和回退适应策略; 其他基于上下文的方法见第 fi10.5.2 节。nenement 策略、回退适应策略; 其他基于上下文的方法见第 10.5.2节。

10.4 Web服务组合中的需求规格模型

Li[6] classifies 需求 模型 在 Web服务组合 中分为三类:基于工作流的Web服 务组合、基于人工智能(AI)规划技术的Web服务组合,以及模型驱动的 WSC,如图 10.4 所示。在基于工作流的Web服务组合中,Web服务组合的逻辑 可以通过Web服务的工作流模式来捕获。在这种方法中,用户的需求被建模为 工作流,该工作流指的是动作的逻辑执行顺序 [6]。在实现Web服务组合时,根 据工作流中定义的每个动作选择并调用原子Web服务,然后按照预定义的执行 顺序 [6] 执行Web服务组合。工作流的生成可以是静态的或动态的 [30]。静态 Web服务组合工作流意味着用户需要描述所有必要的动作以及这些动作之间所 有可能的执行顺序,Web服务的选择由系统自动完成。在动态Web服务组合工 作流中,业务工作流或模型的创建以及Web服务的选择均由系统自动完成。

基于人工智能规划的Web服务组合需要一种算法,将Web服务组合问 题转化为人工智能规划技术问题,例如规划领域定义语言(PDDL)[31],、 分层任务网络(HTN)[32],和图规划[33]。该方法要求用户以不同的技术 语言描述其组合需求,包括初始状态、目标状态的描述。可能的领域状态以及可执行的不同动作。有关基于人工智能规划的Web服务组合的 更多信息,可在[34]中找到。

模型驱动方法用于Web服务组合,通过模型来描述用户需求(功能需求和非功 能需求)、业务流程、抽象Web服务以及Web服务之间的依赖关系。这些模型与可 执行的Web服务组合规范相分离。Web服务组合可以使用统一建模语言(UML) [35–37], MDP [38, 39],和业务流程模型与符号(BPMN)[40, 41]进行建模。

10.5 自适应WSC方法的分类

自适应系统(SAS)根据Web服务组合(WSC)环境的变化修改自身行为。 这些环境被分为动态环境或静态环境。在动态环境中,可以在运行时引入新 的Web服务组合行为和自适应计划。与动态环境相反,静态环境是自包含的, 无法支持新行为的添加。在本节中,反应式适应的方法被分为三类:可变性 模型的使用、上下文感知和多代理方法。

10.5.1 变体模型的应用

变异性是指服务在动态配置[42]中高效改变其行为的能力。与变异性相关的 两个重要概念是变异点和变体。变异点位于软件系统中将发生变异的位置, 而变体则是在这些变异点可选择的替代方案[42]。在流程中对变异性进行建 模和管理可分为架构级别和实现级别。在架构级别,变体在软件架构(如 BPMN和统一建模语言)内部进行建模。在实现级别,变体在Web服务组 合语言内部进行建模。

10.5.1.1 架构级别

Alférez等人[41], 、Sun等人[43], 、Yua等人[40],和Xiao等人[44]在架 构层面建模变体,以应对功能需求变化。此处的功能需求变化是指业务逻辑 或业务需求发生的变化。Alférez等人[41]在设计时创建变体模型和适应策 略,以支持动态自适应Web服务组合。组合模型与变体模型是分离的。动态 自适应WSC通过变体模型中特性的激活或停用来在适应策略中进行描述。变 体模型中特性的激活和停用会导致Web服务组合发生变化,即通过添加或移 除片段来实现业务流程执行语言(WS‐BPEL)代码,在运行时部署。变体模型及其可能 的配置在设计时通过约束编程(CP)进行验证。孙等人 [43] 扩展了 ConIPF可变性建模框架(COVAMOF),使其能够配置Web服务组合中的 变异性。COVAMOF是一个用于软件产品族的变异性管理框架。 COVAMOF的变异性概念使用UML图和变体点交互图(VID)进行建模。 COVAMOF‐VS工具套件用于在运行时自动化Web服务组合中的变异性管理。 Yua等人 [40]和Xiao等人 [44]提出了用于WSC的基于模型驱动的方 法。Yua等人 [40]提出了一种称为“基于方面与规则的动态自适应面向服务 系统模型驱动开发”(MoDAR)的方法,以支持基于WS‐BPEL的动态自 适应系统的开发。MoDAR包括基础模型、可变模型和织入模型。基础模型 遵循系统的流程逻辑。可变模型用于捕获在运行时可能发生变化的业务需求 的决策方面。可变模型由业务规则指定。织入模型是用于集成基础模型和可变模型的面向方面的方法。Xiao等人[44]提出了基于模型驱动的变异性 WSC方法。变异性在VxUML中定义,VxUML是统一建模语言的扩展。类 图、活动图、序列图和部署图被扩展以指定变异点和变体。变体点交互图 (VID)定义了变异点与变体之间的依赖关系。基于规则的转换语言用于将 VxUML转换为VxBPEL。VxBPEL是BPEL扩展,用于在实现级别支持变异 性。

Yua等人[40],、Alférez等人[41],和Sun等人[43]的方法被建模用于 适应业务流程中的变化,但这些变化在设计时已完全知晓,以便构建变体模 型。此外,这些方法不适用于动态环境,因为它们无法应对复杂不确定上下 文中的持续且不可预见的变化。

10.5.1.2 实现级别

伊梅德等人[45]通过引入三种变体操作符来解决服务质量可变性(vQoS)问题: 复制、删除和替换。复制和删除操作符用于在Web服务组合中添加或移除服务 实例,而替换操作符用于更改某些出现故障的Web服务。当SLA合同被违反时, 这些操作符用于自动重构Web服务组合。Web服务组合重构(变体模型)采用 Event‐B进行建模和验证,并使用ProB模型检测器追踪可能的设计错误。该变 体模型无需在设计时就完全定义,但用于适应Web服务组合的变体操作符仍不 足以正确解决vQoS问题。科宁等人[46]提出了VXBPEL语言,它是标准BPEL 语言的一种扩展,用于适应业务流程中的变化。VXBPEL通过在流程定义 BPEL中添加存储变体信息的XML扩展元素实现这一目标,但这导致其耗时较长。 繁琐、难以管理且容易出错。当存在大量变异点时,这种方法非常复杂。此外, 与架构级的方法类似,该方法在动态环境中也无法正常工作。孙等人 [47] 也 通过使用 VxBPEL ODE 引擎执行 VXBPEL WSC 来适应业务流程的变化。 VxBPEL_ODE 的性能与 VxBPEL_ActiveBPEL 进行了比较。从实验结果来看, VxBPEL_ODE 表现出与 VxBPEL_ActiveBPEL 相当的性能。

10.5.2 上下文感知

阿尔弗雷斯和佩莱查诺 [48]提出了一种运行时模型,以指导上下文感知的 WSC在动态环境中应对意外的QoS事件的动态演化。采用战术来保护可能受 到未知上下文事件负面影响的需求。这些战术在设计时已知,但用于应对未 知的上下文事件。所选战术对其他预期目标产生的负面影响未被考虑。 Bucchiarone 等人[49]和库博等人 [50]关注FR中发生的变化。 Bucchiarone 等人 [49]定义了一个形式化框架,该框架使用规划技术在上 下文变化时于运行时自适应WSC的执行。在设计时,通过定义的上下文属性 图对上下文属性及其演化进行建模。上下文属性图将属性的可能值表示为图 中的状态,将属性值的变化表示为转换。服务的变化会标注其对上下文属性 的影响。业务策略则通过上下文属性值的前置条件进行标注,以确定服务可 在何种上下文设置下执行。自适应活动并未在上下文变化中显式表示,而是 从当前观测到的上下文、业务流程状态以及业务目标中动态推导得出。该框 架已在物流领域的场景中实现并验证。库博等人 [50]通过特征模型扩展了 上下文感知服务与组件的发现、自适应与监控(DAMASCo)框架,以根据 上下文变化情况表示变异性及自适应WSC。该方法在智能交通系统(ITS) 领域中实现。该方法不支持服务在运行时针对上下文变化的自适应能力。这 意味着DAMASCo执行计划不支持从一个运行配置切换到另一个运行配置。

李等人[51],、曹等人[52],以及王和唐[53]提出了处理功能需求和质量 属性变化的方法。李等人[51]提出了用于WSC自愈能力的基于案例的推理 方法,将以往的故障实例作为案例存储在案例库中。当发生新故障时,从案 例库中检索最相似的案例。曹等人[52]提出了一个包含五个主要功能模块的 上下文感知自适应WSC框架。第一个模块是BPEL流程的设计,第二个模块 是BPEL文档的解析与执行,第三个模块是搜索代理,第四个代理。所有这些模块均使用WSIG技术和Java语言实现。前三个模块用于执 行BPEL流程。上下文感知的WSC被分为服务上下文和服务组合上下文。服 务上下文负责在服务建立前收集和检查上下文信息。服务组合上下文在组合 服务执行期间工作。当感知到上下文值的变化时,服务组合可能需要进行一 些调整,例如添加、删除或替换某个服务,或从根本上改变整个组合流程。 当接收到上下文感知代理发出的上下文值变化消息时,更新代理将从策略库 中搜索最合适的策略,并将其发送至BPEL执行引擎,后者将根据所选策略 更改组合流程。王和唐[53]提出了一种自适应WSC的架构。该架构包含一 个上下文模块,负责使WSC适应QoS的变化并满足服务消费者的需求。上下 文被划分为服务上下文、用户上下文和设备上下文。服务上下文描述服务的 属性及服务所需的执行环境。这些属性和服务偏好由服务提供者编写,并通 过用户评分进行更新。用户上下文描述服务消费者的需求及其可提供的环境。 设备上下文描述实际的执行环境,包括硬件和软件环境。上下文的变化根据 用户定义的个性化策略进行处理。Web服务中的重组仅在输入和输出发生变 化时进行。否则,上下文变化仍依据用户定义的个性化策略处理。该方法不 适用于动态环境,因为上下文是预定义的,不支持其他未定义的上下文。在 不确定环境中,难以预测所有可能出现的情况。

10.5.3 多代理方法

王等人[54]提出了一种基于强化学习的自适应WSC框架。该框架使用马尔可夫 决策过程(MDP)对Web服务组合进行建模。工作流和替代服务被整合到一个 统一的Web服务组合中。在运行时,根据环境和服务状态来确定具体的工作流 和所选服务。采用Q‐学习方法以找到适应动态环境的最优策略。王等人[55]扩展 了王等人[54]提出的强化学习框架。该研究提出了一种多智能体强化学习( MARL)机制,以实现自适应WSC。Web服务组合过程被建模为马尔可夫决策 过程模型,以适应用户需求的动态演化。使用Q‐学习算法来寻找适应动态环境 的最优策略。该机制在组合过程中引入了一种共享策略,使代理能够与其他代理 共享信息,从而利用其他代理探索得到的策略。然而,该MDP模型需要对环境 具备完全的知识和观察能力,这在实际应用中可能难以实现。此外,Web服务 组合中可能存在一些失效服务,导致无法完成整个流程。 此Web服务组合工作流的失效情况未被考虑。王等人[56]还提出了一种基于多 智能体强化学习的大规模自适应Web服务组合新模型。该模型集成了状态‐动作‐ 奖励‐状态‐动作(SARSA)学习算法和相同理论。用于寻找最优解的多SARSA 算法是从单智能体SARSA扩展而来的。团队马尔可夫博弈(TMG)被用来建模 多智能体Web服务组合。该算法未考虑某些服务失效可能导致此Web服务组合 工作流完全失效的情况。王等人[57]也像王等人[56]一样使用TMG来建模多智 能体Web服务组合,但采用了Q‐学习而非多SARSA算法。 穆斯塔法和张[58]设计了两种算法,通过保存经验数据并利用这些数据 对已学习策略进行更新,以实现数据效率。第一种算法引入了一种用于 Web服务组合的离线学习方案。离线学习方案避免了在线强化学习算法的局 限性。这种局限性在于达到收敛所需的时间可能超过服务消费者所允许的限 制。第二种算法提出了一种协调机制,以使多智能体强化学习能够协作地学 习Web服务组合任务。协作学习算法是一组独立智能体,它们学习如何组织 自身的动作选择策略,并且每个智能体会将其动作选择通知其他智能体,从 而协作完成Web服务组合。Q表用于直接连接和通信各个智能体。该共享 Q表记录了Web服务最新的服务质量信息以及这些服务被其他智能体选用的 频率。Hsieh和Lin[1]采用整体化多智能体系统(HMS)架构来设计自适 应Web服务组合系统。文中提出了工作流适应问题(WAP),并基于合同 网协议(CNP)提出了一种代理之间的交互机制,以寻找WAP解决方案。 提出自*方案以应对结构化与非结构化工作流变更。结构化变更指功能需求 的变化,即业务流程的变更。非结构化变更指非功能需求的变化,例如处理 时间、可用资源数量以及资源的可用时隙的变化。当变更发生时,受影响的 智能体将应用合同网协议(CNP)来确定现有下游智能体所提供的最佳服务。

10.6 自适应Web服务组合方法的比较与局限性

在本节中,我们将对第10.5节中介绍的这些方法进行比较,并指出其中一些 方法的局限性。这些方法之间的比较见表10.1。我们根据以下方面对这些方 法进行比较:
• 根据第fi化分类的这些10.5节中所述方法类别;
• RE 根据功能需求变化、服务质量变化以及功能需求和质量属性同时变化的分类;
• 自适应机制在第10.4节中描述;
• 组合模型在第10.4节中描述。

局限性总结在表10.2中。大多数方法,例如 Alférez 等人 [41],孙等人 [47], Yua等人 [40], Xiao等人 [44],伊梅德等人 [45],科宁等人 [46],王和唐 [53],王等人 [54,[55],以及 王等人 [57],不适用于动态环境,因为它们无法应 对复杂不确定上下文中的持续且不可预见的变化。伊梅德等人 [45]的一项 研究通过使用变体操作符适用于动态环境,但不足以正确解决vQoS问题。 伊梅德等人 [45],科宁等人 [46],以及 孙等人 存储变体信息

表10.1 自适应Web服务组合方法的分析与比较

方法 类别 RE 分类 自适应机制 组合模型
Alferez 等 [41] 可变性模型的使用 FR 特性模型 BPMN
孙等人 [43] 可变性模型的使用 FR COVAMOF, 统一建模语言 和 VID BPEL
Yua等人[40] 可变性模型的使用 FR 业务规则 BPMN
肖 e1 等[44] 可变性模型的使用 FR VxUML 未定义
伊梅德等人 [45] 可变性模型的使用 QoS VxBPEL 未定义
科宁等人[46] 可变性模型的使用 FR Event‐B 未定义
孙等人 [47] 可变性模型的使用 FR VxBPE 未定义
Alferez 和 Pelechauo [48] 上下文感知 QoS 战术 策略 BPMN
Bucchiarone 等人 [49] 上下文感知 FR 规划 技术 未定义
库博等人 [50] 上下文感知 FR 扩展 DAMASCo 框架构具特性 模型 BPEL 和 Windows 工作流 基础(WF)
李等人 [51] 上下文感知 功能需求和质量属性 基于案例 推理 WS‐BPEL
曹等人 [52] 上下文感知 功能需求和质量属性 未定义 BPEL
王和唐[53] 上下文感知 功能需求和质量属性 个性化的 策略 SHOP2作为人工智能 规划 技术
王等人[54] 多智能体方法 QoS MARL MDP
王等人[55] 多智能体方法 QoS MARL TMG‐WSC
王等人[56] 多智能体方法 QoS MARL TMG‐WSC
王等人[57] 多智能体方法 QoS RL MDP
穆斯塔法和张 [58] 多智能体方法 QoS RL MDP
穆斯塔法和张 [58] 多智能体方法 QoS MARL MDP

导致它们耗时、繁琐、难以管理且容易出错。因此,在存在大量变异点的情 况下,这些方法非常复杂。
阿尔弗雷斯和佩莱查诺 [48] 使用战术来应对未知上下文事件。所选择 的战术策略可能对其他预期目标产生负面影响。库博等人[50]的方法不支持 在运行时从一个运行配置切换到另一个运行配置。王等人 [54] 和 [55] 将 Web服务组合过程建模为马尔可夫决策过程模型。Web服务组合过程被建 模为马尔可夫决策过程模型。该模型需要对环境具有完全的知识和观察能力, 这在实际应用中可能难以实现。王等人 [54],[55], 和王等人 [57] 未考虑某 些失效服务可能导致此Web服务组合工作流完全失效的情况。

表10.2 一些Web服务组合自适应方法的局限性

方法 局限性
Alferez 等人 [41],孙等人 [43],袁 等 [40]和肖等人 [44] 这些方法无法应对 复杂不确定上下文中的持续且不可预见的变化 这意味着它们不 适用于动态环境
伊梅德等人 [45],科宁等人 [46]和 孙等人 [47] 这些方法存储变体信息 在导致它们的内部语言中 耗时、繁琐、难以管理,且 容易出错。在以下情况下,它们非常复杂: 大量的变异点。此外,它们还 在动态环境中不起作用
阿尔弗雷斯和佩莱查诺[48] 所选用于适应的战术策略 这些变化可能对其他方面产生负面影响 预期目标
库博等人 [50] 该方法不支持自适应的 服务对运行时上下文变化的响应。这意味着 DAMASCo 执行计划不支持 从一个运行配置切换到另一个
伊梅德等人 [45] 用于适应 Web服务组合 的变体操作符 不足以正确解决 vQoS问题
王和唐 [53] 这种方法不适用于动态环境 环境,因为上下文是预定义的且 其他未定义的上下文不受支持。它是一种 难以预测所有可能出现的情况 在不确定的环境中
王等人 [54,[57] Web服务组合流程被建模为一个马尔可夫决策过程模型。该 模型需要关于环境的完整知识和观测信息, 这在实际应用中可能难以 在实际应用中实现它
王等人 [54],[56, 57] 这些算法未考虑 某些失效服务可能导致此Web服务组合工作流的完全失效的情况

10.7 结论与未来工作

Web服务组合(WSC)是面向服务的架构(SOA)中的一个关键问题。本 章的目的是分析和比较各种自适应Web服务组合方法,以应对动态组合环境 中内外部可能发生的变化。这些方法被分为三类:可变性模型的使用、上下 文感知和多代理方法。这些方法存在一些局限性。其中一个局限性是,那些 处理服务质量(QoS)变化的方法,仅基于局部和单一服务质量标准的变化 来调整Web服务组合过程。另一个局限性是,大多数这些方法无法应对复杂 不确定上下文中持续且未预料到的变化,因为它们需要在设计时定义上下文, 而不支持其他未定义的上下文。在不确定环境中,通常很难预测所有可能出 现的情况。在未来工作中,我们计划通过将服务质量感知的Web服务组合方 法(如蚁群优化或遗传算法)与多代理方法相结合,以应对多QoS标准情况 下的最优策略,从而克服这些局限性。采用部分可观测马尔可夫决策过程 (POMDP)而非马尔可夫决策过程(MDP)来建模组合需求,因为 POMDP不需要对环境进行完全观测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值