Vienna Development Method

Vienna Development Method - VDM The Vienna Development...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: VDM The Vienna Development Method Andreas Muller April 20, 2009 Bachelor thesis in Formal Methods in Software Engineering, Johannes Kepler University Linz, SS 2008. Abstract The Vienna Development Method is a formal language developed at the IBM laboratories in Vienna. First we give a short overview of the history of VDM from programming language description to VDM++. The language and its syntax are described in the following. Since the invention of VDM lots of tools have been developed. One of them is mural, a proof framework for VDM. We explain the basic features of mural and give a short example proof. The most important tool for VDM today is VDMTools which is still beeing developed. We give an overview of VDMTools features and present a detailed example of a VDM++ model in VDMTools. The example includes Java code generation from VDM. Name: Andreas Muller Matr.Nr.: 0555284 StKz.: 201 E-mail: a m@gmx.at Contents 1 Introduction 5 2 First Overview 6 2.1 Origins of the Vienna Development Method . . . . . . . . . . . . 6 2.2 Rigorous Specification and Proof . . . . . . . . . . . . . . . . . . 6 2.2.1 Rigorous Specification . . . . . . . . . . . . . . . . . . . . 7 2.2.2 Rigorous Proof . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Formalization and Tools Support . . . . . . . . . . . . . . . . . . 9 3 The Language 9 3.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1.1 Explicit Functions . . . . . . . . . . . . . . . . . . . . . . 10 3.1.2 Implicit Functions . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.1 Example: Simple Calculator . . . . . . . . . . . . . . . . . 13 3.2.2 The State . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3 Set Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3.1 The -set Constructor . . . . . . . . . . . . . . . . . . . 16 3.3.2 Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 Composite Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4.1 Defining Composite Objects . . . . . . . . . . . . . . . . . 17 3.4.2 Creating Instances . . . . . . . . . . . . . . . . . . . . . . 18 3.4.3 Decomposing Objects . . . . . . . . . . . . . . . . . . . . 19 2 4 A Proof Framework for VDM Mural 20 4.1 Constants and Expressions . . . . . . . . . . . . . . . . . . . . . 21 4.2 Rules of Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.3 Theories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.5 A Sample Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5 VDMTools 24 5.1 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2 VDM++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.2.1 A Basic Class Outline . . . . . . . . . . . . . . . . . . . . 25 5.2.2 The Language . . . . . . . . . . . . . . . . . . . . . . . .The Language ....
View Full Document

Page1 / 45

Vienna Development Method - VDM The Vienna Development...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online