VDM Vienna Development Method owes its existence to the IBM Laboratory in Vienna.The origins of that laboratory go back to a group which Heinz Zemanek brought from theTechnische Hochschu
Trang 1USING VDM Second Edition Teaching Notes
CLIFF B JONES
June 18, 1995
c 1990 Prentice Hall International
Trang 3A.2 Extra errors in rst and second printings 70
Trang 4Introduction
This report provides information which should be of use in teaching courses which are based
on the second edition of `Systematic Software Development using VDM', (Prentice-Hall national) [Jon90] The main chapters follow those of the book and contain both comments onthe material and answers to many of the exercises
Inter-The author would be grateful for feedback both on errors and proposals for extensions tothese Teacher's Notes
0.1 Brief history of VDM
VDM is a formal method for the description and development of computer systems Its formaldescriptions (or `speci cations') use mathematical notation to provide a precise statement of theintended function of a system Such descriptions are built in terms of models of an underlyingstate with a collection of operations which are speci ed by pre- and post-conditions VDMdesigns are guided by a number of proof obligations whose discharge establishes the correctness
of design by either data rei cation or operation decomposition Thus it can be seen that VDMaddresses the stages of development from speci cation through to code
VDM (Vienna Development Method) owes its existence to the IBM Laboratory in Vienna.The origins of that laboratory go back to a group which Heinz Zemanek brought from theTechnische Hochschule(now the `Technical University of Vienna') The group initially worked
on hardware projects A compiler for ALGOL 60 followed The recognition that language
de nition was a crucial issue for the future safe application of computers was emphasized byIBM's creation of the PL/I language The Vienna group built on ideas of Elgot, Landin andMcCarthy to create an operational semantics approach capable of de ning the whole of PL/Iincluding its TASKING features which involved parallelism These massive reports were knowninternally as the `Universal Language Document 3' and appeared in three more or less completeversions The meta-language used was dubbed by outsiders the `Vienna De nition Language'
or VDL (see [?]) These descriptions were used as the basis for research into compiler design in1968/70 [JL71]
The attempts to use the VDL de nitions in design were in one sense successful; but they alsoshowed clearly how the operational semantics approach could complicate formal reasoning in anunnecessary way The Scott/Strachey/Landin work on denotational semantics was at the timetaking shape in Oxford, Hans Bekic had long been pressing the Vienna group to adopt a moremathematical approach, and Cli Jones had shown a `functional semantics' for ALGOL 60 in
a Hursley Technical Report [ACJ72] The challenge, starting in late 1972, to design a compilerwhich translated the evolving ECMA/ANSI standard PL/I language into the order code of acompletely novel machine presented the ideal opportunity to try out the denotational semanticsapproach The project was fraught with diculties and did not result in a ... should be of use in teaching courses which are based
on the second edition of `Systematic Software Development using VDM'' , (Prentice-Hall national) [Jon90] The main chapters follow those... operation decomposition Thus it can be seen that VDMaddresses the stages of development from specication through to code
VDM (Vienna Development Method) owes its existence to the IBM... extensions tothese Teacher''s Notes
0.1 Brief history of VDM< /h3>
VDM is a formal method for the description and development of computer systems Its formaldescriptions (or `specications'')