books Comprehensive collection of software specification techniques Software specification techniques N Gehani and D MeGettriek (eds) Addison Wesley, Wokingham, UK (1988) 477 pp hardback Software development is widely acknowledged to be expensive, timeconsuming, and error-prone. As software production, maintenance, and testing costs escalate in proportion to the total system cost, the computing profession can ill afford to continue to produce substandard software. Yet, this software crisis persists, owing mainly to poor problem definition and program design. Formal specification techniques are therefore becoming increasingly important for defining computer systems and, moreover they enable the use of formal methods in subsequent phases of the development cycle. The book is a collection of some of the most important recent papers on formal specification techniques that have been proposed to address this software crisis. The 21 papers are organized under four headings, namely: • Specification--requirements and techniques • Particular approaches • Case studies • Specification systems
The editors introduce each section with a concise overview that highlights the important points raised within that section and provides continuity between sections. The four papers in the first section examine and discuss the general principles associated with software specification. The papers include a discussion of the current work in specification requirements and techniques, the interleaving of specification and implementation, the relationships between program specification and program verification, and a list of important properties associated with good specification and specification languages. In the second part the collection of five papers presents a variety of possible approaches to formal specifications. These include axiomatic methods, denotational or mathematical approaches, semi-formal specification techniques for specifying software modules, and an operational approach to requirements specification for embedded systems. The theory and discussion of the preceding sections are applied to a selection of diverse case studies in the third section. The first paper in this section presents a useful discussion on the controversy that surrounds
the issue of formal and informal specification by applying each of these approaches to a particular working system. The remaining papers look at the application of specification for understanding and describing the behaviour of software, for specifying software designed for handling text and in applications for specifying realtime or embedded systems. The final section of the book is devoted to papers that deal with the automatic generation of prototype systems from the specification. The four papers in this category are concerned with rapid prototyping, specification systems (CLEAR and OBJ), and an automatic verification system (Gypsy). The editors have produced a good book that covers a fairly comprehensive range of software specification techniques. Such a book was long overdue and is certainly worthy of serious consideration for adoption by researchers and professional software engineers (or even interested graduates) in the area of software engineering, software design and development, and program specification and verification.
K HEERJEE Dundee Institute of Technology, UK
Service to those interested in expert systems and applications Research and development in expert systems V: Proceedings of Expert Systems" 88 B Kelly and A Rector (eds) Cambridge University Press, Cambridge, UK (1988) 359pp
Research and development in expert systems V covers the presentations made in the Eighth Annual Technical Conference of the BCS Specialist Group on Expert Systems. The book is aimed at industrial
vol 31 no 8 october 1989
professionals who are interested in the applications of expert systems as well as academics who are interested in more inherent problems of developing expert systems. Numerous areas such as software prototyping, diagnostic systems, monitoring systems, consultation systems, databases, knowledge acquisition, manufacturing, objectoriented systems, tutoring systems, neural networks, business applications, and human---computer interfaces are discussed in about 30 papers
covering 345 pages. Most of the papers are readable by a non-expert in the area. The fonts used for most of the papers (except a couple) are easily readable. Due to their diverse nature, the papers are not organized into groups or sections. The book is definitely a service to those who have an interest in expert systems and their applications. M M TANIK Southern Methodist University, Dallas, TX, USA
451