摘要: 总结本单元三次作业架构 本单元需要在理解UML类图、顺序图、状态图的各种元素以及元素之间关系的基础上解析输入的UML图,构建一个图结构,对输入的指令进行解析并输出查询结果。 第一次作业 第一次作业的架构如下图所示,我对UmlClass、UmlInterface、UmlAttribute、UmlOpe 阅读全文
posted @ 2020-06-15 23:17 Luocx 阅读(314) 评论(1) 推荐(0) 编辑
摘要: JML单元 1.梳理JML语言的理论基础 概述 Java建模语言(Java Modeling Language,JML)是一种进行详细设计的符号语言,使人们用一种全新的方式来看待Java的类和方法。JML是一种用于Java模块的行为接口规格语言 。JML提供了用于正式描述Java模块行为的语义,从而 阅读全文
posted @ 2020-05-22 22:12 Luocx 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 设计策略 第一次 架构模式采用生产者-消费者模式,输入线程作为生产者,电梯作为消费者,共享对象为由一个自定义的Floor对象组成的数组构成。Controller类只起告知电梯线程输入结束的作用。 整体上采用LOOK算法的调度策略,由于第一次作业的电梯没有容量限制,所以可以采取尽可能把乘客关在电梯里的 阅读全文
posted @ 2020-04-17 21:42 Luocx 阅读(127) 评论(0) 推荐(0) 编辑
摘要: OO第一单元作业小结 总体思路 因为java正则表达式在实现时利用的NFA(不确定有穷自动机),而NFA会占用大量的计算能力,稍有不慎就会爆栈(特别是遇到".*")。所以本单元作业舍弃了使用java自带的正则表达式,而是利用编译原理的设计思想,手动写DFA(确定有穷自动机)。但是,在使用编译原理的设 阅读全文
posted @ 2020-03-19 21:37 Luocx 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一.梳理JML的语言基础和应用工具链情况。 (1)JML语言理论基础。 第三单元的任务主要是基于JML规格实现某些类中的某些方法,因此,读懂JML就成了完成此次作业的第一步。现对本单元比较常用的JML表达式做一些梳理。 语句部分: @ ensures (\exists int i; 0 <= i & 阅读全文
posted @ 2019-05-22 21:12 Luocx 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 总结性博客作业 第一次作业 (1)从多线程的协同和同步控制方面,分析和总结自己三次作业的设计策略。 第一次作业为单电梯傻瓜调度,可以采用生产者——消费者模型,是一个有一个生产者(标准输入电梯请求),一个消费者(电梯),中间的托盘共享数据为请求队列的模型。由于电梯没有容量限制,因此生产者生产的请求可以 阅读全文
posted @ 2019-04-23 11:44 Luocx 阅读(183) 评论(0) 推荐(0) 编辑
摘要: OO第一单元作业小结 在本次博客的写作中,我运用IntelliJ旗舰版的Diagrams功能绘制类图,用MetricsReloaded插件进行代码复杂度分析。 (1)基于度量来分析自己的程序结构 第一次作业 第一次作业的流程图如下: 第一次作业的结构比较混乱,因为较少接触面向对象语言的缘故,所以程序 阅读全文
posted @ 2019-03-27 14:48 Luocx 阅读(148) 评论(0) 推荐(0) 编辑