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
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.
The material in the talk given at the EEC VDM-Europe Symposium is covered by [20]; this paper explores one aspect of that material in more detail.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
P. Aczel. A note on program verification. January 1982. manuscript.
H. Barringer, J.H. Cheng, and C.B. Jones. A logic covering undefinedness in program proofs. Acta Informatica, 21:251–269, 1984.
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.
F.L. Bauer and H. Wössner. Algorithmic Language and Program Development. Springer-Verlag, 1982.
Dines Bjørner and Cliff B. Jones. Formal Specification and Software Development. Prentice Hall International, Englewood Cliffs, NJ, 1982. 501 pages.
M. Broy. Partial interpretations of higher order algebraic types. In M.Broy, editor, Logic of Programming and Calculi of Discrete Design, Springer-Verlag, 1987.
J.H. Cheng. A Logic for Partial Functions. PhD thesis, University of Manchester, 1986.
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.
E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976. In Series in Automatic Computation.
H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. EATCS Monographs on Theoretical Computer Science, Springer-Verlag, 1985.
R.L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986.
J.A. Goguen. Abstract errors for abstract data types. In E.J. Neuhold, editor, Formal Descriptions of Programming Concepts, North-Holland Publishing Co., 1978.
D. Gries. The Science of Computer Programming. Springer-Verlag, 1981.
I. Hayes, editor. Specification Case Studies. Prentice-Hall International, 1987.
C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580, October 1969.
C.A.R. Hoare. Proof of correctness of data representations. Acta Informatica, 1:271–281, 1972.
C.B. Jones. Constructing a theory of a data structure as an aid to program development. Acta Informatica, 11:119–137, 1979.
C.B. Jones. Development Methods for Computer Programs including a Notion of Interference. Technical Report 25, Oxford University, Programming Research Group, June 1981.
C.B. Jones. Implementation bias in constructive specification of abstract objects. September 1977. 16 pages.
C.B. Jones. Program specification and verification in VDM. In M.Broy, editor, Logic of Programming and Calculi of Discrete Design, Springer-Verlag, 1987.
C.B. Jones. Software Development: A Rigorous Approach. Prentice Hall International, Englewood Cliffs, NJ, 1980. 400 pages.
C.B. Jones. Specification and design of (parallel) programs. In Proceedings of IFIP '83, pages 321–332, North-Holland, 1983.
C.B. Jones. Systematic Software Development Using VDM. Prentice Hall International, Englewood Cliffs, NJ, 1986. 300 pages.
C.B. Jones. Teaching Notes for Systematic Software Development Using VDM. Technical Report UMCS 86-4-2, University of Manchester, 1986.
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.
G. Koletsos. Sequent Calculus and Partial Logic. Master's thesis, Manchester University, 1976.
T. Nipkow. Non-deterministic data types: models and implementations. Acta Informatica, 22:629–661, 1986.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jones, C.B. (1987). VDM proof obligations and their justification. In: Bjørner, D., Jones, C.B., Mac an Airchinnigh, M., Neuhold, E.J. (eds) VDM '87 VDM — A Formal Method at Work. VDM 1987. Lecture Notes in Computer Science, vol 252. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17654-3_15
Download citation
DOI: https://doi.org/10.1007/3-540-17654-3_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17654-1
Online ISBN: 978-3-540-47740-2
eBook Packages: Springer Book Archive