#软件验证 #verification #uppaal #自动机
- 2024-07-16
- 5000+字
叠甲
和Nuxmv一样,也是临时做作业,学了几天,有了一点点体会,如果表达不当或者有错误,万望读者指出🥹
同样的,写作的出发点,一同样是中文互联网的资料太少,而该工具其实很实用,所以写出来降低新使用者的成本;二是"沉淀"下自己的使用体会(互联网黑话就是不一样)。
UPPAAL简介
-
UPPAAL:
UPPAAL是一个用于建模、模拟和验证实时系统的集成环境。
它基于时序自动机理论,提供了易用的图形化界面,支持系统建模、属性规约、模型检查等功能。
官网:https://uppaal.org
手册/Reference:GUI Reference :: UPPAAL Documentation -
UPPAAL的主要特点包括:
- 提供直观的GUI界面
- 支持时间约束、同步通信等复杂机制
- 集成了模型检查器,可验证系统是否满足特定属性
- 提供仿真和调试功能,帮助理解系统行为
- 可扩展的框架,支持多种分析算法和工具
- 使用UPPAAL,开发人员可以构建时序自动机模型,并对其进行全面的形式化分析和验证,从而提高实时系统的可靠性和正确性。UPPAAL在嵌入式系统、协议设计、硬件电路等领域都有广泛应用。
安装 & 使用
在UPPAAL的官网里很容易找到下载链接,基于JVM,作者们实现了多平台的发布。
因为JRE环境要求是Java11及以上,所以我感觉直接安装【Includes Java】的版本比较方便。
运行还需要license,license 申请得去veriall.dk这个链接这里发邮件,研究性目的、学校邮箱、研究机构一般很快就有回复。

打开以后,GUI大概是这样,还挺漂亮的↓

我想到一个类比的方式来介绍这个项目目录的作用:
- 第一个【声明】文件,这里是一个全局作用域的声明和定义区。
- 下面这个【Template】以及Template里的子【声明】,是一个名为【Template】的状态机和该状态机局部所有的对象和声明。
- 可以类比为一个Java对象,以及他的成员变量
- 最后的【模型声明】类似C/Java里的main方法,就是启动项目、模拟项目前需要做的代码声明。

最低0.47元/天 解锁文章
130

被折叠的 条评论
为什么被折叠?



