【形式化方法:VDM++系列】2.VDMTools环境的搭建
接前文:http://www.cnblogs.com/Kassadin/p/3975853.html
上次讲了软件需求分析的演化过程,本次进入正题——VDM开发环境的搭建
(自从发现能打游戏以来,居然有将近1个月没有写博客了!真是越来越颓废了。。)
其实VDM++已经学习了很多,近几天应该会逐渐更新。
1.VDM开发环境介绍
需要使用的环境主要有2个:(1)VDMTools (2)Overture Tool
官方网站:【VDMTools】http://www.vdmtools.jp/en/
【Overture】http://overturetool.org/languages/
2.安装VDMTools
(1)下载VDMTools首先需要注册账号
(2)账号注册完成后会出现download按钮,点击可以下载
(3)下载完成后,点击安装,一直下一步即可。
(4)安装完成后,如下图所示:

VDMTools的主要功能是对VDM代码进行验证和测试,不能用于编写代码
3.安装Overture Tool
(1)由于Overture Tool是基于Eclipse的,所以运行Overture必须先安装JRE【否则无法运行Eclipse,安装过程略】
(2)在Overture官网下载压缩包
(3)解压,运行Overture.exe即可(其它平台类似)
(4)运行效果如下图:

Overture Tool是VDM++的一个集成开发环境,支持代码编写,代码测试,回归测试,测试分析等一系列功能。主要用于代码编写!
至此,VDM开发环境搭建完成。
4.VDMTools第一步:Hello World程序
安装完了开发环境,想必大家都已经跃跃欲试了,这个VDMTools究竟怎么用呢!?本部分讲解如何使用VDMTools运行第一个程序。
(1)进入VDMTools,点击Interpreter按钮,或者从windows菜单中选择interpreter,进入VDM++解释器。这是VDM++语言的交互式运行环境,类似于python的交互模式,ruby的irb;在该解释器中输入VDM++命令,即可交互式的显示出命令的执行结果,非常适合学习。

(2)如下图,在交互式窗口中输入:p “Hello,world”,点击回车,交互式窗口成功打印出Hello World。至此,HelloWorld程序便开发完成了!怎么样,是不是很简单呢!

至此,VDM++开发环境已经基本入门,或许现在你仍然十分不解:这个VDM++到底可以做些什么!?这个VDM++语言到底又是什么呢!?
VDM++作为一个软件形式化语言,在软件需求分析和软件测试上有着十分强大的功能。在下一篇文章中,我将通过一个实例会为大家展示VDM++的强大功能,敬请期待。
Next:【形式化方法:VDM++系列】3.基于VDM++的图书管理系统需求定义
【形式化方法:VDM++系列】2.VDMTools环境的搭建的更多相关文章
- Intellij Idea系列之Tomcat环境的搭建(三)
Intellij Idea系列之Tomcat环境的搭建(三) 一. 编写背景 Intellij Idea在刚上手的时候很多人吐槽,"god, 这么难用的IDE有谁用呀?",的确,I ...
- 【Xamarin开发 Android 系列 1】环境部署搭建
原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...
- php从入门到放弃系列-01.php环境的搭建
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...
- 【大数据系列】windows环境下搭建hadoop开发环境使用api进行基本操作
前言 搭建完hadoop集群之后在windows环境下搭建java项目进行测试 操作hdfs中的文件 版本一 package com.slp.hadoop274.hdfs; import java.i ...
- 02LaTeX学习系列之---TeX环境的搭建
目录 02Latex的下载与安装及其编译IDE 目录 前言 (一)Tex Live的下载 1. Tex Live官方下载网站: (二)TeXStudio 1.TeXStudio官网下载 2.TeXSt ...
- 【形式化方法:VDM++系列】1.前言
1.前言 今天开始上课学习软件需求分析与VDM++,经过一节课的学习,我又增长了见识. 软件需求工程在软件工程中处于十分核心的地位:需求分析的好坏直接决定软件工程的成败.这一点是我之前对需求工程的理解 ...
- 【形式化方法:VDM++系列】3.基于VDM++的图书管理系统需求定义
接前文:http://www.cnblogs.com/Kassadin/p/4091040.html 1.Before We Start: 在开始图书管理系统需求定义之前,需要先进行一些说明. 1.1 ...
- win 7 下Maven环境的搭建
Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具. Maven是什么? 比较正式的定义:Maven是一个项目管理工具,它包含了: 一个项目对象模型 (Project O ...
- 【形式化方法:VDM++系列】4.VDM实战1——铁路费用计算
又有将近2个月没更新博客了啊!winter holiday简直玩儿疯了的说!结果假期前学习的形式化方法已经忘了大半!面对期末作业,大脑一片空白.于是,赶快复习了一下之前学习的姿势! 这次的主要任务是完 ...
随机推荐
- 第五十四篇、OC利用AFN上传上传语音
如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器. 首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueFor ...
- C# 数据结构--单链表
什么是单链表 这两天看到很多有关单链表的面试题,对单链表都不知道是啥的我.经过学习和整理来分享一下啥是单链表和单链表的一些基本使用方法.最后看些网上有关单链表的面试题代码实例. 啥是单链表? 单链表是 ...
- 为什么要使用jQuery?
首先必须得了解为什么要学习JQuery,JQuery有哪些优点,当然是相对于传统的Javascript和DOM来说了,现在将JQuery的优势总结如下: 1,轻量级. JQuery非常小,压缩包只有1 ...
- Amoeba for MySQL MySql集群软件
一, Amoeba简述 Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发 ...
- (转)实战Memcached缓存系统(4)Memcached的CAS协议
1. 什么是CAS协议 很多中文的资料都不会告诉大家CAS的全称是什么,不过一定不要把CAS当作中国科学院(China Academy of Sciences)的缩写.Google.com一下,CAS ...
- dao层实现类的常见写法
记录下一个dao层类的写法,方便以后的使用. package com.bupt.auth.dao.impl; import java.util.ArrayList; import java.util. ...
- WaitForSingleObject用法
对应函数 编辑 VC声明 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); 参数 编辑 hHandle[in]对 ...
- C++运用SDK截屏
引言 最近有一个需要截取当前屏幕,并保存成BMP文件的需求.整个需求,拆分成三步:1.截取屏幕,获得位图数据.2.配合bmp文件结构信息,将数据整合.3.对整合后的数据做操作,如保存在本地.通过网络传 ...
- √GMAP.NET 地图
深入理解最强桌面地图控件GMAP.NET ---[更新]百度地图 enjoyeclipse 2013-11-18 22:23 阅读:3897 评论:20 深入理解最强桌面地图控件GMAP.NE ...
- 解决ionic在ios无法使用focus,ios focus失效的问题
最近也偷懒,很久没有写博客了.今天在项目中遇到了这个奇葩的问题,基于ionic的ios的hybird APP 无法使用focus()获取焦点和键盘的问题. 问题:基于ionic的ios的hybird ...