应用程序动态侧面支持框架的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:nobank
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
侧面分离系统功能性关注点与核心关注点,简化了软件维护,提高了软件复用。动态侧面能动态的将侧面代码编织到应用程序,使得应用程序无需重启即可改变行为,提高了应用程序的灵活性。由于C语言的众多底层特性,使得现有的动态侧面工具缺乏对C应用程序的支持。现有的动态侧面工具没有考虑到应用程序在并发系统中的特点,使得动态侧面的支持不能应用到并发操作系统中,而并发操作系统是当前操作系统的主流。随着软件可视化的需求,要求应用程序能够及时采用可视化的方法反映应用程序当前的行为,因此简单的侧面代码已经不能满足软件可视化的需求,而当前的动态侧面支持工具没有考虑支持复杂的侧面代码。 本文提出应用程序动态侧面支持框架,并在实际系统中实现了该框架。该框架包括侧面代码预处理器、侧面代码共享库、侧面代码加载器和增加的内核服务。侧面代码预处理器扩展了侧面代码语法,将侧面代码转换为等价的可编译代码;编译器将可编译代码编译为侧面代码共享库,侧面代码共享库中除了侧面代码外,还包括应用程序动态侧面编排器;侧面代码加载器将共享库加载至进程地址空间,并通过修改进程环境,使得进程调度时首先执行侧面代码编排。内核服务提供了传统操作系统中不能提供的进程间互操作功能。整个框架提供解决了C程序动态侧面支持、并发系统下的动态侧面支持以及复杂侧面代码支持这三个问题,提供了具有灵活性、可复用、代价小的应用程序动态侧面的解决方案。 本文首先介绍侧面程序设计,分析已有的侧面程序设计工具和动态侧面工具及其实现技术,确定技术路线。然后提出整个框架的设计与实现方案,并论述实现过程中用到的关键技术。最后对系统进行测试,并对进一步研究提出展望。
其他文献
多Agent自动协商技术已经在分布式计算,电子商务等领域中得到了广泛的使用,研究者提出了各种协商方法,这些方法主要分为三个类别:基于对策论的协商方法,启发式的协商方法和基于辩
随着互联网的高速发展和搜索引擎的出现,人们从互联网上获取信息比以往任何时候都变得快捷和高效。随着各种应用的丰富,越来越多的数据存在于后台数据库中,由服务器端程序自动生
本文对Linux内核动态侧面支持框架的设计与实现进行了探讨。本研究在总结已有研究成果的基础上,提出的一种新的动态侧面编排技术。新的编排技术将动态编排过程分为两个阶段:第
热部署是现今主流应用服务器的典型特性之一。然而,这些主流应用服务器在部署过程中将每个模块看作一个独立的应用。因此,当模块化应用仅仅对被依赖模块进行热部署更新时,原
软件质量作为软件工程中的一个重要课题,受到大量的关注和广泛的研究。目前保障软件质量的方法可分为测试和验证两大类。软件测试通过定义各种测试充分性,可以提高我们对被测软
互联网的异构性(Heterogeneity)和运行的不确定性使得基于互联网的分布式系统的设计和构建非常困难。近年来,我们见证的大规模的、成功的资源共享系统大都放弃了对“单一资源
天网 Ftp 资源搜索引擎的前身是天网千帆,它是一个基于Web的海量Ftp搜索引擎,以用户关键词和Ftp文件名匹配的方式来实现对Ftp文件的搜索,方便用户查找和下载互联网上的Ftp文件资
传感器节点的能量和功能有限,使用不同的路由协议将会对网络的能量消耗大小产生不同的影响,而设计一个能量高效、传输延迟低、容错性高、安全性好的路由协议又是非常有难度的事
随着电气、电子、计算机和信息技术的飞速发展,嵌入式技术越来越受到人们的关注,应用领域几乎遍及所有的电子产品:智能机器人,网络通信设备,军用设备,汽车导航,环境保护,智能仪器,安全
长期以来,人脸表情动画生成技术一直是计算机图形学的研究热点之一。由于脸部模型的复杂性、表情的多样性,生成具有实时性和真实感的动画是人们面临的严峻挑战,而如何创建一个既
学位