一种新型的支持多语言和运行时的AOP系统研究

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:furong99bb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
面向方面编程(Aspect Oriented Programming)是近年来新兴的一种编程思想。它把解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的调用。业务逻辑同特定领域问题的关系利用方面进行封装、维护以后,原本分散在在整个应用程序中的变动就可以很好的管理起来。面向方面编程,为开发者提供一种描述横切关注点的机制,并能够自动将横切的关注点织入到软件系统中,从而实现横切关注点的模块化。通过划分Aspect代码,横切关注点变得容易处理。开发者可以更改、插入或删除系统的Aspect,甚至重用系统的Aspect。作为其它编程思想的补充,面向方面的编程思想还在不断发展中,虽然当前各种面向方面语言和面向方面的系统都还存在着不足,但是面向方面编程思想的出现仍有可能改变整个软件开发的方式,使得程序员更完美实现“用例驱动”的方法开发软件。本文分析目前面向方面语言的发展现状,尤其是AspectJ语言——事实上的AOP标准。总结当前面向方面编程发展的一些不足之处,分析面向方面编程的发展方向,提出了一个支持多语言的运行时AOP系统。这个系统的实现是基于一个包含支持多语言的中间实现并能在整个程序执行期内对程序进行优化的编译器体系结构——低级虚拟机(Low Level Virtual Machine)。通过扩展低级虚拟机,把高级语言级的各种语义信息映射到中间实现级别,以一种比较通用的方式实现在运行时动态织入代码。同时为了支持多个AOP语言实现的重用,本系统设计了一个通用的XML模式记录语言级的AOP语义。接着,通过一个例子,本文展示了整个系统的运行流程。根据测试结果,分析扩充功能占用的时间,从量上评估实现AOP功能给整个编译器系统,尤其是动态编译系统带来的影响。最后,本文指明了目前系统需要完善的地方和进一步的发展方向。
其他文献
实用的网络体系结构都是层次结构,目前互联网使用的主流网络体系是TCP/IP。最初的TCP/IP协议栈本来是为了窄带文本数据而开发的,但是随着全球互联网的蓬勃发展,人们对网络的
随着网络的飞速发展,应用需求的不断增加,传统的C/S结构的网络不再能够完全满足人们的需要。在网络世界里越来越多的人需要互相交流,互相共享文件,共享信息资源,而C/S结构的网络并
会话初始化协议SIP(Session Initiation Protocol)是一种基于IP网络的多媒体通信信令控制协议,是下一代通信网络的核心协议之一。目前用于保证SIP通信安全的机制大部分都是从
随着网络以及通信技术的发展和普及,基于网络的应用越来越多,大量的信息网络化,网络给个人、公司和社会带来快捷便利的同时,安全问题也日益突出。目前应用于网络安全的技术主要有
随着全球经济一体化的深入发展,企业竞争环境日趋严峻。为提高企业核心竞争力,构建实时、高效的综合信息管理系统势在必行。本文以杭州市重大科技项目《基于XML技术的棉纺企
正直接危害人类健康的各类海洋污染是亟待解决的重要难题,开发能够实时对海洋环境做有效监测的系统是关键技术之一。通过合成孔径雷达(Synthetic Aperture Radar, SAR)这种现
随着计算机技术的飞速发展,人们对软件开发的速度和质量要求都有了很大提高。然而,传统的“手工作坊”式的软件开发状况没有得到根本改变,软件开发技术的发展远远落后于硬件技术
网格作为一项新兴的分布式高性能计算技术正在人类生活中发挥着越来越重要的作用。网格中的数据管理是其关键技术之一,它需要一个高效的副本定位模型来解决网格所处的广域网
软件agent技术是为了解决复杂、动态、分布式智能应用而提供的一种新的计算手段。移动agent是特殊的可以有效的节省网络资源的agent,随着分布式应用系统在规模、复杂程度、分
随着计算机技术的发展,Java作为一种跨平台、易开发的语言,越来越受欢迎。然而其相对较低的性能却是其更广泛运用的一大障碍。尤其是Java对精确异常的支持严重限制了JIT编译器