发明名称 |
一种基于契约的AOP应用程序中行为冲突问题的自动检查方法 |
摘要 |
本发明涉及一种基于契约的AOP应用程序中行为冲突问题的自动检查方法,包括有以下步骤:1)基于契约式设计思想,使用Java Annotation描述基础程序和方面代码的相关契约;2)抽取源代码中的契约,通过断言验证程序生成工具把已抽取的契约转换成断言验证程序;3)执行包含断言验证程序的目标文件,从而在程序运行时实现行为冲突的自动检测。本发明的有益效果在于:可以在程序运行阶段实现Aspect组合中行为冲突的自动检测,为Aspect的安全组合提供了保障,有利于构建高可信的面向方面软件。 |
申请公布号 |
CN101957792A |
申请公布日期 |
2011.01.26 |
申请号 |
CN201010262900.5 |
申请日期 |
2010.08.26 |
申请人 |
武汉工程大学 |
发明人 |
何成万;李征;胡宏银;姚峰;余秋惠;张立军;张慧 |
分类号 |
G06F11/36(2006.01)I |
主分类号 |
G06F11/36(2006.01)I |
代理机构 |
湖北武汉永嘉专利代理有限公司 42102 |
代理人 |
崔友明 |
主权项 |
一种基于契约的AOP应用程序中行为冲突问题的自动检查方法,其特征在于包括有以下步骤:1)基于契约式设计思想,使用JavaAnnotation描述基础程序和方面代码的相关契约,主要涉及前置条件和后置条件,织入的Aspect中advice的类型为before advice或/和after advice;2)根据继承关系和Aspect的织入关系,抽取源代码中的契约,通过断言验证程序生成工具把已抽取的契约转换成断言验证程序;3)执行包含断言验证程序的目标文件,把织入某个Aspect之前的基础程序视为父类型,织入该Aspect之后的基础程序视为子类型,如果父类型和子类型之间满足行为子类型的条件,就可以保证织入Aspect后程序行为的正确性,从而在程序运行时实现行为冲突的自动检测。 |
地址 |
430074 湖北省武汉市洪山区雄楚大街693号 |