Advertisement

VDM proof obligations and their justification

  • C. B. Jones
Foundations II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 252)

Abstract

“The Vienna Development Method” (VDM) uses specifications built in terms of models and operations specified by pre-/post-conditions. Steps of design by data reification or operation decomposition give rise to proof obligations. This paper provides examples of both sorts of design step but its main intention is to show that the proof obligations for operation decomposition are consistent with a semantics of the language combinators. A discussion of a recently discovered data reification rule and some observations about the underlying logic are also included.

Keywords

Classical Logic Truth Table Sequential Composition Induction Rule Proof Obligation 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    P. Aczel. A note on program verification. January 1982. manuscript.Google Scholar
  2. [2]
    H. Barringer, J.H. Cheng, and C.B. Jones. A logic covering undefinedness in program proofs. Acta Informatica, 21:251–269, 1984.Google Scholar
  3. [3]
    H. Barringer, R. Kuiper, and A. Pnueli. Now you may compose temporal logic specifications. In Proceedings of the 16th ACM Symposium on the Theory of Computing, Washington DC, 1984.Google Scholar
  4. [4]
    F.L. Bauer and H. Wössner. Algorithmic Language and Program Development. Springer-Verlag, 1982.Google Scholar
  5. [5]
    Dines Bjørner and Cliff B. Jones. Formal Specification and Software Development. Prentice Hall International, Englewood Cliffs, NJ, 1982. 501 pages.Google Scholar
  6. [6]
    M. Broy. Partial interpretations of higher order algebraic types. In M.Broy, editor, Logic of Programming and Calculi of Discrete Design, Springer-Verlag, 1987.Google Scholar
  7. [7]
    J.H. Cheng. A Logic for Partial Functions. PhD thesis, University of Manchester, 1986.Google Scholar
  8. [8]
    CIP Language Group. The Munich Project CIP—Volume 1: The Wide Spectrum Language CIP-L. Volume 183 of Lecture Notes in Computer Science, Springer-Verlag, 1985.Google Scholar
  9. [9]
    E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976. In Series in Automatic Computation.Google Scholar
  10. [10]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. EATCS Monographs on Theoretical Computer Science, Springer-Verlag, 1985.Google Scholar
  11. [11]
    R.L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986.Google Scholar
  12. [12]
    J.A. Goguen. Abstract errors for abstract data types. In E.J. Neuhold, editor, Formal Descriptions of Programming Concepts, North-Holland Publishing Co., 1978.Google Scholar
  13. [13]
    D. Gries. The Science of Computer Programming. Springer-Verlag, 1981.Google Scholar
  14. [14]
    I. Hayes, editor. Specification Case Studies. Prentice-Hall International, 1987.Google Scholar
  15. [15]
    C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580, October 1969.Google Scholar
  16. [16]
    C.A.R. Hoare. Proof of correctness of data representations. Acta Informatica, 1:271–281, 1972.Google Scholar
  17. [17]
    C.B. Jones. Constructing a theory of a data structure as an aid to program development. Acta Informatica, 11:119–137, 1979.Google Scholar
  18. [18]
    C.B. Jones. Development Methods for Computer Programs including a Notion of Interference. Technical Report 25, Oxford University, Programming Research Group, June 1981.Google Scholar
  19. [19]
    C.B. Jones. Implementation bias in constructive specification of abstract objects. September 1977. 16 pages.Google Scholar
  20. [20]
    C.B. Jones. Program specification and verification in VDM. In M.Broy, editor, Logic of Programming and Calculi of Discrete Design, Springer-Verlag, 1987.Google Scholar
  21. [21]
    C.B. Jones. Software Development: A Rigorous Approach. Prentice Hall International, Englewood Cliffs, NJ, 1980. 400 pages.Google Scholar
  22. [22]
    C.B. Jones. Specification and design of (parallel) programs. In Proceedings of IFIP '83, pages 321–332, North-Holland, 1983.Google Scholar
  23. [23]
    C.B. Jones. Systematic Software Development Using VDM. Prentice Hall International, Englewood Cliffs, NJ, 1986. 300 pages.Google Scholar
  24. [24]
    C.B. Jones. Teaching Notes for Systematic Software Development Using VDM. Technical Report UMCS 86-4-2, University of Manchester, 1986.Google Scholar
  25. [25]
    C.B. Jones. A Technique for Showing that Two Functions Preserve a Relation Between Their Domains. Technical Report LR 25.3.067, IBM Laboratory, Vienna, April 1970.Google Scholar
  26. [26]
    G. Koletsos. Sequent Calculus and Partial Logic. Master's thesis, Manchester University, 1976.Google Scholar
  27. [27]
    T. Nipkow. Non-deterministic data types: models and implementations. Acta Informatica, 22:629–661, 1986.Google Scholar
  28. [28]
    D.M.R. Park. On the semantics of fair parallelism. In D. Bjørner, editor, Abstract Software Specifications, Springer-Verlag, 1980. Lecture Notes in Computer Science, Vol. 98.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • C. B. Jones
    • 1
  1. 1.Department of Computer ScienceThe UniversityManchesterUnited Kingdom

Personalised recommendations