




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种情境驱动的网构软件体系架构与支撑环境基金项目:本文受国家863项目资助 (基于本体的网构软件环境感知体系与相关技术研究,2009AA01Z123)作者简介:黄晙(1985-),男,福建福州人,硕士研究生,主要研究方向:上下文感知计算、分布式架构等;吴刚(1973-),男,博士,副教授,主要研究方向:情境感知计算、分布计算、普适计算等。黄晙 吴刚 马天笑 (上海交通大学,软件学院,上海200240) 摘 要:本文从网构软件Internet环境下涉及的各类事物和事件情境、及情境的整个生命周期出发,以情境驱动为核心,对网构软件的体系结构与支撑环境展开研究,以支持服务实体的自适应、自演化行为。首先,本文研究了Internet环境下服务实体交互与协同关系中的各种情境构成,给出了一个适合网构软件的情境本体定义。在此基础上,给出了一种基于情境感知的网构软件体系架构,并描述了在这一架构下网构软件按需聚合和动态演化的模型与机制。围绕该应用场景,结合服务实体实际运行时的特点及要素,本文给出了该体系架构下网构软件的支撑环境软件设计。最后,本文给出了一种基于OSGi服务平台的支撑环境参考实现。关键词:网构软件;情境感知;体系架构;服务实体;OSGi文献标识码:A 中图分类号:TP311 稿件编号:290166A Context-Driven Architecture and Supporting System for InternetwareHUANG Jun, WU Gang, MA Tian-xiao(School of Software, Shanghai Jiaotong University, Shanghai 200240, China) Abstract: Based on object and event context involved with Internetware, and the whole lifecycle of them, this paper studies the architecture and supporting system of Internetware in a context-driven way to support self-adaptation and self-evolution for service entities. While the detail of context of service entities having interaction and collaboration relationship on Internet is analyzed, context ontology for the Internetware is proposed firstly. Then the architecture of Internetware based on context awareness is given, and the mechanism for the Internetware to aggregate on demand and evolve dynamically under this architecture is described. Combined with runtime features and elements of service entities, the design of the supporting environment in the above application scenes is also given in this paper. Finally, an implementation based on OSGi service platform is given.Key words: Internetware; Context awareness; Architecture; Service entity; OSGi1、 背景为了应对Internet平台下开放、动态、难控等特点对应用的开发、部署、运行、维护带来的挑战,网构软件(Internetware)的概念应运而生1,它是一种柔性可演化、连续反应式、多目标适应的新的软件体系形态,主体化的软件实体之间通过按需协同的机制,形成一种与当前的信息Web相类似的软件Web。网构软件的一个重要特征就是2:它应能感知内/外部环境的动态变化,并随着这种变化按照功能指标、性能指标或可靠性指标等进行静态的调整和动态的演化,以使系统具有尽可能高的用户满意度。也就是说网构软件不是按照明确的需求自顶向下开发而成的,它会随着环境的变化,不断发展不断演化。为了使网构软件在宏观上表现出自适应、自演化的行为,必须从软件系统的情境描述、环境感知、内部决策和协同演化等几个方面展开研究。目前的研究多是从已感知到环境的变化出发,研究软件实体如何动态调整自身的行为,而对于Internet情境应如何表达、情境变化应如何感知没有系统的研究和实用化的成果。本文所定义的Internet情境是网构软件实体所处环境的一种抽象,不仅包括静态的信息还包括动态的运行时信息以及其他的一些非功能性需求,不仅包括实体外部环境的信息还包括实体内部的信息。Internet情境信息的描述与获取是网构软件自演化的前提和基础,而显然在开放环境下为了使不同的软件实体对感知到的情境都有合理的认知,一个显式的、语义化的Internet情境描述是必须的。本文以情境感知为核心,给出了一种基于本体的网构软件情境感知体系架构,并描述了在这一架构下网构软件的按需聚合和动态演化的模型与机制。具体包括,如何描述Internet情境?如何根据应用的需求和当前的情境,确定参与协同的多个自主运行实体,形成一个虚拟的运行环境以完成这一应用?如何记录和传播情境的变化?如何根据情境的变化动态调整虚拟运行环境的结构以及某个自主运行实体的行为?本文第2节给出了基于情境感知的网构软件体系架构,并描述了在该环境支撑下网构软件按需聚合和动态演化的应用场景;第3节描述了情境本体的具体定义;第4节给出了一个基于该架构的支撑环境参考模型;最后讨论相关工作并总结。2、 网构软件情境感知体系架构网构软件的运行在于交互与协同,本文采用服务模型来描述自主软件间的交互关系,而不涉及服务的具体细节如通信协议等。典型的服务模型包括服务提供者、服务请求者和服务注册处。软件实体(本文称之为服务实体)在服务注册处的帮助下自主完成所需服务的定位,建立起软件实体间的供需关系和虚拟的运行环境。定义(服务实体):服务实体是网构软件中的计算实体,具有一定的服务需求和服务能力,既需要别的服务实体所提供的服务,同时也能够为其它服务实体提供服务。也就是说,它既可以是服务使用者,也可以是服务提供者。图1是本文给出了网构软件情境感知体系架构。图1 网构软件情境感知体系架构一个基本的运行流程如图1所示:(1)服务实体B通过轻量级的目录服务完成服务的注册;(2)服务实体A通过目录服务获得候选服务实体的描述地址;(3)实体A根据地址获取候选服务的情境描述,包含所需的静态与动态情境描述;(4)实体A根据获得的情境与应用的需求自主确定所需的服务实体及其聚合关系,形成虚拟的执行环境;(5)同时,实体A将订阅虚拟执行环境中各服务实体的情境变化;(6)按照应用的需求展开服务的调用。在执行过程中,被订阅的情境所发生的变化将被传递到实体A,而实体A将根据相应的规则进行自适应调整或启动新的聚合过程,以实现动态的演化。2.1 轻量级目录服务本文的轻量级目录服务,指目录服务器上存储的并不是服务实体的整个描述,而只是服务实体的情境描述地址。影响服务实体聚合的情境信息包括静态的能力描述、接口描述,也包括动态的状态描述、环境描述等,即使是静态的信息也可能发生变化。如果这些信息都通过目录服务器来维护,将产生不可估量的带宽信息和相应负载。因此,本文只在目录服务器上存储相对稳定的情境描述地址。请注意不是服务实体的调用地址,而是服务实体的情境描述地址。这样,即使是协议的变化或接口的变化都不会引起目录服务的信息变更。集中式的目录服务也是不可取的,对于面向Internet的网构软件而言,会造成整个体系的性能瓶颈。本文采用P2P的技术构造分布式目录服务器,将服务名称作为散列信息,各目录服务器作为P2P节点,利用chord算法3将服务实体的描述地址储存到相应的分布式服务器上。2.2 基于情境的按需聚合在网构软件环境下,一个应用的执行需要多个服务实体共同完成。本文称启动这个应用的服务实体为主服务实体,它负责按照应用的需求,包括功能性和非功能性需求,通过匹配候选服务实体的情境描述来发现并聚合相应的服务实体,构成虚拟的执行环境。这将是一个嵌套的过程,也就是说主服务实体确定要调用服务实体A,而服务实体A可能又需要聚合服务实体B来完成相应的功能。本文的重点放在如何完成基于情境的按需聚合上,因此提出了以下假设:(1)本文关心需求是通过哪些情境来描述和匹配的,但不关心情境或需求的具体取值。即假设需求中各元素的具体取值在网构软件实体间有语义上一致的认知。如主服务实体的功能需求是“订购”,候选服务实体情境中的功能描述是“采购”,这两者在语义上是否一致,是通过应用环境中共享的相关本体库来回答的,本文不予考虑。(2)假设服务接口的定义在调用者和被调用者之间也有语义上的共识。即调用者从情境中得到接口的描述后,能够知道每个参数的语义、返回结果的语义等,从而构造并实施相应的调用。2.3 基于情境感知的动态演化网构软件的环境是动态多变的,随时都可能产生情境元素的变化。本文采用一种基于主题订阅/发布的方法来支持情境感知。一旦确立了聚合关系,主服务实体将向被选服务实体订阅其关心的情境。当服务提供者的相应情境变化被发布时,主服务实体就在第一时间感知到这一变化,并进行自适应调整或启动新的聚合过程,从而实现动态的演化。对于上层用户而言,情境感知和动态演化的过程是透明的。3、 网构软件情境本体在开放环境下需要一个显式的、语义化的Internet情境描述,作为网构软件自演化的前提和基础。本文基于本体的思想研究Internet 情境的语义化描述方法,采用RDF/OWL技术对情境进行建模,给出了一个适合网构软件环境的Internet情境本体,并发布在。Internet环境下的情境分为两类对象:事物和事件。事物是指网构软件运行环境下的各种实体,包括自主化的服务实体、服务实体所在的环境和所运行的平台,及他们的运行状态、属性等。事件是指网构软件中的一些特殊事件,如服务实体的进入和退出等。本文将事物情境分为3个子类:环境、平台和服务实体。环境(Environment):指服务实体所依赖的网络环境。每个服务实体有且仅有一个对于环境的情境描述,包括网络IP、网络带宽、网络延迟和丢包率等。平台(Platform):指服务实体所运行的平台。每个服务实体有且仅有一个对于平台的情境描述,包括硬件指标、操作系统、运行环境、开发环境等。服务实体(Service Entity):包括名称和供应商两个属性,以及需求和能力两个子类。需求(Requirement):指服务实体正确运行所需要的其它服务实体所提供的服务集合,一个服务实体可能拥有0个或多个服务需求。需求包含功能需求和非功能需求,所以每个需求描述都包含功能性(function)描述和非功能性(non-function)描述。能力(Capability):指服务实体能够为其它服务实体提供的服务集合,一个服务实体可能提供0个或多个服务能力。能力包括功能能力和非功能能力,所以每个能力描述都包含功能性(function)描述和非功能性(non-function)描述,分别与需求的描述相对应。需求和能力的功能性(function)部分,主要包括服务的功能描述、协议和调用接口等。每个需求和能力的功能性都有一个状态属性,需求的状态用来表征该需求是否已被满足,而能力的状态用来表征该能力的运行情况,包括运行、中止、不可用(需求未被满足),当该属性为不可用时,在服务选择时该能力将不做考虑。需求和能力的非功能性(non-function)部分,主要侧重服务的QoS,包括可靠性、可用性、负载、响应时间等。本文的事件情境(Event)主要用于描述服务实体生命周期中的事件,包括服务的进入、中止、恢复和退出事件。当服务实体注册进入或注销退出网构软件环境,以及服务实体暂时停止提供服务或重新恢复时,都会激发相应事件。需要注意的是,部分能力的不可用或者部分需求得不到满足,并不意味着按需聚合无法实现,能否完成匹配由每个主服务实体自行判断。此外,网构软件情境本体的定义是一个不断扩充与完善的过程。4、 网构软件的情境感知支撑环境网构软件的情境感知支撑环境包括两部分:情境感知支持和运行时环境,如图2所示。其中情境感知支持主要完成情境的获取、订阅与发布等,为网构软件的情境感知提供基础支撑;运行时环境为服务实体提供运行时帮助,包括生命周期的管理、服务调用、自适应框架等。 图2 网构软件的情境感知支撑环境情境感知支持和运行时环境作为中间件存在于每个服务实体端,服务实体在运行时环境的支撑下完成按需聚合和动态演化,而运行时环境又依靠底层的情境感知支持实现对环境变化的感知。下面具体描述主要组成部分的功能与作用。l 服务器访问组件。该组件用于访问基于P2P的目录服务器,其功能包括在网构软件环境中注册和注销服务实体;获取服务实体的情境描述地址。在注册时,根据该服务实体的OWL本体描述文件建立一个实时情境本体库,并将该情境本体库的访问地址存储在目录服务器中。注销时删除相应信息。l 服务选择组件。该组件是实现按需聚合的核心组件,专门为服务实体选择能满足其需求的服务。例如,一个主服务实体需要n个不同的服务,它将根据需要的服务名称,利用服务器访问组件得到候选的服务实体情境描述,再根据规则筛选出最符合其功能及非功能需求的n个服务实体。此时该组件会利用情境感知支持完成两项工作:(1)更新实时情境本体库,以添加对服务提供者的描述;(2)向服务提供者订阅感兴趣的情境主题。一旦这种聚合关系被解除,则需要删除相应的本体库信息和情境订阅关系,并启动新的服务选择过程。当然,在开始选择时对于不同的服务也可以备份多个满足需求的服务实体,使得某一服务失效时可以快速地切换到新的服务提供者以完成调用。l 自主构件支持组件。该组件是情境变化的接收与处理者,本文借鉴文献4中自主构件的概念,利用该组件提供基于规则的推理机制对服务实体进行自主化改造。服务实体可以注册一系列自定义的规则集,用于响应情境发生的变化。当然系统本身也提供了一些可选择的默认规则集,例如所需的服务实体不可用时将如何处理。l 情境本体访问组件。该组件负责建立本地的实时情境本体库,并予以维护。l 消息组件。该组件是情境感知的关键组件,负责情境订阅与发布关系的维护,并利用消息中间件完成基于情境主题的消息传递。本文借鉴Rainbow系统4提供的Probe-Gauge模型以及文献5的上下文推送方法,实现情境变化的获取与传递。5、 基于OSGi服务平台的参考实现本文基于OSGi13服务平台给出了情境感知支撑环境的一个参考实现。一个OSGi服务平台上寄宿了多个Bundle,每个Bundle就是一个服务实体,提供服务并且使用别的Bundle所提供的服务。互联网上的多个OSGi服务平台,共同组成了一个庞大复杂的供需关系网。如图3所示,该参考实现针对支撑环境中的各个组件,结合具体的实现技术,将支撑环境的实现划为五个方面:情境本体的操作、服务的选择及访问、情境的订阅发布、自主构件以及服务器访问。具体的实现方式如下。 图3 基于OSGi的参考实现l 情境本体的操作。本文使用Protg14工具来进行情境本体的操作,对于每一个使用支撑环境的服务实体,支撑环境为其在本地创建以OWL文件形式存在的本体库,并维护相关的服务描述与情境变化。l 服务的选择及访问。服务选择算法的参考实现目前是采用完全匹配,即根据环境、平台、能力进行过滤后,选择所有需求均被满足的服务。考虑到OSGi在分布式环境下涉及远程交互,我们利用R-OSGi15来完成互联网上的OSGi服务平台之间的互连,从而透明化地选择及访问远程服务。l 情境的订阅发布。OSGi本身提供了一套事件订阅发布的基础服务,基本符合了我们对情境订阅发布的实现要求。l 自主构件。本文提供相应的API让用户自定义回调函数,对订阅到的情境进行相应的处理,同时引入了规则引擎Drools16来提供更加灵活的自主构件支持,用户可指定用于自主演化的规则集,当新的情境发布时,规则引擎会自动匹配规则集进行自适应调整。l 服务器访问。本参考实现弱化了P2P特性,结合OSGi服务平台本身的特点,将服务器组件的功能具体化为定位互联网上的各个OSGi服务平台。本文基于Web Service接口维护了一个服务器节点,用于注册、查询和修改各个OSGi服务平台的IP。在服务实体进行服务选择时,支撑环境从这里取得IP列表,继而用R-OSGi遍历各个OSGi平台进行服务搜索及选择。6、 相关工作网构软件的研究非常活跃6,7,8。而在网构软件的自适应和自演化方面,文献9提出了一种解决OSGi平台上服务动态演化的方法。该研究针对OSGi平台的服务动态演化提出了重定向方法,解决了服务类定义的动态更新,较好地满足了演化中服务的透明性问题;文献10结合BDI模型和情境演算的优点构造了一个智能体结构AASC,使其既能表示Agent的心智状态,又能进行行动推理和规划,以实现Agent不同程度的自主性;文献11基于资源接口自动机网络,对由于环境资源的变化所导致的构件组合系统的行为变化进行有效的分析与验证,以提高系统在自适应性方面的可信度。然而,这些研究都是从已感知到环境的变化出发,研究软件实体如何动态调整自身的行为,对于Internet情境应如何表达、情境变化应如何感知、如何构造支持情境感知的网构软件运行环境等,并没有系统的研究和实用化的成果。南京大学在文献12中分析了环境驱动的网构软件行为模式,提出了一个面向网构软件的环境驱动结构模型,在情境的建模、管理和使用方面均有很好的参考价值。与之相比,本文立足于从实现角度出发,给出了一个可行的系统解决方案。7、 结论本文以情境感知为核心,研究了Internet环境下各种情境的构成,给出了一个适合网构软件环境的Internet情境本体定义,提出了一种基于本体的网构软件情境感知体系架构,并描述了在这一架构下网构软件的按需聚合和动态演化的模型与机制。本文还给出了支撑环境的结构设计,描述了其中各核心组件的功能,该支撑环境将作为中间件支持整个基于情境感知的网构软件实现。本文基于OSGi服务平台,给出了该支撑环境的一种参考实现。后续我们将进一步完善Internet情境本体的内容,研究支撑系统中各功能组件的实现技术,通过实践对架构设计和支撑环境的实现进行评估与改进。参考文献:1 杨芙清, 梅宏, 吕建, 金芝. 浅论软件技术发展J, 电子学报, 2003, 26(9): 110411152 吕建, 马晓星, 陶先平, 徐锋, 胡昊. 网构软件的研究与进展J, 中国科学E辑(信息科学), 2006, 36(10): 103710803 Stoica, I., Morris, R., Liben-Nowell, etc. Chord: a scalable peer-to-peer lookup protocol for Internet applicationsC. IEEE/ACM Transactions on Networking, 2003,11(1):17 324 Garlan D, Cheng S W, Huang A C. Rainbow: Architecture-based self-adaptation with reusableinfrastructureC. Comput, 2004, 37(10): 46-545 Pavel D, Trossen D. Context Provisioning for Future Service EnvironmentsC. International Conference on Computing in the Global Information Technology, 2006, Page(s):45 45.6 梅宏, 黄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仙桃一中研学活动方案
- 代发业务活动方案
- 代理销售活动方案
- 以诚待人活动方案
- 仲夏冰淇淋活动方案
- 仿生鱼机构活动方案
- QBT-食盐用水质量控制技术规范稿编制说明
- 企业三八节室内活动方案
- 企业人才活动方案
- 企业全年职工活动方案
- 【MOOC】结构力学(下)-湖南大学 中国大学慕课MOOC答案
- 《物业服务企业ESG评价要求》
- 水利工程施工监理规范(SL288-2014)用表填表说明及示例
- 济南大学《特殊教育研究方法》2021-2022学年第一学期期末试卷
- 沟通的艺术学习通超星期末考试答案章节答案2024年
- GB/T 35428-2024医院负压隔离病房环境控制要求
- 形势与政策补考2-国开(XJ)-参考资料
- 高中英语-人教-选修二-单词默写
- 江苏省苏州市昆山市2023-2024学年六年级下学期期末英语试卷
- 江苏省苏州市(2024年-2025年小学四年级语文)部编版质量测试(下学期)试卷及答案
- 炸药成型与装药的制备-性能关系
评论
0/150
提交评论