基于契约式设计的Java编译器实现

基于契约式设计的Java编译器实现

论文摘要

基于契约式设计(Design By Contract,DBC)这一理论是由Betrand Meyer提出的。DBC技术的核心是利用断言使方法及类的行为受到契约的约束,因此,将DBC与高级语言相结合的方式成为DBC技术的发展趋势。将DBC技术与现有的高级语言相结合的现有已实现技术中,或多或少的存在着不足之处。同时,DBC与高级语言相结合的方式不尽相同也带来了对于环境的不同的要求,在结合方式上进行转变,为DBC与高级语言的结合寻觅新的途径已成为迫切的需要。VeriJava是由标准Java语言结合契约式设计方式而产生的新语言,这一语言将契约作为语言要素添加入Java语言中,对方法进行编译和运行时的检验,同时也通过类契约,不变量等契约要素,帮助开发人员在开发的过程中及时找到设计错误或协调沟通问题,促进交流与理解,检验与修正开发过程中所出现的各类设计错误等,使开发过程更为完善。本文通过实现一个基于VeriJava语法与语义检查,验证的编译器,试图通过对方法的先决条件,后置条件以及对类契约,不变量等契约要素的转换进行编译时与运行时验证,在逻辑上保证方法的正确性,

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 背景介绍
  • 1.2 国内外研究现状
  • 1.3 论文基本思想和成果
  • 1.4 论文结构
  • 第二章 基于契约式设计与高级语言
  • 2.1 概述
  • 2.2 DBC 与高级语言结合的已有研究成果
  • 2.3 DBC 与 Java 的结合
  • 2.4 本章小节
  • 第三章 VeriJava 语言
  • 3.1 概述
  • 3.2 VeriJava 设计思想
  • 3.3 VeriJava 语法规范
  • 第四章 编译器设计思想
  • 4.1 概述
  • 4.2 编译器核心设计
  • 4.3 编译器可扩展性设计
  • 4.4 编译器向下兼容性设计
  • 4.5 编译器易用性设计
  • 第五章 编译器实现
  • 5.1 概述
  • 5.2 编译器整体架构
  • 5.3 其他部分
  • 第六章 编译器扩展
  • 6.1 概述
  • 6.2 外部扩展
  • 6.3 内部扩展
  • 6.4 本章小结
  • 第七章 结论与未来展望
  • 参考文献
  • 致谢
  • 攻读学位期间发表的学术论文目录
  • 相关论文文献

    • [1].《Java程序设计》教材二次开发的多元化策略研究[J]. 电脑知识与技术 2019(32)
    • [2].Java中的正则表达式应用探讨[J]. 电脑知识与技术 2019(32)
    • [3].Java随机文件读写操作探讨[J]. 南方农机 2019(24)
    • [4].Java技术在图像处理中的应用探究[J]. 信息与电脑(理论版) 2019(24)
    • [5].基于专业认证的Java课程建设[J]. 计算机教育 2020(02)
    • [6].“Java程序设计”课程教学改革与作业批改系统的构建[J]. 教育教学论坛 2020(03)
    • [7].论如何在应用型本科高校培养Java全栈工程师[J]. 电脑与电信 2019(11)
    • [8].Java程序设计项目化教学的研究与实践[J]. 电脑知识与技术 2020(02)
    • [9].基于JAVA语言的异常处理探讨分析[J]. 自动化技术与应用 2020(02)
    • [10].Java程序设计立体化教材建设的思考[J]. 计算机产品与流通 2020(03)
    • [11].基于计算机软件开发的Java编程语言分析[J]. 信息与电脑(理论版) 2020(02)
    • [12].基于Java的购物网站设计与开发[J]. 农家参谋 2020(08)
    • [13].项目化教学在《Java程序设计》教学中的应用研究[J]. 皖南医学院学报 2020(01)
    • [14].基于Java的在线考试系统设计与实现[J]. 中国教育技术装备 2019(24)
    • [15].JAVA编程技术在计算机软件开发中的优势与应用[J]. 信息记录材料 2020(03)
    • [16].浅谈基于JAVA的俄罗斯方块游戏的设计与实现[J]. 农家参谋 2020(13)
    • [17].基于目标管理的Java面向对象程序设计在线教学[J]. 计算机教育 2020(08)
    • [18].混合学习在中职Java课程中的应用探讨[J]. 计算机产品与流通 2020(10)
    • [19].计算机软件Java编程特点及其技术分析[J]. 计算机产品与流通 2020(10)
    • [20].基于Java的企业进销存管理系统的设计与开发[J]. 信息通信 2020(09)
    • [21].浅析《Java程序设计》课程项目化[J]. 信息系统工程 2019(11)
    • [22].基于Java技术的数字图像处理系统的开发[J]. 电脑知识与技术 2019(28)
    • [23].基于Java语言的排课系统的设计与实现[J]. 科技风 2017(01)
    • [24].《Java程序设计》与《软件工程》综合教学改革初探[J]. 现代计算机(专业版) 2016(33)
    • [25].“项目+任务”教学法在高职《Java面向对象程序设计》教学中的应用——以佛山职业技术学院计算机应用技术专业为例[J]. 教育现代化 2016(37)
    • [26].基于Java试卷分析系统的设计与实现[J]. 无线互联科技 2016(23)
    • [27].基于JAVA的广播风暴短信预警系统设计[J]. 信息与电脑(理论版) 2016(16)
    • [28].基于工作过程的“Java系统开发”课程开发与研究[J]. 无线互联科技 2017(05)
    • [29].计算思维在Java课程教学改革中的应用[J]. 电脑知识与技术 2016(34)
    • [30].基于项目化教学的JAVA课程设计与探讨[J]. 办公自动化 2017(06)

    标签:;  ;  

    基于契约式设计的Java编译器实现
    下载Doc文档

    猜你喜欢