没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记180(2007)91-106www.elsevier.com/locate/entcs动态分布构件George R. Ribeiro-Justo1,2Capegemini UK Ltd.,英国Ahmed Saleh3和Tereska Karran4威斯敏斯特大学卡文迪什计算机科学学院英国伦敦摘要配置服务和重新配置管理系统通常以客户端-服务器方式工作,其中组件的选择和重新配置都是请求的结果。开发能够监测和学习自身的智能系统,从而快速响应环境变化,对大多数系统来说已经变得至关重要。本文提出了一个扩展FROD-ICA(分布式可配置应用框架),一个框架,支持非功能面向重构的分布式系统的开发,使用复杂的有机分布式架构(CODA)。CODA应用控制论的概念,如自我组织,自我调节和可行性,以获得一个智能架构,它可以对实现其目标的失败作出反应,并积极主动地寻找成功的行为模式。其结果是一个配置管理系统,它可以使用自身的知识来主动和动态地驱动其组件的搜索和重新配置。关键词:复杂适应系统,商业智能,可重构分布式系统1引言适应性问题已经研究了一段时间,我们之前已经研究了可以支持适应性的可重构分布式系统的几个方面[12] [14]。前提是系统软件架构在运行时的动态变化可以增加适应性。进一步的研究还表明,1本文档中包含的观点和结论是作者的观点和结论,不应被解释为代表Capgemini UK Ltd.明示或暗示的商业政策。2电子邮件:george. capgemini.com3电子邮件:saleh@wmin.ac.uk4电子邮件:karrant@wmin.ac.uk1571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.08.03992G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91当这些变化支持对系统的非功能性需求的监控和调优时,它们可以提供增强的适应性毕竟,架构包含了所有非功能性需求,并且是所有非功能性需求的所在地。满足非功能性需求不仅是系统成功的关键FRODICA(分布式可配置应用程序框架)是用于开发非功能性可重构分布式系统的环境的一部分。FRODICA及其环境已在[15][11]中详细介绍,目前的工作建立在该经验基础上,并提出了一种新的管理系统,该系统在支持动态重构方面更加智能在这个方向上,我们研究了几种支持智能适应和重构的方法。主动熵是一种模仿连续的在线反馈的架构范例,这是活有机体的标志。内省将计算资源用于观察系统行为,然后相应地调整系统[7]。其原理是,内省为系统添加信息,以改善未来的行为。IBM自主计算遵循这一原则。自主计算专注于计算机自动执行必要任务的方式,类似于人类自主神经系统调节呼吸和其他功能的方式[9]。该系统应用AI技术来了解主机计算环境及其变化。如果系统出现问题,自我修复技术可以发送关于如何实现解决方案的指令自主方法类似于本文中描述的CODA(复杂有机分布式架构)的工作方式[13] [4]。CODA应用了可行系统模型(VSM)提出的控制论概念[1]。支持VSM的基础是所有生命系统都由一系列自治子系统组成,每个子系统都具有自组织和自调节特性。他们有能力适应环境的变化,并处理与他们相关的复杂性[2]。基于CODA的概念,提出了一种新的FRODICA重组管理系统。在下一节中,我们将概述FRODICA及其管理体系。第3节介绍CODA适应性背后的控制论概念以及如何定义CODA模型论文的主体部分在第4节中进行了描述,其中详细讨论了新的FRODICA智能重新配置管理系统。最后,第5节给出了本文的结论和未来工作的方向2FRODICA框架与描述系统应该提供什么的功能性需求不同,非功能性需求定义了它应该如何提供服务以及在运行时应该如何表现。非功能性要求(NFR)与其功能性要求一样重要,它们不仅代表了在不满足时会影响系统的质量属性,而且在选择G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)9193用于构建应用程序并在其alter- native配置之间进行选择的适当组件。尽管它们很重要,但由于测量、控制和表示它们的复杂性,NFR在开发分布式系统在开发的不同阶段以及运行时对NFR的显式处理需要对以下内容进行一些调查:1)支持哪些NFR,2)如何表示它们,3)如何测量它们,以及4)如何在运行时监视/控制它们。FRODICA(分布式可配置应用程序框架)是开发环境的一部分,用于开发可重构分布式系统的非功能性开发[15]。该环境还包括两种语言:一种是接口定义语言,用于描述组件服务的功能和非功能属性(NIDL);另一种是架构描述语言,用于定义应用程序配置。测量非功能性属性可能很困难,并且会增加开销。由于FRODICA支持的应用程序的性质,三个NFR处理:性能(transsac- tion响应时间),可用性和可靠性。FRODICA是一个典型的基于组件的多层框架,它包含一组管理组件以及许多面向应用程序的组件来处理常见的应用程序功能。虽然FRODICA框架的目标不是提供对多媒体应用的全面支持,但它最初是为支持分布式多媒体领域而构建的,因此包含了丰富的分布式多媒体相关方面的组合。该框架后来得到了增强,以支持一般的分布式可配置系统,特别是面向非功能的分布式系统框架结构(Fig.1)根据其组件的功能和复杂性分为四个连续层最低层称为通信层,它包括处理低层通信的所有必要组件。第二层称为通用层,处理低级系统操作。第三层称为应用程序-面向服务层,提供支持分布式系统开发所需的所有标准服务。最后,最顶层称为特定应用程序层,在该层中,运行一个特定的应用程序被插在一起,以形成一个有意义的体系结构,满足开发人员应用程序组件/连接器可以实现框架接口(以前由NIDL创建),使本地管理组件能够在其机器上控制其生命周期。组件和连接器必须向其本地管理组件注册,然后可以中断和控制它们的执行。组件NFR由位于框架通用层的事件处理系统(运行时管理系统的一部分)监控。有关组件和连接器以及本地管 理 组 件 的 信 息 存 储 在 GlobalManager ( 在 下 一 节 中 定 义 ) 中 ,GlobalManager充当全局信息存储库,简化了系统内组件的位置,并为可追溯性提供了坚实的基础(例如,94G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91特定的应用层面向应用层通用层本地事件事件过滤全球活动配置管理器主要成分<<界面>>LocalManager<<界面>>界面>>Servlet事件消费者<<界面>>GlobalMan<<界面>>EventPubl<<接口>>可串行化通信层UnicastRemoteObject<>java.rmi.Remote主连接器本地管理器全球经理NFP介体注册控制Fig. 1. FRODICA整体架构。帮助理解、系统维护和扩展)。2.1FRODICA管理系统管 理 系 统 主 要 位 于 FRODICA 的 第 二 层 。 它 包 括 LocalManager 、GlobalManager、ConfigurationManager、RegistryControl和NFRmediator组件( 图 1 ) 。 ① 的 人 。 与 管 理 系 统 在 同 一 层 共 存 的 事 件 处 理 系 统 包 括LocalEventMonitor 和 GlobalEventMonitor 组 件 、 EventFilter 组 件 以 及EventPublisher和EventConsumer接口。监控和管理NFR的关键要素是事件处理系统。组件通常会生成事件来指示NFR的失败或非功能属性状态的更改。为了避免生成过多的事件,必须在每台机器上本地过滤事件。未过滤的事件(如NFR故障)将转发到(全局)事件系统。事件主要由配置管理器使用,配置管理器解释NADL XML描述并执行必要的操作,有关更多详细信息,请参阅[11][16]。事件主要由LocalManager、GlobalManager和ConfigurationManager使用。对系统状态有直接影响的事件由配置管理器处理,它在事件发生时解释NADL-XML重新配置描述,并执行必要的G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)9195通过本地经理采取补救措施。成功完成反应后,本地经理须向配置经理汇报,以批准反应并更新其状态。LocalManager是必须在运行FRODICA组件的每台机器上可用的管理组件之一。其主要职责是:• 按需加载组件;• 维护其本地机器上有关组件/连接器的参考;• 检测在运行时添加或删除的任何新/旧组件/连接器• 与其他LocalManager协作,找到具有特定服务/NFR的组件;• 使用新的可用服务/组件更新GlobalManager• 代表配置经理执行配置/重新配置操作。必须在FROD-ICA边界内的每台机器上保留LocalManager的副本它实现了一个注册系统,使每个加入/离开FRODICA的组件能够在其LocalManager中注册/取消注册。Glob- alManager是FRODICA的核心组件,必须在任何框架组件之前实例化。它只是充当全球信息存储库或交易员,简化了在整个系统中定位组件的过程。其主要职责包括:• 维护所有组件和LocalManagers的数据库;• 按需加载LocalManager• 与LocalManagers合作定位具有特定服务/NFR的组件。每个LocalManager收集的有关其本地组件及其应用程序的信息与有关LocalManager及其位置的引用一起传递给GlobalManager下一节介绍CODA的概述3CODA概述一个可行的系统是能够独立存在的系统[1]。为了生存,一个可行的系统不仅需要有能力对熟悉的干扰做出反应,而且还需要有潜力对意想不到的、以前未知的干扰做出反应。后者是可行系统的标志。它使他们能够适应不断变化的环境[2]。啤酒向我们展示了组织结构,实现目标的必要条件,如何被赋予其基本属性:生存能力。(系统)复杂性的精确度量被定义为多样性,这意味着系统中可区分元素的数量,或者通过扩展,可区分系统状态的数量。系统在任何时候的状态都是96G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91此时变量所持有的值。 阿什比[17]建立的必要多样性定律被用作启发式来发展有效性标准。阿什比定律描述了一个复杂系统可以被外部控制的条件。某些变量(基本变量)的值必须保持在系统继续存在的限度内。基于阿什比VSM是根据互锁的Ashbean稳态来设计的。在VSM中,自稳态所需的变化被应用于与它们之间携带信息的通道以及跨边界中继信息的换能器自稳态相关的变化块。每个可行的系统都可以被看作是可行的子系统的集合,以及管理这些可行的低级别活动之间关系的系统,因此它作为一个整体是可行的。然后将部分品种推到下一个级别,剩余的任务是可控的。每一级的适当任务是制定适应性战略,并确定下一级的协同机会。VSM理论的关键是建立在任何可行的系统中,有五个必要和足够的子系统涉及任何有机体或组织[2],如图所示第二章:• 实施:这个子系统包括组织执行的主要活动,如产品和服务的生产。• 协调:一个可行的系统有一个子系统,协调其主要活动的运作。• 控制:一个可行的系统需要主要由监测渠道和提供例外情况报告制度支持的监督控制。• 智能:这个功能关注未来,关注提前计划。• 政策:该系统定义了发行或发行的方向、价值和风险。这些政策是根据管制和情报系统提供的选择性信息制定的。考虑到企业系统的体系结构概念,这些子系统被组织为CODA中的层。稍后将介绍这些层的详细信息。CODA背后的理论已经在其他地方得到了证明[13] [4],因此本文的重点是提出一个自适应重组管理系统的模型。3.1基于CODA的CODA模型的核心是角色的概念,如图3所示。角色表示在系统中扮演特定角色的代理。使用角色而不是代理的概念的原因是为了强调角色可以访问某些任务的想法。这对于使系统能够控制可以在关键时刻,例如资源稀缺,因此某些任务不应执行。这是适应性概念的关键。G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)9197VMsCODA层政策情报控制协调执行命令控制监视监视器监视操作操作图二. VSM子系统和CODA层之间的关系。一个角色可以被看作是一个主动的服务,它执行任务并以达到关键后继因素(CSF)为目标CSF被建模为测量目标。CSF定义了服务的SLA(服务水平协议)。例如,90%的服务应该满足其性能非功能需求,如第4节中的示例所示角色的任务受其过滤器的约束,过滤器决定了可以在层之间传递的信息(这个概念将在后面更详细地讨论),但更重要的是建立角色应该实现的当前CSF。 过滤器是用于支持适应性的另一种机制。例如,如果系统无法提供需要高性能非功能需求的服务,则它可能会阻止对其他服务的访问,以使更多资源可用。短时间和长时间记忆由Wrapper表示,它存储角色的当前和历史事件。这些事件表明了该角色的成功和失败,对于使系统能够适应至关重要。本节简要介绍了该模型的关键概念。3.2自主建模角色概念背后的关键原则是自主性。角色应该自主地执行任务,前提是其CSF得到满足。如果CSF失败,则该角色将需要其他角色的帮助,可能是更高级别的角色,这些角色应该能够访问它通常不可用的信息和任务。更高级别的角色应该能够调整失败角色的操作参数(指定为CSF和过滤器),以使其能够适应导致失败的条件。 如果更高级别的角色也未能实现其CSF,则它类似地警告另一更高层角色。正如稍后将展示的,角色链可以扩展到系统中的尽可能多的层,并且只有当系统无法决定什么是角色链时,角色链才可以扩展到系统中的尽可能多的层。98G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91存储/检索数据实现状态日志约束于滤波器CSF失败日志包装器作用历史图三. CODA组件模型。要做到这一点,是否需要人为干预。3.3反应行为建模角色可以被看作是一个控制组件,它试图按照当前的操作参数实现其目标。如果角色无法使用这些参数进行响应,则会生成警报。该警报基本上对应于“更智能”组件(更高层角色)的帮助呼叫CODA反馈循环机制允许高层角色通过添加或删除过滤器来重置失败角色控制系统中反馈回路的概念是众所周知的[1]。反馈回路的CODA概念由于其系统学习的概念而更加复杂。CODA不像传统的控制系统那样只调整运行参数来应对环境变化,而是使用其存储器(包装器提供的信息)来识别成功的运行参数。从这个意义上说,该模型呈现了在典型控制系统中没有遇到的智能水平。此外,由于系统整理的信息量,即使与其他类型的智能系统相比,学习能力也进一步增强[5]。3.4主动行为建模在上一节中,使用CODA记忆概念(当前和历史数据)对于帮助系统通过反馈回路对主要由CSF故障引起的不可预测行为做出反应非常重要。历史数据在模型中还有另一个关键功能,即支持主动行为。G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)9199使用CODA建模的架构需要利用商业智能中通常可用的预测技术[4]。这对于系统预测其资源使用和成功的服务,从而主动调整CSF和操作参数是至关重要的此外,它甚至可以模拟紧急行为,其中系统可以识别以前不知道的行为例如,系统可以识别新的用户模式或服务使用。3.5建模层层的概念是CODA的基础。其原则是分离系统的智能水平,并对系统使用的数据进行分类。CODA理论建议采用最大五层模型,遵循前面描述的VSM理论(见图2)。(2):• 操作:这一层处理简单的线性数据,通常对应于系统的操作功能。操作数据仓库通常将来自多个位置的数据库的数据链接在一起。• 监控操作:在这一层中,数据通常是多维的和聚集的。例如,数据按时间或组组织这一层负责监控业务操作。此层中的角色可以快速响应操作,通过过滤请求来解决国家故障,这可能会影响CSF。• Monitor(the)数据库:这一层处理多维数据,并提供分析趋势行为的能力。在这个层面上,业务营运根据外部趋势进行监察可以更有效地作出反应,通过分析来自不同聚合级别的历史数据,例如类型、时间和位置。• 控制:这一层应该能够学习简单的紧急行为,趋势和预测,并能够自动运行预测和模拟。虽然监测层可以预测某些趋势,实际上是在这一层建模的。• 命令:这是最高层,它应该能够处理任何未被下层处理的品种[17]。这意味着能够识别新的威胁和机会。在这里,我们讨论战略和长期趋势。尽管以上五层是完整的适应性企业架构的推荐层,但只要监控层具有预测能力,仅使用其中三层就可以开发出成功的适应性系统。重要的是要注意,事实上大多数所谓的自适应然而,这些系统不应用CSF和滤波器的概念,这是适应性所必需的。下一节介绍了一种基于CODA的FRODICA新的重新配置管理。100G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91本地管理器本地管理器组件服务服务服务服务服务服务组件组件组件全球管理人见图4。FRODICA管理系统的层次信息结构。4FRODICA智能重组管理系统CODA 模 型的 一个 关键 概 念是 CSF , 它 定义 了系 统 的目 标。 在 建 议的FRODICA管理系统中,只要满足CSFs,本地管理者就可以拥有自主权同时,当服务被请求时,系统需要找到能够提供预期的非功能需求的服务。因此,将对该系统进行建模,以监测其本身并调整其操作参数,确保实现这些目标。下一节描述了模型的详细信息。4.1建模层和角色在本研究中,我们假设三个CODA层足以提供FRODICA管理系统所需的反应性,如图5所示。这一假设可以在框架的后续版本中加以细化虽然CODA建议一个完整的自适应系统包含五层,但简单的系统不需要这样一个完整的架构,如3.4节所述。如前所述,每个组件都封装了关于其服务和NFR的足够信息,而每个LocalManager都维护对所有组件和连接的引用tors在本地机器上运行。 此外,GlobalManager还保留记录关于每个组件及其相关应用程序以及控制其生命周期的LocalManager。这种信息的层次结构(图4)促进了框架的可扩展性,并促进了动态配置,因为新的组件/LocalManager可以随时加入/离开系统。操作层使用四个角色进行建模(参见图5),G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91101FRODICALocalManager 、 ConfigurationManager 、 GlobalManager 和 事 件 系 统(GlobalEventManager)。我们遵循的命名约定是将层名称作为角色名称的前缀。例如,操作层的LocalManager角色名为OpLocalManager。由于组件类型和服务的粒度,我们没有将它们的概念明确地建模为角色。这将增加模型的大小。角 色执 行 任务 , 并 且在 这 样做 时 可以 从 其他 角 色请 求 服务 。系 统在OpConfig Manager加载应用程序配置后启动。构建应用程序配置所需的第一个服务是OpGlobalManager角色提供的查找服务。 它将尝试定位具有所需NFR的服务。OpLocalManager代表OpConf igurationManager 联系OpGlobalManager。CSF将确定是否可以使用服务,并建议应在何处创建新服务。如果无法找到现有的服务,根据配置,Op-ConfigurationManager 将请求OpLocalManager 通 过 创 建 可 以 提 供 该 服 务 的 组 件 的 实 例 来 启 动 它 。OpLocalManager只能根据其CSF定义的约束创建组件,稍后讨论。组件服务链接后,应用程序启动。为了简单起见,请注意OpConfig FigurationManager请求不会立即被过滤,而是由OpLocalManager控制。可以使用过滤器来定义应用程序配置文件,这些过滤器可以阻止来自某些类型的应用程序的请求。在系统的正常操作期间,服务被请求并且它们的NFR由组件监视OpLo-calManager将服务请求记录在其状态日志中(参见图5和图6)。如果特定NFR 失 败 , 则 会 生 成 一 个 传 播 到 OpConfig Manager 的 事 件 , OpConfigManager执行应用程序ADL脚本定义的操作。OpLocalManager也会收到通知,并将其记录在其故障日志中(参见图5和图6)。如果故障数量大于为OpLocalManager定义的CSF阈值,它将生成一个由监控层MLocalManager捕获的警报事件。一个新的过滤器将被生成到OpLocalManager,我们将在下一节中看到。如果MLocalManager生成的新过滤器不能解决问题,因此,MLocalManager将触发警报事件,以监视监视系统的全局全局管理的监视器,并且可以更好地决定应该选择哪个OpLocalManager,以便实现整个系统的目 标 。在图5中观察到,MLocalManager聚集来自OpLocalManager的数据,并且类 似 地 , MMGlobalManager 也 聚 集 来 自 所 有 LocalManager 和OpGlobalManager的数据 数据通常在指定的时间的间隔这将允许系统重新计算角色的操作参数(过滤器),即使尚未生成警报。这使得紧急和积极主动的行为被建模。 例如,系统知道在一天中的特定时间,对某些类型服务的请求会增加,因此它可以提前做好在接下来的部分中,我们将讨论102G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91模型4.2关键成功因素建模CSF是可衡量的目标。它们是使系统能够进行自我分析的参数,也是反应行为和自主性的关键。只要社区服务框架得到满足,这个角色就不会依赖于其他人的干预具体的CSF将取决于系统的总体目标。我们假设FRODICA的主要目标是响应所有对满足给定非功能需求的组件的请求。由于资源稀缺,这可能并不总是可能的,一定程度的失败是可以接受的。本地管理者被赋予一个阈值,定义为可能失败的服务(组件)数量的百分比。 这进一步细化到每个非功能性需求中,即:未能满足其性能,可靠性和可用性的服务数量。例如,对于本地管理器Jaguar,我们预计性能故障率为10%,可用性故障率为20%,可靠性故障率为5%。需要强调的是,每个本地经理都有其特定的CSF,这取决于他们的资源。图6显示了滤器内CSF的定义。可以看到,本地管理器只处理正在运行的服务,但系统也可以为全局管理器提供定位或启动新服务的支持。例如,系统可能满足其现有的非功能性需求,但没有多余的容量来接受任何新的请求。CSF还根据系统将进行自我分析的维度进行分类。例如,当时间是服务提供的重要问题时,CSF被指定用于不同的时间段。因此,该系统将能够分析故障的位置(当地管理人员),时间(包括日期)和非功能需求的类型。图6显示了滤器内CSF的定义。还为系统定义了生存CSF。它们指示系统是否达到其容量。在FRODICA的情况下,这意味着在本地管理器上运行的某些类型的(服务)组件的最大数量为了简单起见,我们假设服务数量和资源量之间存在相关性这一假设将根据[10]中提出的工作进行修订4.3反馈回路建模当CSF失败时会发生什么?如前所述,相关联的高层角色需要凭借其过滤器重置失败的角色当本地管理器无法在操作层按给定的非功能性要求提供服务时,它会向监控层的本地管理器发送警报,监控层会向OpLocalManager发送新的过滤器以减少服务。这基本上意味着它会阻止所有需要最高性能的服务。如果这不能解决问题,它会阻止需要最高可用性的服务,最终会阻止需要最高可靠性的服务。这也意味着全局管理器过滤器也会更新,以防止分配任何新的服务请求G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91103«层»监控层OpGlobalManagerWrapper- 组件和安装历史- 故障日志- 状态日志MMMGlobalManager与所有本地经理关联的数据MLocalManagerWrapper- 组件历史- 故障日志- 状态日志MLovalManager«层»监测一名管理人员的长期数据OpLocalManager运营经理OpGlobalManager+CrateComponent()+deleteComponent()+linkComponents()+lookup()OpEventSystem+ baseEvent()+filterEvents()«层»操作OpMSWrapper- 事件历史OpLocalManagerWrapper- 组件历史- 故障日志- 状态日志OpGlobalManagerWrapper- 历史- 故障日志短期数据,以固定的时间间隔传递到图五. FRODICA智能管理系统。给当地的经理正如下一节所解释的,过滤器是动态的,如果失败的本地管理器恢复,它们的参数将自动调整。4.4过滤器建模当本地管理器首先向全局管理器注册时,它将获得一个过滤器,该过滤器指示它应该接受的服务的数量和类型。过滤器将取决于当地经理的类型和注册时间。如前一节所述,根据当地经理的表现进一步调整过滤器。如果他们的CSF失败了,过滤器将尝试减少本地管理器的负担,以尝试改善其对预期服务质量的响应。图6显示了滤器内CSF的定义。5相关工作在系统的动态适应和重构领域已经进行了大量的研究,但据我们所知,没有一个提出的解决方案使用CSF和多维数据的想法。纳拉亚南[8]使用的概念,104G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91本地管理器状态日志(源自事件日志)纳入本地管理器故障日志本地经理筛选器日期时间组件服务NFR10/6/200417点半银行getBalance性能组件服务NFR本地管理器日期时间银行getBalance性能捷豹10/6/200417点半计时带性能可用性可靠性系统使用上午9:00-12:00百分之十百分之二十百分之五百分之六十见图6。 FRODICA过滤器和包装器。在使应用资源消耗适应于资源可用性方面,应用的“可靠性”是重要的。这通常通过使用基于历史的应用行为和资源消耗预测来实现。 历史数据被使用的数据不是多维的,系统是非常集中的。CODA使用分布式决策系统,使用组件CSF和数据仓库技术来处理多维数据。此外,操作环境不像CASTCODA那样可重构。一些研究人员已经研究了响应中间件在支持适配中的使用[6]。应用程序可以重新配置底层中间件,以便更好地使用资源或提供更好的QoS。然而,一般而言,研究集中于开发支持适应的机制,而不是决策过程中使用的决策机制和数据我们的研究是互补的,因为CODA可以与可重构的中间件集成最近的研究已经在基于架构的自适应领域[3]中完成,其中系统根据其架构进行监控,然后进行分析以检查其是否以可接受的方式运行。该研究的重点是探头的定义,以监测系统和仪表,消费和解释较低水平的探头测量。不幸的是,作者指出,更困难的任务,即决定改变和实际进行改变,还没有完成。探头和仪表可以与CODA交互,以便提供信息并在G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91105与CAST重新配置控制器可以做的方式相同。在[10]中,作者利用他们在多维度和资源感知应用研究方面的工作来解决多组件集成、配置和重新配置的新问题,称为自动重新配置。传统的配置任务意味着在环境中构建和安装新的应用程序,与此不同,在他们的方法中,配置意味着选择和控制应用程序,以便在不中断的情况下执行用户的任务。在他们的术语中,用户为了在资源稀缺的情况下提供可接受的服务水平,应用程序(通常称为多功能或资源感知)旨在降低操作质量并消耗更少的资源。他们的目标与我们的工作相似,但我们通过资源的非功能属性来建模资源,而不直接引用它们。然而,最重要的区别,从他们的工作,在本文中提出的是,我们的模型不仅使用当前的使用,但也复杂的预测的基础上多维视图的过去使用的资源。6结论人们认识到可重构分布式系统的重要性和需求已经有一段时间了,ADL及其支持的重构系统已经取得了很大进展。然而,支持非功能性需求或QoS的想法是最近的。FRODICA通过其非功能性的IDL、ADL和重新配置管理系统引入了新的理念。本文的想法是引入另一个新的功能,这是大多数重组管理系统所缺少的,智能。其目的是使重新配置管理系统在选择和提供服务方面做出更明智的决定。我们解决这个问题的方法是使用CODA,这是我们在欧盟资助的CAST项目背景下开发的智能自适应系统然而,CODA是一个通用的模型,本文已经表明,它可以应用于更广泛的智能自适应系统。以前曾研究过使用历史数据进行建模重构,但CODA使用了结构化程度更高的此外,CODA使用一套数据仓库而非简单文件,可更好地进行分析及预测。为了更好地评估FRODICA管理系统的智能,数据仓库需要提供更多的操作数据。这也可以使用仿真来完成,以便生成更多的受控数据。也可以通过引入不同的CSF和向FRODICA添加其他类型的非功能需求来完善CODA模型。还需要进一步的研究,以增加更高的CODA层的人工智能系统,这将支持更强大的预测和智能水平。106G.R. Ribeiro-Justo等人/理论计算机科学电子笔记180(2007)91gence. 例如,可以添加代理来收集有关资源使用的数据。引用[1] 啤酒,S,“Diagnosing The System for Organisations,” Wiley,[2] 埃斯佩霍河和Gill,A.,[3] Garlan,S.,郑,S.,和Schmerl,B.,通过基于架构的自修复增加系统的可靠性,在架构依赖系统,R。德莱莫斯角Gacek,A. Romanovsky(Eds),Springer-Verlag,2003.[4] Karran,T.,Madani,K.,和Ribeiro-Justo,G.,自学习和自适应系统:CODA方法,软件定义无线电:架构,系统和功能,M。迪林杰K. Madani和N,Alonistioni,John Wiley Sons Ltd,,2003年。[5] Kayam,A.,和Bailey,S.,面向服务的解决方案的智能架构,Web服务杂志,第3卷,第6期,2003年6月。[6] Kon,F.,科斯塔,F.,布莱尔,G.,和Campbell,R.H、相应的中间件Commun.ACM,第45卷,第33-38页[7] Kubiatowicz,J.,从混沌中提取保证,ACM通信,第46卷,第2期,2003年2月。[8] Narayanan,D.,Flinn,J.,和Satyanarayanan,M.,使用历史来改善移动应用程序的适应性,第三次移动计算系统和应用程序研讨会论文集,加利福尼亚州蒙特雷,2000年12月。[9] 保尔森湖计算机系统,治愈你自己,计算机,2002年8月[10] Poladian,V.,Souza,J.,Garlan,D.,和Shaw,M.,资源感知服务的动态配置,第26届国际软件工程会议(ICSE)会议录,苏格兰爱丁堡,2004年5月,第604[11] Ribeiro-Justo,G. R.,Saleh,A.,分布式组件服务的非功能集成和协调,第六届欧洲软件维护和再工程会议,2002年3月11-13日,匈牙利布达佩斯,IEEE计算机学会。[12] Ribeiro-Justo,G. R.,和Cunha,P. R. F.、An Architectural Framework for Evolving DistributedSystems,Journal Of Systems Architecture45,1375-1384,1999.[13] Ribeiro-Justo,G. R.,和Karran,T.,下一代智能可重构移动网络的面向对象有机体系结构,第三届分布式对象和应用国际研讨会,DOA 2001,2001年9月17-20日,意大利罗马,IEEE计算机学会。[14] Rosa,N.,Ribeiro-Justo,G. R.,和Cunha,P.R.F.,用于构建非功能性软件架构的框架。在SAC2001会议记录中,ACM出版社,拉斯维加斯,2001年。[15] Saleh,A.,Ribeiro-Justo,G. R. Winter,S. C.的方法, 分布式组件的面向非功能的动态集成,第一届协调语言和软件体系结构基础国际研讨会(FOCLASA 2002),捷克共和国布尔诺,2002年8月24日。《理论计算机科学电子笔记》第69卷(2002)。[16] Saleh,A.,“分布式可配置架构的非功能性开发环境”,博士论文,伦敦威斯敏斯特大学卡文迪什计算机科学学院,2003年。[17] Waelchi,F.,VSM和阿什比定律作为历史管理思想的启示,在可行的系统模型:解释和应用StaBorderBeer的VSM,R。Espejo和R. Harnden编辑,Wiley,1996年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功