没有合适的资源?快使用搜索试试~ 我知道了~
��������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������������������������������Institut National des Sciences Appliquées de Toulouse (INSA Toulouse)Mathématiques Informatique Télécommunications (MITT)Gestion dynamique des architectures logicielles pourles systèmes communicants collaboratifsDynamic Software Architecture Management forCollaborative Communicating Systems19 février 2011Ismael BouassidaInformatique Khalil Drira, Ahmed Hadj Kacem Mohamed Jmaiel, Riadh RobbanaFlavio Oquendo,RiadhRobbanaChristophie Chassot, Khalil Drira, Mohamed JmaielTo my parentsiAcknowledgementsIt is a pleasure to thank all the people who participate to made this thesis possible. Itis difficult to overstate my gratitude to my Ph.D. supervisors, Khalil Drira, ChristopheChassot and Mohamed Jmaiel. This thesis would not have been possible without theirkind support, trenchant critiques, probing questions, and remarkable patience. I wishto thank my wife, my parents, my brother and my friends Germ´an Sancho and RiadhBenHalima for helping me get through the difficult times, and for all the emotionalsupport, camaraderie, entertainment, and caring they provided.I am indebted tomy many colleagues in the group OLC at LAAS-CNRS and in the unit ReDCAD forproviding a stimulating and collaboration environment which made learning a real fun.Finally my thanks go to all technical and administrative staff of LAAS-CNRS whoseassistance has greatly facilitated the achievement of this work.iiiContents1Introduction12Adaptation for Context-Aware for CCS52.1Adaptation Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62.1.1Corrective Adaptation . . . . . . . . . . . . . . . . . . . . . . .62.1.2Evolutional Adaptation . . . . . . . . . . . . . . . . . . . . . . .62.1.3Perfective Adaptation. . . . . . . . . . . . . . . . . . . . . . .62.2Objects of Adaptation. . . . . . . . . . . . . . . . . . . . . . . . . . .62.2.1User Interface Adaptation . . . . . . . . . . . . . . . . . . . . .72.2.2Service Adaptation . . . . . . . . . . . . . . . . . . . . . . . . .72.2.3Middleware Adaptation. . . . . . . . . . . . . . . . . . . . . .82.2.4Transport Adaptation. . . . . . . . . . . . . . . . . . . . . . .82.2.5Content Adaptation. . . . . . . . . . . . . . . . . . . . . . . .82.3Model Based Adaptation Approaches . . . . . . . . . . . . . . . . . . .92.4Autonomic Computing . . . . . . . . . . . . . . . . . . . . . . . . . . .92.4.1Basic concepts of autonomic computing . . . . . . . . . . . . . .102.4.2Network level . . . . . . . . . . . . . . . . . . . . . . . . . . . .112.4.3Application level with Agents . . . . . . . . . . . . . . . . . . .122.4.4Frameworks and architectural proposals. . . . . . . . . . . . .132.5“‘Models@runtime” . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142.6Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152.7Context. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152.7.1Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152.7.2Taxonomy of the Contextual Data . . . . . . . . . . . . . . . . .162.7.3Context-Awareness . . . . . . . . . . . . . . . . . . . . . . . . .172.7.4Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182.8Adaptation in CCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192.8.1Classification. . . . . . . . . . . . . . . . . . . . . . . . . . . .192.9Solutions for Context Adaptation in CCS . . . . . . . . . . . . . . . . .212.9.1Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22iii2.9.2Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232.9.3Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232.10 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253Proposed Approach273.1Generic Modelling Approach . . . . . . . . . . . . . . . . . . . . . . . .273.1.1Multi-level Architecture Modelling. . . . . . . . . . . . . . . .283.1.2Generic Refinement and Selection Procedures. . . . . . . . . .283.2Modelling of Communicating Architectures . . . . . . . . . . . . . . . .303.2.1Design Time Side . . . . . . . . . . . . . . . . . . . . . . . . . .313.2.2Run Time Side. . . . . . . . . . . . . . . . . . . . . . . . . . .313.2.3Context Capture and Representation . . . . . . . . . . . . . . .333.3A Framework for Communicating Systems . . . . . . . . . . . . . . . .333.3.1Design Time Side . . . . . . . . . . . . . . . . . . . . . . . . . .343.3.2Run Time Side. . . . . . . . . . . . . . . . . . . . . . . . . . .373.4Graph Models for Architectural Transformation . . . . . . . . . . . . .373.4.1Basic approach for Graph Transformation. . . . . . . . . . . .373.4.2The Double PushOut Approach . . . . . . . . . . . . . . . . . .383.4.3The Node Label Controlled Mechanism . . . . . . . . . . . . . .393.4.4The Neighbourhood Controlled Embedding Mechanism . . . . .403.4.5Our Approach: Combining DPO and edNCE . . . . . . . . . . .423.5Refinement and Selection Implementation. . . . . . . . . . . . . . . .443.5.1Application–Collaboration Refinement and Selection. . . . . .443.5.2Collaboration–Middleware Refinement and Selection . . . . . . .453.5.3Deployment Service . . . . . . . . . . . . . . . . . . . . . . . . .503.5.4Refinement and Selection Illustration . . . . . . . . . . . . . . .503.6Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .524Case Studies and Performance Study534.1Graph Matching and Transformation Engine . . . . . . . . . . . . . . .534.2ERCMS Case Study. . . . . . . . . . . . . . . . . . . . . . . . . . . .564.2.1ERCMS Case Study Description . . . . . . . . . . . . . . . . . .584.2.2Context Description. . . . . . . . . . . . . . . . . . . . . . . .614.2.3Initial Refinement and Adaptation Process Examples . . . . . .654.3Web Service-Based Applications Case Study . . . . . . . . . . . . . . .714.3.1The Graph Grammar rule-oriented reconfiguration . . . . . . . .724.3.2The FoodShop Case Study: A Web Application . . . . . . . . .754.3.3Application of our Approach . . . . . . . . . . . . . . . . . . . .764.4Evaluation Experiments and Simulations . . . . . . . . . . . . . . . . .784.4.1Adapting Architecture to Organization Changes . . . . . . . . .804.4.2Adapting Architecture to Resources Changes . . . . . . . . . . .82iv4.5Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .855Conclusion876Extended French Abstract/R´esum´e916.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .916.2Approche g´en´erique de mod´elisation . . . . . . . . . . . . . . . . . . . .936.2.1Mod´elisation Architecturale Multi-niveau . . . . . . . . . . . . .936.2.2Proc´edures g´en´eriques de Raffinement et de S´election . . . . . .956.3Application aux Syst`emes Communicants . . . . . . . . . . . . . . . . .966.3.1Niveau application. . . . . . . . . . . . . . . . . . . . . . . . .976.3.2Niveau collaboration . . . . . . . . . . . . . . . . . . . . . . . .996.3.3Niveau middleware . . . . . . . . . . . . . . . . . . . . . . . . .1006.3.4Niveau infrastructure . . . . . . . . . . . . . . . . . . . . . . . .1006.3.5Implantation du raffinement et de la s´election. . . . . . . . . .1006.4Cas d’´etude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1026.5Exp´erimentations et ´evaluations . . . . . . . . . . . . . . . . . . . . . .1056.6Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107Author’s Publications113Bibliography117vviList of Figures3.1Multi-level Architecture Modelling. . . . . . . . . . . . . . . . . . . .283.2Layered Architecture Modelling . . . . . . . . . . . . . . . . . . . . . .323.3Model-Oriented Reconfiguration Framework. . . . . . . . . . . . . . . .353.4Generic Collaboration Ontology . . . . . . . . . . . . . . . . . . . . . .363.5Dangling Edges Problem . . . . . . . . . . . . . . . . . . . . . . . . . .383.6DPO Approach Example . . . . . . . . . . . . . . . . . . . . . . . . . .403.7NLC Approach Example . . . . . . . . . . . . . . . . . . . . . . . . . .423.8Combining DPO and edNCE . . . . . . . . . . . . . . . . . . . . . . . .434.1The Graphical User Interface. . . . . . . . . . . . . . . . . . . . . . .554.2The XML Graph File . . . . . . . . . . . . . . . . . . . . . . . . . . . .574.3The XML Rule File . . . . . . . . . . . . . . . . . . . . . . . . . . . . .584.4ERCMS Mission Description . . . . . . . . . . . . . . . . . . . . . . . .594.5The ERCMS Ontology Description. . . . . . . . . . . . . . . . . . . .624.6General Structure of our Context Ontology . . . . . . . . . . . . . . . .634.7Instance Example from our Context Ontology . . . . . . . . . . . . . .644.8Instance Example of a Device Hardware Profile. . . . . . . . . . . . .6504.9连接性和QoS保护的适应性04.10 GG 1生成p 1的图形表示04.11 GG 2生成p 1的图形表示04.12 GG 2生成p 2的图形表示04.13应用于FoodShop案例研究的建议架构04.14初始架构配置04.15单体服务替代04.16根据WS成本进行复合服务替代04.17应用SWRL的执行时间(表4.1)04.18应用GG COLLAB → EBC的执行时间04.19连接适应性的结果04.20节点上的能量演变06.1多级建模方法06.2 SCC和部署技术的建模框架0第七章0第八章0表格列表02.1上下文数据的示例03.1通用精炼过程03.2通用选择过程03.3建立数据流的SWRL规则03.4图形精炼过程03.5精炼图形语法GG COLLAB → EBC03.6离散函数03.7相对成本函数03.8上下文感知函数04.1建立合作流程SWRL规则04.2危急情况发现SWRL规则04.3添加新的调查员SWRL规则04.4 GG1:WS的单体替代04.5 GG2:服务组合替代策略06.1通用精炼过程06.2通用选择过程06.3上下文适应过程06.4离散计算过程06.5相对成本计算过程06.6基于图形的语法精炼过程0第九章10第1章0引言0自配置系统的设计是自主计算和通信的主要研究方向之一,它们可以根据动态变化的环境来适应其服务。提供支持组通信的分布式软件系统的解决方案需要对不断变化的组成员进行动态管理,并动态连接部署节点。它还需要在远程互连的部署节点上动态分发软件实体。对于一些基于组通信的应用程序来说,重配置的预期是很重要的。为了适用于不同的情况,这类应用程序的设计者在从几个用户、节点、组件和服务变化到数千个用户、节点、组件和服务时,必须确保所制定的解决方案的可处理性和可扩展性。特定类别的协作软件应用程序可以特别从通信系统的先进功能中受益。协作应用程序是分布式系统,多个用户以协调的方式行动以实现共同的目标。在这类应用程序中,用户被组织成结构化的组,每个参与者可能扮演一个角色。为了以高效的方式进行通信、共享文档和互动,为用户提供了多种工具。许多协作应用程序已经成功地在不同领域(如电子学习、工程、设计等)中开发。利用上下文信息、移动性等特性可以增强协作应用程序的功能和可用性。用户位于相同的环境中,使用个人移动设备,并通过无线连接进行连接,而不是使用通过互联网远程连接的台式计算机,这代表了一种非常不同的设计和使用这类应用程序的方法。0第1章 引言0应用程序。上下文信息可以被利用来检测多个用户之间的潜在协作情况,然后自动提议他们加入一个会话,在这个会话中他们可以一起进行交互。这种隐式的协作方式与经典的桌面协作不同,后者是显式地启动活动。因此,协作,尤其是上下文感知的协作,提出了几个有前途的挑战。上下文的概念在支持协作的应用程序中至关重要。实际上,如果一个系统能够正确地检测上下文变化并以智能方式对其做出反应,它将能够提供更丰富的用户体验。为了正确利用上下文信息,上下文必须用模型表示,这些模型形式化了所考虑的上下文数据。此外,动态上下文数据必须被获取并引入到可用上下文模型的实例中。一旦获取了上下文,系统就必须对上下文变化做出反应;这被称为自适应。在协作应用程序的情况下,自适应的主要对象是建立起来支持用户活动的协作会话以及管理这些会话的组件。为协作支持系统中的自动自重构提供通用且可扩展的解决方案可以由基于规则的重构策略驱动。为了实现这个目标,我们制定了一种基于动态图形的建模方法,并开发了能够表示不同配置相关观点的不同交互依赖的结构模型:分布式机器之间的通信流、网络化部署节点和服务组合。我们的解决方案基于图形语法重写。我们将架构定义为图形,其中顶点对应于部署节点、软件服务及其内部组件。此外,我们提供了图形转换来指定更改部署架构的规则,同时符合架构风格。处理动态演化的架构至少需要描述一组一致的架构实例。这是验证管理模型和验证架构约束保持的必要条件[GDD04]。如果其相应的描述图可以通过一系列图形语法生成,则认为架构实例是一致的。我们的方法支持正确性和安全性证明的形式化验证。我们实现了一个图形重写系统,确保以高性能自动化我们的方法,使其适用于大规模配置。为了处理通信协作系统架构的复杂设计和相关的自适应问题,我们提出了一种多层建模方法。这通过在不同的抽象层中分离关注点来简化问题。这种方法确保了自动上下文感知自适应的通用解决方案。30抽象层。这种方法确保了自动上下文感知自适应的通用解决方案。0我们的方法基于这样一个观察:语义数据分析可以用于管理优先级,更一般地用于管理通信。这使得我们能够以更丰富的方式表示所管理系统的语义。因此,这些语义为确保交互和自治异构管理实体之间的互操作性提供了一个向量。它们可以通过从组织、环境和操作视角捕获语义来支持自适应性,从而自动化对整个分布式环境中的管理操作的完成。我们提出了同时使用本体和策略来在上下文感知的方法中强制执行自治管理实体的自适应行为。在运行时,建模和本体数据被组合起来确定当前上下文,哪些策略适用于该上下文,以及应向用户和应用程序提供哪些服务和资源。本体已经证明了它们在支持非功能属性和管理分布式系统中的QoS方面的好处。我们的通信本体不仅以功能和非功能属性的方式描述设备和通信,还允许管理交换消息的优先级。本文重点介绍了开发的本体,并强调了语义对于自适应行为的有益影响。为了说明所提出的模型及其转换,我们考虑了一个涉及多个合作参与者的紧急响应和危机管理系统(ERCMS)的案例研究,这些参与者具有不同的角色和功能。我们还考虑了基于Web服务的应用程序的情况:Foodhop。使用图形语法,我们通过将架构定义为图形来处理架构重新配置,其中顶点对应于软件服务及其操作。我们使用图形转换来指定部署架构变化(演化)的规则,同时与架构风格“一致”。0本文按照以下方式组织。第2章详细介绍了涉及适应性的研究活动,并侧重于自主系统。详细介绍了协作和上下文的概念。介绍了一个关注在运行时环境中管理重配置复杂性的新方法:“模型@运行时”。在最后一部分,我们重点关注协作通信系统中的上下文适应性。0第3章详细介绍了我们用于协作通信架构的建模方法。该方法定义了抽象层次以解决与层次相关的问题。0第1章 引言0这种层次上的分离有利于实现多层次的适应性,同时考虑高层次的要求和低层次的约束。本章介绍了用于细化和选择的通用过程。细化确保较低层次的模型实际上实现了相关的高层次模型。选择允许在给定层次的一组候选模型中选择一个模型。介绍了本体论、SWRL规则、图形和图形语法。这些规则处理在同一层中转换给定的架构,以及不同层之间的架构映射。第4章介绍了我们开发的用于实现图形语法方法的图形匹配和转换引擎。介绍了ERCMS场景和FoodShop应用场景。在ERCMS场景中,移动参与者合作管理紧急情况。我们提出了三个本体论来模拟与通信相关的不同方面,如活动、协作和上下文。还提出了用于通信架构中的适应性的适应性动作。我们介绍了细化和选择过程,以及外部上下文和资源上下文变化适应的示例。在FoodShop场景中,我们研究了面向服务的架构的动态重配置,以在干扰易受环境中维持服务质量。我们的方法使用图形语法理论来实现描述解决复合或整体重配置的不同配置候选集的规则。为了验证我们的方法,我们使用图形匹配和转换引擎GMTE以及SWRL规则执行引擎Jess进行了实验评估。我们的结果表明,由于我们的适应性方法,ERCMS参与者的资源保持所需的任务完成服务。最后,介绍了本工作的结论,并确定了扩展本工作特定方面的若干研究展望。50第2章0上下文感知协作通信系统的适应性0设计和实现自适应通信系统是一项复杂的任务。为了处理这种复杂性,多项研究表明需要依靠基于模型的设计方法和自动化管理技术。本章的第一部分详细介绍了涉及适应性的研究活动。第二部分侧重于自主系统,并解释了自主计算中如何解决重配置问题。之后,我们详细介绍了协作和上下文的概念。在下一部分中,我们介绍了一种新方法:“模型@运行时”。这些方法侧重于在运行时环境中管理重配置复杂性。最后,我们关注协作通信系统中的适应性,并强调上下文适应性解决方案。0适应性是对程序或信息系统进行更改以保持其功能性,并在特定执行环境中尽可能提高其性能的操作。在通信系统和上下文感知领域,适应性通过适应性的概念得到扩展,该概念表征系统在不同环境中改变其行为以提高性能或继续其角色的能力。0第6章 适应上下文感知的CCS02.1 适应目标0在开发信息系统之后,不同的原因可能导致适应。这些原因可能是为了纠正、进化或完善的目的[KBC02]:02.1.1 纠正的适应0在某些情况下,我们可以注意到应用程序的行为不正常或不符合预期。纠正的适应是一种解决方案,用于识别导致问题的应用程序模块,并将其替换为新的正确模块。这个新模块提供与原来相同的功能。02.1.2 进化的适应0在开发应用程序时,某些功能没有考虑到。随着用户需求的变化,必须通过添加一个或多个模块来提供新功能或修改现有模块以丰富其功能,同时保持相同的应用程序架构来扩展应用程序。02.1.3 完善的适应0这种适应的目标是改善应用程序性能。例如,我们可以有一个接收大量请求但无法满足它们的模块。为了避免系统性能下降,我们可以复制此模块以与现有模块共享请求。02.2 适应的对象0适应方法针对信息系统的多个层次:用户界面、内容、服务、中间件和传输。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功