第三单元总结 一、JML JML的语法课上讲的很清楚,我就谈谈自己阅读JML规格的体会。 requires和ensures成对出现,可以看作对应一个if块。requires就是if块的条件,ensures就是这个if块将要实现的功能。 单就阅读JML规格而言,体验不是很好,因为这个语言非常严谨,总是 ...
分类:
其他好文 时间:
2020-05-22 16:57:10
阅读次数:
43
OO第三单元——基于JML的社交网络总结 一、JML知识梳理 1)JML的语言基础以及基本语法 JML是用于java程序进行规格化设计的一种表示语言,是一种行为接口规格语言。其为严格的程序设计提供了一套行之有效的方法。通过JML以及其支持工具,不仅可以基于规格自动构造测试用例,并整合了SMT Sol ...
分类:
其他好文 时间:
2020-05-22 13:03:22
阅读次数:
46
BUAA OO Unit3 Summary——万物即可形式化 一. JML 语言的 理论基础 JML是对Java程序进行规格化设计的一种表示语言。通过规格化描述,精确地描述了代码的功能,并且为测试设计提供了严密的依据。尤其在多人协同开发的时候,相比可能带有内在模糊性的自然语言描述,JML能过更清晰地 ...
分类:
其他好文 时间:
2020-05-22 12:43:52
阅读次数:
55
A require 和 import比较 | | 出现时间 | 加载机制 | 输出 | 用法 | 特点 | | | | | | | | | require | 2009 | 运行时加载 | 浅拷贝 | 见下 | 社区方案,提供了服务器/浏览器的模块加载方案。非语言层面的标准。只能在运行时确定模块的依 ...
分类:
其他好文 时间:
2020-05-22 11:18:12
阅读次数:
57
第三单元我们对JML进行了学习,并加深了对形式化设计的理解。本单元通过给定的JML来实现了一个人际关系网,最后实现了一个人际关系管理网络,表示了人与人之间的关系,人所在群组,人与人之间的借贷关系,以及离散数学中的连通,强连通,最短通路等关系。 一、JML理论基础 JML是对java程序进行规格化设计 ...
分类:
其他好文 时间:
2020-05-22 11:17:54
阅读次数:
53
[TOC] Part 1 JML 规格(specification) 规格既是一种描述,也是一种契约。一方面,规格描述了一个复杂的、具体的代码实现的行为逻辑。比如,使用 的用户并不需要知道该类解决哈希冲撞的具体方法,也不需要知道这个类会不会使用红黑树。这极大地方便了使用者。另一方面,规格是调用者和被 ...
分类:
其他好文 时间:
2020-05-21 21:10:01
阅读次数:
59
OO_Unit3——JML契约式编程 本单元任务的特点是,没有前两单元那样对程序进行功能性描述,而是将程序的所需要实现的方法框架提供给我们,配以JML规格形式化描述。我们所需要的做的是就是根据规格中的前置条件、后置条件和副作用等描述信息,理解方法的功能,并个性化的选取合适的容器以及合适的算法,在有限 ...
分类:
其他好文 时间:
2020-05-21 19:21:45
阅读次数:
48
一、梳理JML语言的理论基础、应用工具链情况 理论基础 定义: JML是用于对Java程序进行规格化设计的一种表示语言 JML基础 关键字解释举例 \result 方法执行后的返回值 \result = p1.getId() == p2.getId(); \old(expr) 相应方法执行前的取值 ...
分类:
其他好文 时间:
2020-05-21 16:20:01
阅读次数:
52
P1 JML语言理论基础 JML详细基础教程:https://blog.csdn.net/weixin_41412192/article/details/89527142 + 原子表达式 :表示非void类型方法返回结果 :表示相应方法执行前expr的取值,换言之,直接引用expr均表示方法执行完后 ...
分类:
其他好文 时间:
2020-05-21 16:18:03
阅读次数:
43
OO第三单元总结 规格JML和社交关系系统 一、JML语言概况 1.1 理论基础 JML是一种形式化面向JAVA的行为接口规格语言 作用 1. 开展规格化设计与测试。将逻辑严格的规格交给代码实现人员。 2. 针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性。 JML语法 JML表达式 \ ...
分类:
其他好文 时间:
2020-05-21 09:23:52
阅读次数:
63