一个支持动态演化的软件构件框架

来源 :南京大学 | 被引量 : 0次 | 上传用户:qcolin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件构件技术通过复用和组装已有的软件资源,提高了软件质量与软件的开发效率,对于缓解软件危机起到了重要的作用。随着开放动态的Internet计算平台的发展,构件技术被应用到这一新的软件运行平台之上。因此,如何让传统面向封闭静态环境的构件能适用于新的开放多变的环境成为了一个亟需解决的技术问题。为此,我们提出了一种以自省构件模型为核心支持动态演化的构件框架,并面向此构件框架研究了构件系统动态演化的相关关键技术,以此支持个体构件层面的调整和构件系统全局配置的演化,特别是在此演化过程中,实现了系统一致性保障以及构件状态迁移,为Internet开放环境下具有动态演化能力应用系统的运行提供支撑。本文的主要工作总结如下:  1)提出了一种面向软件动态演化的构件框架ACF(Artemis Component Framework)。该构件框架的核心是一种自省构件模型Artemis-RC,它针对传统软件构件技术缺乏动态重配置能力的缺点,构造构件元层对象并建立元层对象与基层实体之间的因果联系,允许用户通过元对象访问协议对构件实体进行动态配置。Artemis-RC构件的元层包含了结构、行为等多侧面元对象,从而实现了运行时刻对构件行为与结构等侧面的调整,以此支持构件个体层面的动态重配置。在上述构件模型和框架的基础上,我们利用结构侧面的元对象实现了构件之间的交互关系的动态配置,利用构件事务状态自动机与属性控制器,实现了构件系统重配置过程中一致性保障与状态迁移,以此支持构件系统全局在线演化过程。  2)针对系统全局演化过程中的一致性保障和状态迁移的需要,分别提出了一种事务状态机自动分析方法和一种多实例构件的状态迁移方法。传统工作中为了保障演化系统的一致性,需要程序员手动编写事务状态机,导致程序员负担加重、动态演化易用性不高。我们提出一种事务状态机自动分析方法,该方法通过分析方法执行的控制流以及构件间的交互关系,自动生成事务状态机,并通过在业务逻辑代码中插入状态跳转语句实现状态机的运行时驱动,提高了动态演化的易用性。针对已有工作没有考虑实际应用系统中构件多实例并存这一特点的不足,提出一种面向多实例构件的状态迁移方法。该方法结合一致性保障的需要对构件实例的生命周期进行了细粒度的划分,针对不同生命周期状态下的实例采取不同的迁移策略。  3)开发了支持ACF构件框架的动态演化支撑系统Artemis-AEJB。Artemis-AEJB系统基于工业界广泛应用的开源中间件JBoss Application Server,实现了对Artemis-RC构件模型的支持的同时兼容主流的EJB构件规范,并支持构件化应用系统的搭建与动态演化。开发了一个基于ACF构件框架的应用案例:黄河下游工情险情会商系统。通过该应用案例展现了ACF构件框架下的应用系统的搭建以及演化过程,并初步验证了面向构件的动态演化技术的可行性和有效性。
其他文献
本文作者介绍了基于代理的用户态TCP/IP协议栈的设计与实现,并使该协议栈针对代理功能进行剪裁和优化,以及在多核处理器上实现性能的线性扩展。代理服务器通常作为数据中心的
电子商务具有巨大的经济增长潜力,但是在其高速的发展过程中面临很多挑战。电子商务的开放性、虚拟性、匿名性等特点导致严重的信息不对称问题和交易风险问题,大规模电子商务应
随着社会的进步,网络在国民经济和基础设施建设方面发挥着越来越重要的作用。为了保护网络免受恶意攻击,我们需要随时掌握网络的安全状态,并提供有效的措施来提升网络的安全性。
BPEL是Web服务组合的事实标准,利用flow和link提供了并发和同步的机制。BPEL流程中的不同线程可同时访问同一个共享变量,虽然isolated scope提供了并发情况下对共享变量的访问
三维模型的特征检测和特征描述是近年来计算机视觉领域研究的热点问题。特征检测是指基于一定的特征定义在三维模型的表面检测出一系列显著的特征点,这些特征点从直观或非直观
随着网络技术的快速发展,信息化的应用系统已经逐步进入现代生活中,人们越来越多地运用计算机和网络技术来提高办公效率,甚至在一些大中型企业中已经成为人们日常办公不可缺
粒子群优化算法(PSO)出现以来,在理论分析、收敛性能的提高、算法的应用等各个方面都已经出现了大量的研究。在PSO的运行过程中,需要迭代地对种群中的各个粒子进行适应度评价、
BSM技术目前已经成为各大企业IT系统管理发展的方向,它能够将IT系统管理与业务对象紧密的联系在一起并通过有效合理的管理来实现业务性能的最大化。BSM是基于传统系统和网络管
游戏引擎是游戏或一些交互式实时图像应用程序的核心组件,它为了简化游戏开发,将诸多游戏开发工具整合到一个开发环境中。这种介于硬件层与用户界面之间的游戏中间层的封装模式
语言知识库的建设在自然语言处理(Natural Language Processing,NLP)中起着重要的作用,它的规模与质量影响着语言应用软件的优劣性。现阶段,语言知识库的建设技术已经较为成熟。