Summary
EXPRESS and SQL are two ISO standard languages for modelling data. However, EXPRESS is abstract in the sense that it is intended to be used to define application-oriented data types, whereas SQL is concrete in that all data must be modelled using relation tables. In this chapter, we specify and prove some properties of an EXPRESS to SQL “compiler” which implements the ISO standard STEP Data Access Interface (SDAI) for the storage and retreval of EXPRESS instance data.
The “compiler” is formalised as a refinement: an abstract model of the EXPRESS database is given which defines operations for the storage and retreval based on a model of the EXPRESS data types on VDM; then a specification of a relational database is given as a basis for a refinement of the EXPRESS database; and then concrete versions of the operations are defined on top of the relational model. These operations are, in effect, the semantic functions of the compiler. The equivalence of the abstract and concrete specifications is the justification of the correctness of the compiler.
We outline the specifications and prove an obligation concerning the refinement. A number of issues concerning modelling style arise in comparing the EXPRESS data types with those of VDM and concerning the structuring of the development to facilitate proofs. The specification was developed using the IFAD VDM-SL Toolbox and the proofs constructed by hand.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Bibliography
STEP Overview, ISO 10303, Part 1.
SDAI Specification, ISO 10303, Part 22. TC184/SC4/WG7.
ibid. Section 6 to 8.
Semantic Unification Meta Model. ISO 10303.
A Formal Semantics For SQL. Meira, S., Motz, M. and Tepedino, F. Intern. J. Computer Math. Vol. 34. pp. 43–63 (1990)
Schenck and Wilson. Information Modelling the EXPRESS way, Oxford University Press, 1995.
ibid. Appendix E.
Analysis of the STEP Standard Data Access Interface Using Formal Methods. Botting, R.M. and Godwin, A.N. Computer Standards and Interfaces. 17 (56), pp. 437–456, North Holland, 1995.
Bicarregui J.C., An evaluation of methods for generating SQL from EXPRESS. ESPRIT 6212, Processbase, Document RAL/6212/TNR/016/4. January 1995.
Bicarregui, Ritchie and Haughton, Experiences in Using Abstract Machine Notation in a GKS Case Study. FME’94: Industrial Benefit of Formal Methods, LNCS 873, Springer-Verlag, 1994.
Vienna Development Method - Specification Language, Draft International Standard, ISO/IEC DIS 13817–1, 1995(E).
Bicarregui, Dick and Woods, Supporting the length of formal development: form diagrams to VDM to B to C, 7th International Conference on Putting into Practice Methods and Tools for Information System Design. IBSN: 2906082–19–9 October 1995.
The CAESAR STEP Toolkit User manual (Version 1.3). Caesar Systems Limited, June 1992.
The EXPRESS Language Reference Manual, ISO IS 10303–11: 1994(E).
Translating Express to SQL: A User Guide. Morris, K.C., NISTIR 90–4341, National Institute of Standards and Technology (NIST), Gaithersburg MD., 20899. USA.
STEP Relational Interface, Raghaven, V., Hardwick, M., Rensselaer Polytechnic Institute, Computer Science Masters Project. (1993)
Thomas D, Implementing the emerging ISO Standard STEP into a relational database, BNCOD-8, Proceedings of the 8th British national Conference on Databases.
P. Clement, Internal Report on the EXPRESS to SQL Compiler. Loughborough University of Technology Technical Report. 1991.
The IFAD VDM-SL Toolbox, in Woodcock and Larsen (Eds.). FME’93: Industrial Strength Formal Methods. Springer-Verlag, 1993.
C.B. Jones C.D. Allen, D.N. Chapman. A formal definition of algol 60. Technical Report 12. 105, IBM Laboratory, Hursley, Aug. 1972.
D. Andrews and W. Henhapl. Pascal. In Formal Specification and Software Development, chapter 7, pages 175–252. Prentice-Hall, 1982.
S.P.A. Lau, Derek Andrews, Anjula Garg and J.R. Pitchers. The Formal Definition of Modula-2 and Its Associated Interpreter. In L. Marshall R.Bloomfield and R. Jones, editors, VDM ’88 VDM–The Way Ahead, pages 167–177. VDM-Europe, Springer-Verlag, September 1988.
W.Henhapl C.B.Jones P.Lucas H.Bekic, D.Bjorner. A formal definition of a plli subset. Technical Report 25. 139, IBM Laboratory, Vienna, December 1974.
O. Oest (eds.) D. Bjorner. Towards a Formal Description of Ada, volume 98 of Lecture Notes in Computer Science. Springer-Verlag, 1980.
J.F. Nilsson. Formal Vienna-Definition-Method models of Prolog. In J.A. Campbell, editor, Implementations of PROLOG, pages 281–308. Ellis Horwood Series: Artificial Intelligence, 1984.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag London Limited
About this chapter
Cite this chapter
Bicarregui, J., Matthews, B. (1998). The Specification and Proof of an EXPRESS to SQL “Compiler”. In: Bicarregui, J.C. (eds) Proof in VDM: Case Studies. Formal Approaches to Computing and Information Technology (FACIT). Springer, London. https://doi.org/10.1007/978-1-4471-1532-8_4
Download citation
DOI: https://doi.org/10.1007/978-1-4471-1532-8_4
Publisher Name: Springer, London
Print ISBN: 978-3-540-76186-0
Online ISBN: 978-1-4471-1532-8
eBook Packages: Springer Book Archive