【技术实现步骤摘要】
本专利技术涉及面向方面软件在实际应用中面临的关键问题的检测与处理领域,特别 是涉及一种基于契约的AOP应用程序中行为冲突问题的自动检查方法。
技术介绍
面向方面的程序设计(AOP,Aspect-OrientedProgramming)[1][2][3]方法把软件系 统的功能和非功能需求、平台特性等诸多不同的关注点相互独立,实现了更好的模块化。它 被认为是对面向对象技术的一种必要的补充,弥补了面向对象程序设计方法在跨越多个模 块行为上的不足。AOP通过引进Aspect将影响多个类的行为(横切关注点)封装到一个可 重用模块中,从而消除了 OOP引起的代码混乱和分散问题[4],降低了类与类之间的耦合度, 使软件更易于操作、维护、复用和扩展。一般来说,面向方面软件由两部分组成实现系统功 能的基础程序(base program)和实现横切关注点的程序(Aspect)。一个Aspect又包括两 部分切入点(pointcut)和通知(advice)。一个切入点(pointcut)是一组连接点(join point)的集合,而一个连接点是程序流中的一个特定的执行点。通知(adv ...
【技术保护点】
一种基于契约的AOP应用程序中行为冲突问题的自动检查方法,其特征在于包括有以下步骤:1)基于契约式设计思想,使用JavaAnnotation描述基础程序和方面代码的相关契约,主要涉及前置条件和后置条件,织入的Aspect中advice的类型为before advice或/和after advice;2)根据继承关系和Aspect的织入关系,抽取源代码中的契约,通过断言验证程序生成工具把已抽取的契约转换成断言验证程序;3)执行包含断言验证程序的目标文件,把织入某个Aspect之前的基础程序视为父类型,织入该Aspect之后的基础程序视为子类型,如果父类型和子类型之间满足行为子 ...
【技术特征摘要】
一种基于契约的AOP应用程序中行为冲突问题的自动检查方法,其特征在于包括有以下步骤1)基于契约式设计思想,使用JavaAnnotation描述基础程序和方面代码的相关契约,主要涉及前置条件和后置条件,织入的Aspect中advice的类型为before advice或/和after advice;2)根据继承关系和Aspect的织入关系,抽取源代码中的契约,通过断言验证程序生成工具把已抽取的契约转换成断言验证程序;3)执行包含断言验证程序的目标文件,把织入某个Aspect之前的基础程序视为父类型,织入该Aspect之后的基础程序视为子类型,如果父类型和子类型之间满足行为子类型的条件,就可以保证织入Aspect后程序行为的正确性,从而在程序运行时实现行为冲突的自动检测。2.按权利要求1所述的基于契约的AOP应用程序中行为冲突问题的自动检查方法,其 特征在于所述的行为子类型的条件是前置条件变弱,后置条件变强。3.按权利要...
【专利技术属性】
技术研发人员:何成万,李征,胡宏银,姚峰,余秋惠,张立军,张慧,
申请(专利权)人:武汉工程大学,
类型:发明
国别省市:83[中国|武汉]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。