JCOP语言的增强和改进研究与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:myrost
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动智能设备和嵌入式控制器的广泛应用与普及,开发和设计上下文感知软件变成了日益迫切的需求。面向上下文编程(COP)方法在此背景下被提出,随后支持此类编程方法的编程语言也不断涌现。其中JCOP语言是一种较为典型的支持面向上下文编程的语言,在面向上下文编程方法的实践中发挥了重要的作用。然而,JCOP语言还存在如下主要问题:1)缺乏支持行为变体的组合定义能力,从而难以刻画一些由若干低层行为变化组合而成的高层行为变化;2)在多个行为变体组合激活时会出现行为变体重复编织的问题,从而导致不可预期的应用逻辑错误。为此,本文一方面从COP模型的角度提出了一个支持行为变体组合定义的COP扩展模型,并对JCOP语言进行了扩展实现;另一方面,提出了基于调用关系图适当注入监控语句的方法来避免行为变体组合激活中的重复编织问题。本文的主要贡献如下:1)提出了一个支持行为变体组合定义的COP扩展模型。在原有COP行为变体模型的基础上,提出了组合行为变体的概念,并给出了相应的组合行为层的激活、去活操作语义,从而较为方便地描述由低层行为变体组合而成的高层行为变体。2)提出一个支持组合行为变体的JCOP语言扩展实现。从语法和运行支撑两个方面扩展JCOP语言,增加了组合行为层定义语法并基于JastAdd实现了相应的编译器。另外,也实现了运行时刻的组合行为层激活和去活机制。3)提出了一种避免行为层组合激活时行为变体重复编织的处理方法。基于抽象语法树进行函数调用关系检测,从而判断两个行为变体对应的基本方法(base method)之间是否存在调用关系,并通过在有调用关系的行为变体对应语句中注入监控语句,来有效避免行为变体重复编织问题。4)基于上述改进的JCOP语言,在Lego火车控制原型系统的开发中进行了实践,初步验证了上述方法和技术的合理性与有效性。
其他文献
本文依托国家自然科学基金项目(项目号:40202030),着重从矿产资源预测结果数据的三维重构方面入手,利用计算机图形学的相关算法,借鉴医学、游戏软件制作等领域中已经成熟了的可视
随着互联网的发展和网民数量的增加,网上电子商务市场也在不断扩大。伴随着电子商务的发展,网上的产品评论也越来越多。商家和网民都希望能有高效而准确的工具来处理这些产品评
最近几年,移动设备正逐步地取代传统计算设备,在人们日常生活中扮演着愈加重要的角色。伴随着移动设备的快速增长,保证移动设备上应用的质量成为一个急需解决的问题。因此,针
本文主要关注的问题是如何正确理解网页内容的真实语义并按语义之间的联系度量网页间的相关度。针对这一问题,作者提出了一种新型的信息检索模型,该模型的理论和应用包括:1)构建
随着信息技术在金融、交通、军事、生态监测、网络监测等领域的深入应用,需要计算机处理的数据类型和数据量与日俱增。作为一种新的数据类型,数据流在近些年得到了计算机界的广
开放、动态、多变的Internet环境要求运行其上的软件不仅具有较高的服务质量,而且需要更强的适应性在运行时刻保持相应的质量属性目标。 最近几年,在软件体系结构层次对软件
本文对数据流管理系统Argus中并行处理的性能优化进行了研究。文章指出,集中式的数据流处理系统已经不能满足规模同益增长的流数据的处理要求了,因此人们提出了并行数据流系统
新世纪信息技术和软件产业的一个显著的特征是计算机在网络环境中工作,依靠底层的通信链路交换信息.这就自然产生了越来越多的网络优化问题.这些问题通常是大规模的,需要快速求
学位
互联网在当今社会已经是我们生活的一部分,有效的数据交换是互联网发挥其能力的基础需求。为了应对互联网中数据的愈发明显的异构特性,国际万维网组织(World Wide Web Consor
基因芯片是生物学和生物医学中的一项革命,随着基因芯片技术的发展,产生了海量的基因表达的数据,而如何从海量基因表达数据中挖掘有意义的信息始终是一项巨大挑战.本文利用生