基于开放时态逻辑的面向方面程序形式化验证和模块推理研究

来源 :浙江大学 | 被引量 : 0次 | 上传用户:zhang16432780
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
面向方面程序设计(Aspect-Oriented Programming,AOP)是一种新的程序方法学,代表程序方法学的发展趋势。面向方面程序设计减少由于软件项目重建而带来的代码重构,大大提高软件系统的模块化和可重用性。作为一种新的程序方法学,面向方面程序设计的应用和研究发展十分迅速。由于面向方面语言(Aspect-Oriented Language,AOL)的不知觉性和多量化特点,面向方面程序设计更容易引起行为干扰问题,使得面向方面程序的程序验证和模块推理比传统程序方法学复杂的多。当程序员实现若干个方面,必须确保每个方面与基本系统不产生行为干扰问题;如果多个方面横切基本系统的同一个切入点,还要确保多个方面之间不产生行为干扰问题,面向方面程序的程序验证和模块推理困难严重影响面向方面应用的发展前景。传统形式逻辑的语义模型与面向方面程序的非对称行为模型存在失配,使用传统的形式逻辑进行面向方面程序的形式化验证和模块推理十分困难。本研究提出一种具有非对称行为模型的新时态逻辑——开放时态逻辑(Open TemporalLogic,OTL),基于开放时态逻辑可以有效的解决面向方面程序的形式化验证和模块推理问题,本研究的主要工作与贡献包括:(1)定义开放时态逻辑的语法和语义。开放时态逻辑引入新的路径算子,描述系统的内部路径和外部路径;引入新的时态算子,描述一些系统状态在外部动作影响下的某种不变性。开放时态逻辑的语义模型是具有非对称性行为模型的开放系统,适合描述面向方面程序的非对称行为模型。(2)提出基于开放时态逻辑进行面向方面程序的形式化规约和验证。方面干扰问题与并发程序的并发进程干扰问题既存在相似性,也存在差异,本研究参考并发程序的规约和验证方法,引入可横切依赖条件约束执行过程中的可能方面横切。本研究的程序规约包括三个条件:前置条件、可横切依赖条件和后置条件。基于本研究的程序规约建立一个证明系统进行面向方面程序的形式化验证,并证明证明系统的有效性。(3)提出面向方面程序的模块约束和模块推理方法。根据面向方面程序的行为特点,研究面向方面程序的模块化内涵。与本研究的程序规约类似,本研究的模块规约也由三个条件组成:前置条件、可横切依赖条件和后置条件。基于本研究的模块规约定义不同类型的模块约束,支持面向方面程序的模块推理和模块组合。本研究定义了四种模块约束:可横切不变性、非横切不变性、可横切正确性和非横切正确性,不同的模块约束支持不同的模块可靠性需求。(4)提出四种横切范式。应用本研究的形式化验证和模块推理方法,解决横切同一个切入点的一组方面的行为干扰问题。横切范式基于不同类型的方面模块约束和组合约束,确保横切同一个切入点的一组方面彼此之间不产生行为干扰。本研究定义四种类型的横切范式:横切不变性范式、非横切不变性范式、横切正确性范式和非横切正确性范式。
其他文献
当今世界科技不断进步,经济结构不断调整,新兴产业不断出现,但食品业依然是永恒不衰的常青产业,食品贸易在世界经济贸易活动中占有重要地位,它与各国人民的生活息息相关。随
9月11日,浙江温州林先生再次通过中国质量万里行追问"绿森商城"称,"绿森商城茅台酒订单退款的回复已经一个月了,能否有个准确时间?"林先生8月10日通过绿森商城花费26798元购
晚清女子教育是伴随着西学东渐和社会巨大变革的产物,在中国封建专制统治风雨飘摇的19世纪末,中国传统女学所宣扬的男尊女卑和由此派生出来的种种腐朽观念,受到了前所未有的