【技术实现步骤摘要】
本专利技术涉及面向上下文编程中行为变体模型及编程语言实现方法,特别是基于对象实例的行为变体模型,扩展了JCOP编译器与运行环境。
技术介绍
随着上下文在软件系统中发挥着越来越大的作用,开发和设计上下文敏感软件逐渐形成一种趋势。为了高效地进行上下文敏感软件的设计与开发,学者们提出了不同抽象级别的方案,其中既有软件体系架构级别,又有基于组件的设计。面向上下文编程(Context Oriented Programming,COP)方法为开发上下文敏感软件提供了语言级别的解决方案。随着应用场景的复杂化和对运行效率要求的提高,上下文敏感软件的开发中大量引入多线程编程,使得上下文触发的跨线程行为变化成为常态。一个典型的需求是,同一类型的多个实例在应对相同上下文时,需要作出不同的行为变化。COP方法使用行为变体(behavioral variation)来描述能替代或者改变软件基本行为的行为。而传统的COP语言往往扩展自面向对象语言,行为变体是以面向对象编程中的方法/函数体现,即行为变体以类为单位进行定义。此种处理方法,要求开发人员在定义行为变体时,将对应同一个上下文的行为变体定义在一处(如同用类封装相关方法)。也导致了程序在运行时刻,激活某个行为变体,同一个类型的多个实例的行为只能发生相同的改变。
技术实现思路
专利技术目的:为了解决该问题,要求扩展行为变体的定义方式,使得同类型的不同对象实例在相同的上下文环境中 ...
【技术保护点】
一种基于对象实例行为变体的JCOP扩展实现方法,其主要特征包括如下几个部分:1)基于对象实例的行为变体模型;2)实现该行为变体模型的用于扩展JCOP的语言机制;3)JCOP扩展语言的编译器和运行支撑环境。其中,所述基于对象实例的行为变体模型,用部分方法组表示某一上下文中的同一行为的多种可能变化;所述实现该行为变体模型的用于扩展JCOP的语言机制由两类语法设施组成;所述JCOP扩展语言的编译器和运行支撑环境,编译器采用JastAdd开发框架开发,重写抽象语法树节点达到编译目的;运行支撑环境引入对象级别行为层队列,使得同类实例间的执行过程互不干涉。
【技术特征摘要】
1.一种基于对象实例行为变体的JCOP扩展实现方法,其主要特征包括如下
几个部分:
1)基于对象实例的行为变体模型;
2)实现该行为变体模型的用于扩展JCOP的语言机制;
3)JCOP扩展语言的编译器和运行支撑环境。
其中,所述基于对象实例的行为变体模型,用部分方法组表示某一上下文中
的同一行为的多种可能变化;
所述实现该行为变体模型的用于扩展JCOP的语言机制由两类语法设施组
成;
所述JCOP扩展语言的编译器和运行支撑环境,编译器采用JastAdd开发框
架开发,重写抽象语法树节点达到编译目的;运行支撑环境引入对象级别行为层
队列,使...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。