Annealing and data decomposition in VDM

Annealing and data decomposition in VDM - A nnealing and...

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

View Full Document Right Arrow Icon
Annealing and Data Decomposition in VDM ++ S.J. Goldsack, K. Lano Imperial College, London SW7 2AZ, England E.H. D/irr Cap Gemini Sogeti, Netherlands Abstract VDM ++ is a formal specification language derived from VDM- SL and incorporating object-oriented structuring based on lan- guage extensions which owe much to SmaUTalk (though fea- tures have been added to cater for specifying reactive real-time systems). Research on the language has been in progress since about 1991[1][2], but it is only recently that papers have begun to be published on the subject[3][4][5]. Several more-detailed papers are in preparation. In particular, a paper describing the concept of annealingin some detail will be ready shortly 1. Our attention has recently been drawn to the paper by Jian Lu [6] which describes a process of data decomposition in VDM bearing some relationship to our concept of annealing: The present paper is intended to give an introduction to the an- nealing concept, and to show how it relates to the work of Jian Lu. 1 Introduction Following an initial proposal by Diirr[1][2] VDM ++ was developed in the ESPRIT project Afrodite 2, to form the specification language for a formal development system. It has been used in the specification and construction of a number of significant industrial systems[5]. In the course of the project a toolset, known as the Venus toolset, was developed by cooperation between the indus- trial partners Verilog, IFAD and CAP. Information about Venus, including the syntax for VDM ++ can be accessed on the World Wide Web at the address: http://www.ifad.dk/products/venus. Central to the Afrodite approach is a concept of lay- 1A preliminary version can be obtained by ftp, see [12]. In its outline form, the concept has already been discussed in [2]. 2ESPRIT project no 6500 ered modeling, in which VDM ++ is used to specify a class (usually referred to as Model0) describing the system in abstract outline. This is then developed (refined) to form more detailed specifications, (Model1, Model2 . .etc.) leading eventually to a form which can be automatically translated to executable code. The refinement steps may involve the usual process of reification as understood in VDM in which data structures are given less abstract rep- resentations and the operations adapted appropriately. However, we consider essential to the approach the con- cept of annealing 3, which is a form of refinement in which the initial class is replaced by a structure of (usually sim- pler) classes which together haye exactly the behaviour of the originally-specified system. Data are defined in the initial class in terms of instance variables of VDM- SL types together with methods which operate on them. These are then transformed into structures of objects hav- ing the same overall effect. In the main, the decomposi- tion will be into objects, containers for data of the original specification, accessed by object references which replace the data definitions in the original class. Most often the motivation for selecting some particular structure will be
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 / 7

Annealing and data decomposition in VDM - A nnealing and...

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