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

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

论文摘要

面向方面程序设计(Aspect-Oriented Programming,AOP)是一种新的程序方法学,代表程序方法学的发展趋势。面向方面程序设计减少由于软件项目重建而带来的代码重构,大大提高软件系统的模块化和可重用性。作为一种新的程序方法学,面向方面程序设计的应用和研究发展十分迅速。由于面向方面语言(Aspect-Oriented Language,AOL)的不知觉性和多量化特点,面向方面程序设计更容易引起行为干扰问题,使得面向方面程序的程序验证和模块推理比传统程序方法学复杂的多。当程序员实现若干个方面,必须确保每个方面与基本系统不产生行为干扰问题;如果多个方面横切基本系统的同一个切入点,还要确保多个方面之间不产生行为干扰问题,面向方面程序的程序验证和模块推理困难严重影响面向方面应用的发展前景。传统形式逻辑的语义模型与面向方面程序的非对称行为模型存在失配,使用传统的形式逻辑进行面向方面程序的形式化验证和模块推理十分困难。本研究提出一种具有非对称行为模型的新时态逻辑——开放时态逻辑(Open TemporalLogic,OTL),基于开放时态逻辑可以有效的解决面向方面程序的形式化验证和模块推理问题,本研究的主要工作与贡献包括:(1)定义开放时态逻辑的语法和语义。开放时态逻辑引入新的路径算子,描述系统的内部路径和外部路径;引入新的时态算子,描述一些系统状态在外部动作影响下的某种不变性。开放时态逻辑的语义模型是具有非对称性行为模型的开放系统,适合描述面向方面程序的非对称行为模型。(2)提出基于开放时态逻辑进行面向方面程序的形式化规约和验证。方面干扰问题与并发程序的并发进程干扰问题既存在相似性,也存在差异,本研究参考并发程序的规约和验证方法,引入可横切依赖条件约束执行过程中的可能方面横切。本研究的程序规约包括三个条件:前置条件、可横切依赖条件和后置条件。基于本研究的程序规约建立一个证明系统进行面向方面程序的形式化验证,并证明证明系统的有效性。(3)提出面向方面程序的模块约束和模块推理方法。根据面向方面程序的行为特点,研究面向方面程序的模块化内涵。与本研究的程序规约类似,本研究的模块规约也由三个条件组成:前置条件、可横切依赖条件和后置条件。基于本研究的模块规约定义不同类型的模块约束,支持面向方面程序的模块推理和模块组合。本研究定义了四种模块约束:可横切不变性、非横切不变性、可横切正确性和非横切正确性,不同的模块约束支持不同的模块可靠性需求。(4)提出四种横切范式。应用本研究的形式化验证和模块推理方法,解决横切同一个切入点的一组方面的行为干扰问题。横切范式基于不同类型的方面模块约束和组合约束,确保横切同一个切入点的一组方面彼此之间不产生行为干扰。本研究定义四种类型的横切范式:横切不变性范式、非横切不变性范式、横切正确性范式和非横切正确性范式。

论文目录

  • 致谢
  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 研究背景
  • 1.1.1 面向方面方法学的兴起
  • 1.1.2 方面干扰问题的阴影
  • 1.1.3 软件工程和形式化方法
  • 1.2 研究动机和研究意义
  • 1.2.1 研究动机
  • 1.2.2 研究意义
  • 1.3 研究内容
  • 1.3.1 研究基础
  • 1.3.2 创新和特色
  • 1.3.3 研究约束
  • 1.4 文章结构
  • 第2章 面向方面方法学研究
  • 2.1 面向方面方法学的哲学基础
  • 2.1.1 传统程序方法学的主客观认知论
  • 2.1.2 康德的认识论
  • 2.1.3 Dooyeweerd的认知观和方面哲学
  • 2.2 面向方面语言研究
  • 2.2.1 基本概念和结构
  • 2.2.2 多量化和不知觉性
  • 2.2.3 Aspect J
  • 2.3 面向方面程序设计研究
  • 2.3.1 设计过程
  • 2.3.2 程序行为的非对称性
  • 2.3.3 方面行为分类
  • 2.3.4 方面干扰例子
  • 2.4 本章小结
  • 第3章 开放时态逻辑和面向方面程序形式化规约
  • 3.1 现有时态逻辑研究
  • 3.1.1 线性时态逻辑
  • 3.1.2 计算树逻辑
  • 3.1.3 现有时态逻辑分析
  • 3.2 开放时态逻辑
  • 3.2.1 开放时态逻辑语法
  • 3.2.2 开放时态逻辑的非对称行为模型
  • 3.3 现有程序规约研究
  • 3.3.1 Hoare三元组
  • 3.3.2 信赖条件和保证条件
  • 3.3.3 假设规约和保证规约
  • 3.4 基于开放时态逻辑的面向方面程序规约
  • 3.4.1 可横切依赖条件
  • 3.4.2 三条件的面向方面程序规约
  • 3.4.3 例子
  • 3.5 本章小结
  • 第4章 基于开放时态逻辑的面向方面程序形式化验证
  • 4.1 现有程序验证方法研究
  • 4.1.1 模型检查
  • 4.1.2 程序证明
  • 4.1.3 顺序程序验证
  • 4.1.4 并发程序验证
  • 4.1.5 现有的面向方面程序验证方法
  • 4.2 基于Dijkstra顺序命令语言的核心语言
  • 4.2.1 核心语言语法
  • 4.2.2 核心语言操作语义
  • 4.2.3 核心语言计算模型
  • 4.3 基于核心语言的证明系统
  • 4.3.1 赋值公理
  • 4.3.2 蕴含规则
  • 4.3.3 顺序规则
  • 4.3.4 横切规则
  • 4.3.5 条件规则
  • 4.3.6 循环规则
  • 4.3.7 有效性证明
  • 4.4 本章小结
  • 第5章 基于开放时态逻辑的面向方面程序模块推理
  • 5.1 程序模块化内涵研究
  • 5.1.1 传统程序方法学的模块化
  • 5.1.2 面向方面程序的模块化内涵
  • 5.2 基于开放时态逻辑的模块规约
  • 5.3 现有的面向方面程序模块推理研究
  • 5.3.1 无害通知
  • 5.3.2 现有的方面正确性概念
  • 5.3.3 行为子类型和契约式设计
  • 5.4 基于开放时态逻辑的面向方面程序模块推理
  • 5.4.1 可横切不变性
  • 5.4.2 非横切不变性
  • 5.4.3 可横切正确性
  • 5.4.4 非横切正确性
  • 5.5 本章小结
  • 第6章 横切范式
  • 6.1 横切不变性范式
  • 6.1.1 问题提出
  • 6.1.2 直接判定方法
  • 6.2 非横切不变性范式
  • 6.2.1 问题提出
  • 6.2.2 直接判定方法
  • 6.3 横切正确性范式
  • 6.3.1 问题提出
  • 6.3.2 增量式判定方法
  • 6.4 非横切正确性范式
  • 6.4.1 问题提出
  • 6.4.2 增量式判定方法
  • 6.5 本章小结
  • 第7章 总结及其展望
  • 7.1 研究工作总结
  • 7.2 未来工作展望
  • 参考文献
  • 攻读博士学位期间主要的研究成果
  • 个人简介
  • 相关论文文献

    • [1].英政府支持模块堆开发和部署[J]. 国外核新闻 2020(07)
    • [2].装配式模块建筑的研究与实践[J]. 城市住宅 2018(10)
    • [3].模块育种的理论与方法[J]. 天津农学院学报 2017(03)
    • [4].高校构建以居家养老为核心的多模块数字化服务实训平台及其实现路径研究——以东北师范大学人文学院为例[J]. 市场周刊 2020(02)
    • [5].车用控制系统模型参考模块自动更新方法应用[J]. 重庆交通大学学报(自然科学版) 2020(06)
    • [6].就地模块的设计及工程应用[J]. 电气技术 2020(09)
    • [7].大学生社团综合管理平台报名模块的设计[J]. 电脑知识与技术 2017(23)
    • [8].从“化学与生活”的模块定位看课程目标和教学安排[J]. 中学化学教学参考 2011(10)
    • [9].运用“六模块”,引领教师专业成长[J]. 小学教学研究 2012(23)
    • [10].小学数学“六模块”建构式课堂的调查与思考[J]. 中国校外教育 2012(28)
    • [11].洋思经验在六模块课堂中的有效运用[J]. 小学科学(教师论坛) 2012(08)
    • [12].“‘六模块’建构式课堂”中质疑模块初探[J]. 新课程导学 2011(32)
    • [13].LEA-5T:精确授时GPS模块[J]. 世界电子元器件 2008(05)
    • [14].天生的道德模块(下)[J]. 大众心理学 2019(08)
    • [15].关于心理模块的工作原理初探[J]. 牡丹江大学学报 2014(09)
    • [16].构建模块图[J]. 软件 2008(07)
    • [17].浅析宝骏汽车模块编程与配置[J]. 内燃机与配件 2019(24)
    • [18].面向5G的光模块技术应用分析[J]. 中国新通信 2020(11)
    • [19].校企共同开发肝性脑病虚拟仿真实验模块的探索[J]. 佛山科学技术学院学报(自然科学版) 2020(05)
    • [20].砼模块砌体用于检查井关键技术研究[J]. 公路与汽运 2015(06)
    • [21].混合模块及其应用[J]. 电气传动 2016(04)
    • [22].产学研协同创新视角下的模块商嵌入模式研究[J]. 科技管理研究 2016(16)
    • [23].核电站机械模块制造设计要求探究[J]. 产业与科技论坛 2015(08)
    • [24].在轨维护模块更换适配器的研制[J]. 机械设计 2015(10)
    • [25].对“六模块”建构式课堂教学的新认识[J]. 中学课程辅导(江苏教师) 2011(04)
    • [26].行人保护下腿碰撞器模块分析[J]. 汽车工程师 2010(09)
    • [27].模块营销与我国企业自主创新能力提升的路径[J]. 山东经济 2008(03)
    • [28].现代服务业发展的模块论及对我国的启示[J]. 软科学 2008(08)
    • [29].1+N宜居综合模块未来适应性研究[J]. 住宅与房地产 2020(12)
    • [30].移动之家[J]. 新建筑 2019(S1)

    标签:;  ;  ;  ;  ;  

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

    猜你喜欢