Formal specification and development of an ada compiler - a vdm case study

Formal specification and development of an ada compiler - a vdm case study

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
FO~ SPECIFICATION AND DEVELOP~ OF AN Ada* COMPILER - A VDM CASE STUDY Geert B. Clemmensen and Ole N. Oest Dansk Datamatik Center DK-2800 Lyngby Denmark ABSTRACT The Vienna Development Method (VDM) has been e~ployed by Dansk Datamatik Center (DDC) on a large-scale, industrial Ada cxmnpiler development project. VDM is a formal specification and devel- opment method in that it insists on the initial specifications and all design steps being express- ed in a formal (mathematically based) notation. This paper gives an overview of how VDM was used in the various steps of the DDC ~a project, and we gnide the reader through the steps involved from the initial formal specification of Ada down to the actually coded multipass compiler. Finally we report on the quantitative and qualitative experiences we have gained, both as regards the technical suitability of VDM for the project and as regards the implications on software management and quality assurance. 1. Introduction This section gives an overview of the Vienna Development Method (VDM) including its application in compiler development (subsection i.i) and of the DDC Ada Cc~piler Project (subsection 1.2). Then section 2 describes how VDM was actually employed on the DDC Ada project taking into account the practical restrictions, sc~e stemming frcm the kind of host and target computers, others stemming from the changing environment (three Aria Language Reference Manuals were issued during the project). Section 3 exaniolifies the application of VDM in the development of the code generator, and finally section 4 reports on the experiences gained with VDM. i.i The Vienna Development Method The Vienna Development Method was initially developed at the IBM Laboratory at Vienna in the early 1970's for the purpose of the definition of a large subset of PL/I [I], and the subsequent development of the corresponding ~iler. VDM is based on the approach of denotational semantics, and should not be confused with the earlier work *) Ada is a registered trademark of the U.S. Government, Ada Joint Program Office of the IBM Vienna Group, namely the specification language VDL, in which PL/I was specified in the late 1960's, and which relies on operational semantics. VDM uses a metalanguage known as "META-IV" [2] based on sugared lambda calculus [4] and ScottStrachey domain theory [15]. But VDM is more than just a meta-language; a number of general approaches developed elsewhere has been incorpor- ated into VDM, most notably stepwise refinement of functions as well as of data objects. VDM further contains a number of specialized approaches; in the area of prograrsr/ng language definition and compiler development VDM offers a specific set of guidelines thought of as a "cookbook" prescription for the work to be carried out [3]. As a part of reporting on our experiences, this paper explains which deviations from the "cookbook" we had to make, and why. Generally software development proceeds as follows when using VDM: A specification of the software to be developed is given in the form of a model, that is as
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 03/31/2010 for the course CAS 707 taught by Professor Ridhakhedri during the Spring '10 term at McMaster University.

Page1 / 11

Formal specification and development of an ada compiler - a vdm case study

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online