基于构件化软件的动态演化研究与应用

来源 :广东工业大学 | 被引量 : 0次 | 上传用户:zihaocn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于用户需求和运行环境会不断的变化,软件系统在运行过程要不断地更新,这导致了软件演化性的不断增强,因而演化性也成为了软件的本质属性。目前软件演化主要分为两类:静态演化和动态演化。传统的静态演化的主要做法是根据用户新的需求,开发新的功能模块或更新已存在的功能模块,编译后生成新的应用程序,然后再部署更新后的系统。然而,对于某些领域的软件系统来说,它要求以7*24小时不间断地工作,如空中交通管制系统、金融交易系统、网络服务系统等,如果以静态演化的方式来更新系统,将会带来巨大的损失,这就要求软件具有动态更新的能力。正是由于动态演化具有不间断提供服务的优点。目前已成为软件工程研究的热点。   由于基于构件的软件开发提高了软件的可重用性,缩短了软件的开发周期,减低了软件的开发成本,提高了软件的质量和软件的互操作性,因而被越来越多的人所接受,同时也被认为是一种具有很好前景的开发技术。目前,基于构件的软件开发已经软件开发的主流,而基于构件开发的软件能够更好的支持软件的动态演化。使用传统语言(如C语言)开发的软件,由于其各功能模块是紧密耦合的,很难对功能模块进行动态演化,通常演化的粒度是整个应用程序。在面向对象的开发技术出现之后,由于其具有良好的封装性,不仅提高了软件的复用性,也为软件演化提供了良好的软件结构,但是其缺少对动态演化的支持和管理机制,因而也难于实现。而基于构件化的软件不仅具有良好的、支持动态演化的结构,而且构件运行的支撑平台可以对构件的生命周期进行管理,增强构件演化的灵活性和对构件动态演化进行有效管理。   本文首先对构件技术和软件动态演化技术进行了研究,对基于过程、面向对象和基于构件系统的动态演化进行了分析和研究。然后介绍了支持动态演化的类装载机制,Java反射机制以及动态演化过程中要解决的主要问题。本文根据EJB构件的生命周期的不同状态,给出了构件的动态演化方案(策略)。保证了处于不同生命周期状态的构件的演化工作能够正确、安全地进行,即不会导致构件状态的丢失和系统的不一致性。本文还给出了构件的动态演化框架,该框架的设计采用集中式管理方式,方便对演化过程的整体控制和管理。最后将软件动态演化技术和构件动态演化方案应用到教育采购系统中,实现对采购系统中的业务构件(EJB构件)进行动态演化,并通过一个权限管理中的角色管理构件(无状态会话Bean构件)为例来验证构件演化方案的可行性。
其他文献
智能视频监控融合了计算机视觉、图像处理、模式识别、人工智能等多个学科的知识,是计算机视觉领域一个新兴的应用方向和备受关注的前沿课题。智能视频监控在不需要人为干预
随着云计算与大数据技术的迅速发展和应用,海量数据的存储和管理问题成为人们关注的焦点,对数据存储的灵活性、可扩展性以及并发性等都提出了更高的要求。众多的互联网应用使
视频行为识别(Behavior recognition,BR)是指依据运动目标的视频,提取目标的行为特征信息,建立行为特征信息与高层行为语义之间的函数映射,实现视频行为识别,是多媒体信息高级语义
人脸表情及手势在人们的交流中有重要的作用,在相关的心理学研究中表明面部表情包含的情感信息超过了人们声音包含的情感信息。计算机实现自动人脸表情识别对自然化人机交互
虚拟专用网是一种构建于实际物理网络基础设施之上的专用数据通信网络,具有一定的安全性和服务质量保证。MPLS VPN是一种无连接的、基于MPLS技术的IP VPN。QoS是由网络体系结
软件过程裁剪是软件工程中一项重要的研究内容。其目的是为了解决由于对标准开发流程,如:统一过程(Rational Unified Process,RUP)等缺乏正确的理解而造成的“资源过载(Resource
自然图象抠图与合成是实现数字图象局部内容替换的图象处理技术。它能够突破实际场景的限制,把自然图象中任意对象进行组合,构成一幅新的图象。目前该技术在照片处理、影视制
石油和天然气是不可再生资源,对我们的生活十分重要。地球物理勘探的一个重要课题就是如何处理地震数据,而地震数据处理软件的发展直接制约或促进到地震勘探技术的发展。长期
车载自组织网络具有车辆节点移动速度快的特性并且受环境的影响明显:在城市场景中,障碍物的存在造成车辆节点间互相隐藏;在高速公路场景中,车辆节点的高移动性造成车载网络拓
随着电子商务系统建设的日趋壮大,应用安全控制成为该系统中最为重要的一部分,主要负责用户身份验证,用户行为控制,系统资源安全保护以及日志管理记录,是系统的一大核心模块。然而,目前对系统的安全性研究大多集中在网络安全、主机安全、数据安全以及病毒防治等方面,而对业务系统应用层安全的设计和实现却鲜有突破;传统的OOP设计也使得业务模块和安全模块之间的耦合性越来越高,这种现状使得业务系统的设计和开发变得越来