The programming process: an introduction using VDM and Pascal

The programming process: an introduction using VDM and Pascal

/ 113/15 Teacher on Pascal and software developmenthand-in-hand The programming process: an introduction using VDM and Pascal Latham, Bush and Cottam ...

128KB Sizes 7 Downloads 143 Views

/ 113/15 Teacher on Pascal and software developmenthand-in-hand The programming process: an introduction using VDM and Pascal Latham, Bush and Cottam Addison-Wesley (1990) £ 18.95 554pp This book more than matches its description on the back cover, part of which states, 'Written in an entertaining yet rigorous style, it emphasizes the methodology of constructing programs rather than language syntax details.' This quote summarizes the book nicely.

The emphasis is on the specification, design, and development of programs, but it also addresses the rather difficult area of requirements. It is well written in a style that might actually encourage people to read it. Each of the chapters is devoted to the development of a piece of software, each development is described in such a manner that the reader will want to study it to the end to find out the outcome. Each development (by computing standards) is a little novel with

Papers on the present and future of databases Database systems o f the 90s (Lecture Notes In Computer Science Vol 466) A Blaser (ed) Springer-Verlag (1990) £ 17.00 334pp This book is the collection of the invited papers presented at the International Symposium on Database Systems of the '90s held 5-7 November 1990 in Berlin, Germany. The authors were explicitly invited not to contribute original research papers, but rather to give an account on where database technology stands and what is likely to happen in the '90s. Invited authors came from Federal Republic of Germany, France, Switzerland, and the USA. The main idea relies on the fact that traditional applications are successfully managed by relational technology. The reader can find some papers describing the evolution of information systems within a company, but this book focuses on the evolution of data models, the evolution of data manipulation languages, and system aspects. To take into account nontraditional applications, some papers present the emergence of new data models: complex objects and the object-oriented paradigm. The concepts for complex object modelling are now well identified and widely accepted. These concepts include atomic and composite objects. It is not necessary to invent too many new concepts as the semantic models already provide a large spectrum of facilities (the trouble is to guarantee a good database design). Object orientation attracts a lot of people, but a great number of open questions have still to be resolved to make object-oriented technology a suc-

Vol 34 No 1 January 1992

cessful variant of database systems. To handle these new types of data, some papers present the associated propositions for the data manipulation languages. SQL as data definition and data manipulation language is a quasistandard for commercially available database systems. A computer language can be described by a set of primitive concepts (such as values or variables) and a set of abstraction mechanisms (type abstraction, etc.) to assist the composition of primitives to larger semantic units. The new language technology is based on domains such as naming, typing, and binding. The local database~ of a distributed (or sharing) system are managed with some limited functions to extract data. The 'snapshot' from a remote database is the basic technique. The updates of the remote database are not visible in the local database and it is difficult to propagate changed data back from the local workstation to the remote database. Several technical problems still have to be solved, notably in areas such as concurrency, coherence control, recovery, and long transactions. New applications require new data models, data manipulation languages, and architectures. These new data models or data manipulation languages are supported by several prototypes. The reader can find some papers based on the extension of relational systems and deductive or distributed approaches. M MAINGUENAUD France Telecom, Institut National des T61+communications, Evry, France

characters and a story. A rather entertaining way of teaching program development - - though perhaps not to everybody's taste. Many programming language textbooks just teach the syntax of the language, some even stray into the semantics, and, if the reader is exceptionally lucky with her choice, she may even find some hints on how to program. (C books are particularly bad in this respect; they seem to spend their time teaching silly tricks rather than software design and development.) This book turns the traditional 'teach the syntax' approach on its head and first teaches specification, then design, then programming, and finally Pascal. The language is taught as a tool in which designs can be implemented so that they may run on a computer, and this is exactly how programming languages should be taught. The approach of the book is to take a particular example with a typical description of the required system. This requirement is analysed in detail and during the development of a specification any ambiguities, misconceptions, etc. in the requirements are removed. Obviously, the book rather than the reader has to resolve any questions, but they are usually settled in a realistic manner. Having written a (formal) specification in a specification language closely related to the one used in VDM, this specification is then developed using rigorous (rather than formal) techniques to produce a well structured and abstract high-level design. More detail is added until finally an executable program is produced. The Pascal is taught, as needed, just before the design turns into code and therefore the features of the language are Well motivated. The book teaches all of the Pascal language, but much more important teaches good programming and software design, and because of this should be highly recommended. The only criticism one might have is that the specification language is a dialect of VDM-SL and is thus nonstandard, but as the book was written before a standard was available, this is excusable - - the authors were chasing a moving target. It should certainly be recommended as a book to teach Pascal and software development hand-in-hand, and even if not used as a teaching book, teachers should find it a good source of large (by student standards) examples.

69