OO第三单元总结--根据JML写代码】的更多相关文章

一. JML语言 1. 理论基础 首先,JML不是JAVA的一部分,它是一群研究者为JAVA设计的扩展部分,但还没有得到官方的支持.因此,JAVA编译器并不支持JML,所以要想JML起作用,只能采用类似openJML这样的第三方来编译,将JML 规格编译为运行时检查的语句,即RAC code(runtime assertion checking).如果代码实现与其JML规格不一致,将引发运行时JML exception. JML遵从契约式设计范式(DBC),Design by contract是…
OO第三单元(地铁,JML)单元总结 这是我们OO课程的第二个单元,这个单元的主要目的是让我们熟悉并了解JML来是我们具有规格化编程架构的思想.这个单元的主题一开始并不明了,从第一次作业的路径到第二次作业的图再到第三次作业的地铁系统,需求一步步提升,整个架构也变得复杂.这三次作业为我们模拟了一个需求不断进化的过程,也考验了我们在规格之下的架构能力. 一.JML语言的理论基础及应用工具链 1. 理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种…
OO第三单元作业总结--JML 第三单元的主题是JML规格的学习,其中的三次作业也是围绕JML规格的实现所展开的(虽然感觉作业中最难的还是如何正确适用数据结构以及如何正确地对于时间复杂度进行优化). 关于JML语言 JML语言概述 JML是Java Modeling Language的缩写,意思是Java建模语言,是一种进行详细设计的符号语言. 使用JML语言的好处主要有以下几点: 能够描述类和方法的运行方式,从而使代码的编写过程更加契合面向对象思想: 可以更加高效地发现和修正程序中的bug 在…
OO第三单元个人总结 JML理论与基础与应用工具链 JML是什么? Java建模语言(JML)是一种行为接口规范语言,可用于指定Java模块的行为 .它结合了Eiffel的契约设计方法 和Larch 系列接口规范语言的基于模型的规范方法 ,以及细化演算的一些元素 .草稿 <Design by Contract with JML>(由Gary T.Leavens和Yoonsik Cheon撰写)解释了JML作为Java的契约式设计(DBC)语言的最基本用法. JML基础语法 原子表达式 \res…
OO第三单元小结 一.JML语言理论基础及工具链梳理 在本单元我们学习了JML语言的一些基础知识,能够让我们看懂简单的JML规格并写出对应代码, 主要用到的知识点有:   1.requires 该子句定义了方法的前置条件   2.\old(exp),表示执行相应方法前表达式exp的取值   3.assignable子句,列出方法修改的类成员属性.   4.ensure子句,定义了后置条件,如返回的结果或者该方法运行后的逻辑结果等等   5.\result表达式,表示方法返回的逻辑上的正确的结果…
OO第三单元--基于JML的社交网络总结 一.JML知识梳理 1)JML的语言基础以及基本语法 JML是用于java程序进行规格化设计的一种表示语言,是一种行为接口规格语言.其为严格的程序设计提供了一套行之有效的方法.通过JML以及其支持工具,不仅可以基于规格自动构造测试用例,并整合了SMT Solver等工具以静态方式来检查代码实现对规格满足情况.一般来说,其运用于以下两种情况:①开展规格化设计②针对已有的代码,书写其对应的规格,从而提高代码的可维护性. 基本语法: 关键词 含义 pure 纯…
title: 2020 OO 第三单元总结 date: 2020-05-21 10:10:06 tags: OO categories: 学习 第三单元终于结束了,这是我目前为止最惨的一单元,第十次作业强测20分,互测杀成狗--虽然都知道只关注分数没有什么意义,我更应该去体会的是通过JML学习对于程序设计理念的认知,但是--心真的很痛.下面就进入单元总结: 1. JML语言理论基础与工具链 1.1 JML语言是什么 参考课程组下发的<JML(Level 0)使用手册>,JML语言的定义如下:…
OO第三单元作业(JML)总结 目录 OO第三单元作业(JML)总结 JML语言知识梳理 使用jml的目的 jml注释结构 jml表达式 方法规格 类型规格 SMT Solver 部署JMLUnitNG与使用 三次作业架构设计梳理 第一次作业 第二次作业 第三次作业 三次作业中代码的bug及修复 规格撰写与理解的心得体会 JML语言知识梳理 使用jml的目的 开展规格化设计 针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性 jml注释结构 在我目前看来,jml其实就是一门被规定好格式…
OO第三单元--JML规格化设计 JML语言的理论基础以及应用工具链情况 理论基础 JML是对JAVA程序进行规格化设计的一种表示语言,是一种行为接口规格语言.JML整合了Java和JAVAdoc,并且引入了并要的形式化表达手段. 其方法规格核心包括:前置条件.后置条件和副作用约定.通过对方法的出入参数.执行结果以及可以修改的对象的属性/类的静态成员变量的限制,来保证方法的执行.书写规格时无需关系具体怎么做,只需关心调用方法后的结果.类型规格包括不变式约束和约束限制. JML语言的两个主要用法是…
[OO学习]OO第三单元作业总结 第三单元,我们学习了JML语言,用来进行形式化设计.本单元包括三次作业,通过给定的JML来实行了一个对路径的管理系统,最后完成了一个地铁系统,来管理不同的线路,求得关于价格.换乘.不满意度等最短路信息. 本文将介绍:JML语言理论基础.应用工具链和工具的使用方法:SMT Solver:JMLUnitNG自动生成测试用例:三次作业的架构设计:Bug查找策略:个人心得. JML JML(Java Modeling Language)是用于对Java程序进行规格化设计…