The VIP VDM Specification Language
VVSL is a VDM specification language of the ‘British School’ with modularisation constructs allowing sharing of hidden state variables and parameterisation constructs for structuring specifications, and with constructs for expressing temporal aspects of the concurrent execution of operations which interfere via state variables. VVSL was designed and is being used in the ESPRIT project 1283: VIP.
The modularisation and parameterisation constructs have been inspired by the ‘kernel’ design language COLD-K from the ESPRIT project 432: METEOR, and the constructs for expressing temporal aspects mainly by a linear, discrete time temporal logic from Lichtenstein, Pnueli and Zuck that includes operators referring to the past. VVSL is provided with a well-defined semantics by defining a translation to an extension of COLD-K (which has itself a well-defined semantics).
In this paper the syntax for the modularisation and parameterisation constructs of VVSL is outlined. Their meaning is informally described by giving an intuitive explanation and by outlining the translation to COLD-K. It is explained in some detail how sharing of hidden state variables is modelled. Examples of the use of the modularisation and parameterisation constructs are given too. These examples are based on a formal definition of the relational data model. With respect to the constructs for expressing temporal aspects, only the semantic ideas underlying the use of temporal formulae in VVSL are briefly outlined.
KeywordsParameterised Module Temporal Aspect Class Description Specification Document Concrete Syntax
Unable to display preview. Download preview PDF.
- VDM Specification Language Proto-Standard. BSI IST/5/50, Document No. 40, draft edition, December 1987.Google Scholar
- M.L. Brodie and J.W. Schmidt. Final Report of the ANSI/X3/SPARC DBS-SG Relational Database Task Group. Doc. No. SPARC-81-690, September 1981.Google Scholar
- L.M.G. Feys, H.B.M. Jonkers, C.P.J. Koymans, and G.R. Renardel de Lavalette. Formal Definition of the Design Language COLD-K. Preliminary Edition METEOR/t7/PRLE/7, METEOR, 1987.Google Scholar
- J.V. Guttag and J.J. Horning. Report on the Larch Shared Language. Science of Computer Programming, 6:103–134, 1986.Google Scholar
- C.B. Jones. Systematic Software Development Using VDM. Prentice-Hall, 1986.Google Scholar
- H.B.M. Jonkers. Informal Description of the Design Language COLD-K. Technical Report METEOR/t7/PRLE/2, METEOR, 1986.Google Scholar
- M. Kooij. LATEX macros for VVSL: Examples. Working Paper VIP.T.D.MK7, VIP, April 1988.Google Scholar
- L. Lamport. LATEX: A Document Preparation System. Addison-Wesley Publishing Company, 1984.Google Scholar
- O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In Logics of Programs, pages 196–218, Springer-Verlag, LNCS 193, 1985.Google Scholar
- C.A. Middelburg. Formal Definition of the Relational Data Model Using VVSL. Working Paper VIP.T.D.KM12, VIP, February 1988.Google Scholar
- C.A. Middelburg. Semantics of Temporal Constructs in VVSL. Working Paper VIP.T.D.KM16, VIP, July 1988.Google Scholar
- B.Q. Monahan. Abstract Syntax for the STC VDM Reference Language. Technical Report 725 05306 Ed 1B, STC IDEC Ltd, 1985.Google Scholar
- B.Q. Monahan. A Semantic Definition of the STC VDM Reference Language. Technical Report, STC IDEC Ltd, 1985.Google Scholar
- PCTE Functional Specifications. ESPRIT, 4th edition, June 1986.Google Scholar
- J.D. Ullman. Principles of Database Systems. Computer Science Press, 1980.Google Scholar
- VIP Project Team. Tool Extension Report. Report VIP.T.E.7.1, VIP, May 1988.Google Scholar
- VIP Project Team. VDM Extensions: Initial Report. Report VIP.T.E.4.1, VIP, December 1987.Google Scholar
- VIP Project Team. VDM Extensions: Interim Report. Report VIP.T.E.4.2, VIP, May 1988.Google Scholar
- M. Wirsing. Structured algebraic specifications: a kernel language. Theoretical Computer Science, 42(2):123–249, 1986.Google Scholar
- M. Wolczko. Typesetting VDM with LATEX. 1986.Google Scholar