The VDM principles of software specification & program design

A tutorial overview
  • Dines Bjørner
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 107)


The Vienna Method Principles of Software Development is overviewed & illustrated through the example of the specification & design of a File Handler System. The special emphasis of this paper, however, is on problems of transforming specifications. The aim is to render the explication of otherwise seemingly complex systems more readily tractable. This is achieved, it is suggested, by successive enrichments to resulting specifications & designs.


Denotational Semantic Free List Directory Address Abstraction Principle Semantic Definition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

VDM bibliography

  1. 1.
    H. Bekić & K. Walk: "Formalization of Storage Properties", in: ‘Formal Semantics of Algorithmic Languagesrs, ed. E. Engeler, Springer-Verlag, LN in Math., vol.188,1971. Develops the function for the abstract modelling of variablery locations, values & storages. To the basis for all subsequent VDM Language definitions (PL/I:1; ALGOL 60:7.5; CHILL: 19; Ada 16.).Google Scholar
  2. 2.
    H. Bekić, D. Bjørner, W. Henhapl, C.B. Jones & P. Lucas:"A Formal Definition of a PL/I Subset", IBM Techn. Rpt. TR25.139, IBM Vienna Lab., Austria, 1974. This report marks the first full-fledged VDM application.Google Scholar
  3. 3.
    C.B. Jones: "Formal Definition in Program Development", LNCS23,. pp.: 387–443, 1975.Google Scholar
  4. 4.
    —:"Program Specifications and Formal Development", ICS77(European ACM) International Computing Symposium 1977, (eds.Morlet & Ribbens), Proceedings, North-Holland Publ.Co., 1977. pp.: 537–554.Google Scholar
  5. 5.
    D.Bjørner:"Programming Languages: Linguistics & Semantics", ICS77, (European ACM) International Computing Symposium 1977, (eds.Morlet & Ribbens), Proceedings, North-Holland Publ.Co., 1977. pp.: 511–536. Unfolds, in a tutorial style isolated models of a variety of programming language constructs.Google Scholar
  6. 6.
    —:"Programming Languages: Formal Development of Interpreters & Compilers" ICS77, (European ACM) International Computing Symposium 1977, (eds.Morlet & Ribbens), Proceedings, North-Holland Publ.Co., 1977. pp.: 1–21. Develops mechanical semantics, abstract & concrete compiling algorithm models from Denotational Semantics models. Thus illustrates compiler development using VDM.Google Scholar
  7. 7.
    — & C.B. Jones (eds.): "The VDM: The Meta-Language" LNCS61,. 1978.Google Scholar
  8. 7.1
    P.Lucas:"On the Formalization of Programming Languages, Early History & Main Approaches", pp.: 1–23.Google Scholar
  9. 7.2
    D.Bjørner:"Programming in the Meta-Language: A Tutorial", pp.: 24–217.Google Scholar
  10. 7.3
    C.B.Jones:"The Meta-Language: A Reference Manual", pp.: 218–277.Google Scholar
  11. 7.4
    C.B.Jones:" Denotational Semantics of GOTO: An Exit Formulation and its Relation to Continuations", pp.: 278–304.Google Scholar
  12. 7.5
    W.Henhapl & C.B.Jones:"A Formal Definition of ALGOL 60 as described in the 1975 modified Report", pp.: 305–336.Google Scholar
  13. 7.6
    D.Bjørner:"Software Abstraction Principls", pp.: 337–374.Google Scholar
  14. 8.
    D. Bjørner:"The VDM: Software Abstraction & Program Synthesis", LNCS75, pp.: 326–359, 1979.Google Scholar
  15. 9.
    —:"The Systematic Development of a Compiling Algorithm", in: "Sur le point Compilation" (eds. Amirchahy & Neel), IRIA/SEFI Press, Paris, pp.: 45–88, 1979Google Scholar
  16. 10.
    C.B.Jones:"The VDM: Examples of Compiler Development", in same as 9. above, pp.: 89–114, 1979.Google Scholar
  17. 11.
    —:"Constructing a Theory of a Data Structure as an aid to Program Development", Acta Informadica, vol.11, pp.: 119–137, 1979.Google Scholar
  18. 12.
    —:"Software Development: A Rigorous Approach", Prentice-Hall International, London, 1980. Marks the first text book on VDM as applied to Algorithm & Data Structure development.Google Scholar
  19. 13.
    — (ed.):"Abstract Software Specifications", Proceedings, Copenhagen 1979 Winter School, LNCS86, 1980Google Scholar
  20. 13.1
    J.Stoy:"Foundations of Mathematical Semantics", pp.: 43–99. Treats the Mathematical basis, according to Scottery, of, amongst others, VDM.Google Scholar
  21. 13.2
    C.B.Jones:"Models of Programming Language Concepts", pp.: 100–143.Google Scholar
  22. 13.3
    D.Bjørner:"Formalization of Data Base Models", pp.: 144–215. Outlines models of Relational Algebra DSL-α and Bachmann Diagrams.Google Scholar
  23. 13.4
    —:"Experiments in Block-Structured GOTO-Modelling: Exits versus Continuations", pp.: 216–247.Google Scholar
  24. 14.
    P. Folkjær & D. Bjørner:"A Formal Model of a Generalized CSP-like Language", IFIP 8th World Congress, Tokyo-Melbourne, Proceedings (ed. S.H. Lavington), North-Holland Publ.Co., Amsterdam, pp.: 95–99, 1980.Google Scholar
  25. 15.
    D. Bjørner:"Formal Description of Programming Concepts: a Software Engineering Viewpoint", MFCS'80 Proceedings, LNCS88,. pp.: 1–21, 1980. Lists the theses, and motivates & outlines the structure & content of a forthcoming book: "(Abstract) Software Architectures & Programming Systems Design" (D.Bjorner).Google Scholar
  26. 16.
    D. Bjørner & O. Oest (eds.):"Towards a Formal Description of Ada", LNCS98,. 1980.Google Scholar
  27. 16.0
    D.Bjørner & O.Oest:"The DDC Ada Compiler Development Projekt", pp.: 1–20.Google Scholar
  28. 16.1
    J.Bundgaard & L.Schultz:"A Denotations (Static) Semantics Method for Defining Ada Context Conditions", pp.: 21–212.Google Scholar
  29. 16.2
    J.Storbank Pedersen:"A Formal Semantics Definition of Sequential Ada", pp.: 213–308.Google Scholar
  30. 16.3
    H.H. Løvengreen:"Parallellism in Ada", pp.: 309–434.Google Scholar
  31. 16.4
    O.Dommergaard:"The Design of a Virtuel Machine for Ada", pp.: 435–606.Google Scholar
  32. 16.5
    D.Bjørner:"Reference Manual for The Meta-Language", pp.: 607–624.Google Scholar
  33. 17.
    D.Bjørner:"Application of Formal Models", in ‘Data Bases', INFOTECH Proceedings, October 1980, Chapter 10 — INFOTECH appears to have gone broke, Jan.1981. Gives Models & Realizations of IMS & CODASYL/DBTG — see also Ref.18.Google Scholar
  34. 18.
    C.B.Jones & D.Bjørner (eds.):"Formal Specification & Software Development" Prentice-Hall International, forthcoming book — 1982. Is expected to contain consolidated, revised versions of references: 1; 4 & 6; 7.1; 7.3 & 13.1; 10; 13.2; 13.3 & 17; as well as new material.Google Scholar
  35. 19.
    P.L.Haff & D:Bjørner (eds.):"The Formal CCITT Standard Semantics Definition of CHILL", CCITT Recommentation Z200 Manual/Supplement, final draft Aug.1980. This document marks the first time any major language, as part of its officiel standard, has a formal (primarily denotational) definition.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1981

Authors and Affiliations

  • Dines Bjørner
    • 1
    • 2
  1. 1.Department of Computer ScienceTechnical University of DenmarkLyngbyDenmark
  2. 2.Danish Datamatics Centre (DDC)LyngbyDenmark

Personalised recommendations