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

来源 :南京大学 | 被引量 : 0次 | 上传用户:myrost
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动智能设备和嵌入式控制器的广泛应用与普及,开发和设计上下文感知软件变成了日益迫切的需求。面向上下文编程(COP)方法在此背景下被提出,随后支持此类编程方法的编程语言也不断涌现。其中JCOP语言是一种较为典型的支持面向上下文编程的语言,在面向上下文编程方法的实践中发挥了重要的作用。然而,JCOP语言还存在如下主要问题:1)缺乏支持行为变体的组合定义能力,从而难以刻画一些由若干低层行为变化组合而成的高层行为变化;2)在多个行为变体组合激活时会出现行为变体重复编织的问题,从而导致不可预期的应用逻辑错误。为此,本文一方面从COP模型的角度提出了一个支持行为变体组合定义的COP扩展模型,并对JCOP语言进行了扩展实现;另一方面,提出了基于调用关系图适当注入监控语句的方法来避免行为变体组合激活中的重复编织问题。本文的主要贡献如下:1)提出了一个支持行为变体组合定义的COP扩展模型。在原有COP行为变体模型的基础上,提出了组合行为变体的概念,并给出了相应的组合行为层的激活、去活操作语义,从而较为方便地描述由低层行为变体组合而成的高层行为变体。2)提出一个支持组合行为变体的JCOP语言扩展实现。从语法和运行支撑两个方面扩展JCOP语言,增加了组合行为层定义语法并基于JastAdd实现了相应的编译器。另外,也实现了运行时刻的组合行为层激活和去活机制。3)提出了一种避免行为层组合激活时行为变体重复编织的处理方法。基于抽象语法树进行函数调用关系检测,从而判断两个行为变体对应的基本方法(base method)之间是否存在调用关系,并通过在有调用关系的行为变体对应语句中注入监控语句,来有效避免行为变体重复编织问题。4)基于上述改进的JCOP语言,在Lego火车控制原型系统的开发中进行了实践,初步验证了上述方法和技术的合理性与有效性。
其他文献
最近几年,移动设备正逐步地取代传统计算设备,在人们日常生活中扮演着愈加重要的角色。伴随着移动设备的快速增长,保证移动设备上应用的质量成为一个急需解决的问题。因此,针
互联网在当今社会已经是我们生活的一部分,有效的数据交换是互联网发挥其能力的基础需求。为了应对互联网中数据的愈发明显的异构特性,国际万维网组织(World Wide Web Consor