Engng Applic. Artif. lntell. Vol. 9, No. 4, pp. 465-466, 1996 Copyright © 1996 Published by Elsevier Science Ltd Printed in Great Britain. All rights reserved 0952-1976/96 $15.D0 + 0.DO
Pergamon
Book Reviews
Neural Network Learning and Expert Systems, by Stephen I Gallant. MIT Press, Cambridge, MA, U.S.A. (1993). $47.50. ISBN: 0 262 07145 2 In the foreword to this book the author sets out a number of goals that he hopes to address. Essentially, these are to provide "a systematic development of neural network learning algorithms", to present what he calls "neural network expert systems" (by which he means hybrid neural network and heuristic rule-based systems), and to do so in such a way as to make the information provided accessible to "researchers and students in Computer Science, Engineering, Psychology or Physics". This is a difficult set of goals; the extent to which they are met will be considered below. The book is divided into four sections and an appendix. Part 1 provides the essential information that any good computer scientist should know about neural networks. For example, the author covers the fundamentals of multilayer perceptrons and backpropagation networks; representation issues as well as the basic structure of connectionist models. He includes a number of programming projects to reinforce the ideas (an essential feature), as well as detailed examples. This is very well done, is not dry and is permeated with interesting commentary and remarks. Part 2 is devoted to single-cell and single-layer models. This section comprises five chapters, and numerous example problems such as the Travelling Salesman problem. Again, programming projects are included for each of the techniques discussed. Both supervised and unsupervised approaches to learning are covered. Part 3 contains six chapters, and is directed at learning in multilayer models. This is an extremely comprehensive section, covering constructive algorithms that grow networks in the course of learning, with greater detail on backpropagation (and its variations and applications), as well as the basics of multilayer networks. The fourth part introduces the concept of neural network expert systems. In particular, it describes the MACIE system (developed by the author, and now marketed as knowledgeNet). This section begins with a very brief description of heuristic rule-based expert systems, and presents the weaknesses of this approach. Unfortunately, this is the weakest section of this book. The description of a heuristic expert is extremely brief, to the point of being almost useless unless you already know a reasonable amount about the subject. Indeed, 465
the section on the limitations of heuristic expert systems is almost derisively short. The description of MACIE is enticing, but I found that it does not provide enough detail for me to really understand how it works; I got the gist, but not the detail. Essentially, a network is used to perform a classification task, then forward-chaining rules are extracted from the network. This is an interesting aspect of the system (covered in the final chapter). Having described what the book is about, how good is it at achieving the goals stated earlier? The author certainly provides an excellent systematic development of neural network learning algorithms that would be suitable for most computer-literate, numerically aware, machine learning audiences. I particularly like his practical approach to the development of the different algorithms, which includes numerous examples and a number of programming projects. Used as an introduction to neural networks, this is an excellent book. However, the title of the book is Neural Network Learning and Expert Systems, and the author's second stated goal is the presentation of neural network expert systems. The section on expert systems and hybrid neural network expert systems is indicative of the lack of work in this area. The result is that the author does not meet his second goal, even though he makes much of this aspect of the book in the foreword. JOHN HUNT
University of Wales, Aberystwyth
CAD Frameworks--Principles and Architecture, by Pieter van der Wolf. Kluwer Academic Publishers, The Netherlands (1994). 225pp. £66.75. ISBN: 0 7923 9501 8. CAD systems are finding a wide range of applications in electronic engineering. When a variety of design and planning software can be linked in the same computer system, such systems call for CAD frameworks. These integration tools have an important role nowadays, and will continue to do so in the future. Consequently, this book deals with a very important topic. The book is intended in the first place for electronic design automation professionals who are interested in the design and construction of CAD frameworks. The principles used in building integrated design environments, and the concepts involved, could also be useful to those
466
BOOK REVIEWS
engaged in other fields of computer-aided software engineering. The author not only emphasizes the role of CAD frameworks, but also defines them clearly, and explains their features. A comprehensive study of the aspects, ideas and basic considerations is presented in this very useful aid for engineers. The book consists of eight chapters. In Chapter 1 the need for CAD frameworks, and the causes of the relatively slow progress experienced in recent years, are explained. As emphasized by the author, two key features of a CAD framework architecture are openness and efficiency. Chapter 2 gives an outline of the state of the art in the area of CAD frameworks. It describes the most important requirements for a CAD framework, and investigates system architectures. The evolution of CAD frameworks since the early eighties is traced. The provision of design data bases, design data management and design process management is identified and explained as fulfilling the various roles of CAD frameworks. The CAD framework Initiative (CFI) and the European Jessi Common-Frame (JCF) cooperative projects are introduced. After defining the global architecture and nature of CAD frameworks, a global framework model based on the basic principles of data management and toolframework interaction is presented in Chapter 3. A three-step approach to the presentation of the framework architecture is applied. In these steps, the information architecture, the component architecture and the implementation architecture are described. The independence of specific application domains is emphasized, as a feature called for by openness and flexibility. Properties of transactions performed by a design tool on a design object are outlined. Chapter 4 discusses data-modelling techniques. A semantic data model (OTO-D) is introduced for communicating and documenting the information architecture. The data manipulation language, OTO-D, is summarized. Chapter 5 demonstrates the application of a semantic
data model to describe the information architecture, in the form of a data schema that represents the logical organization of the design environment. The design environment is organized as a collection of projects containing design objects. Design flow management is detailed and explained. Chapter 6 introduces the individual framework components, and their relationships and interfaces. The Framework Kernel, the Data Handling Component, the Meta Data Handling Component, the Design Data Handling Component, the Data and Design Management Kernel, the Data and Design Management Interface and the Framework Tools are detailed. Chapter 7 is focused on the implementation of a framework in a UNIX operating-system environment. The distributed computing environment and the organization of communicating processes are outlined. Ideas and methods applied for the development of the architecture of the implementation are explained. The ideas and methods presented in this wellorganized book are brought to a conclusion in Chapter 8. Really, the book is based on the research and development program of the Nelsis CAD Framework; the ideas and concepts are well illustrated by detail related to this field-tested framework. A major strength of the book is the transparent presentation of principles, methods and practices. This emerging field of software engineering integrates a huge number of ideas. Every chapter gives useful conclusions. The text is well written, and the illustrations are clear, although some additional illustrations would have been advantageous. Many important articles are referenced in the bibliography. In summary, this book is well organized, reflects the advances in CAD frameworks, and presents interesting ideas and practices.
IMRE J. RUDAS
Bt~nki Don6t Polytechnic, Budapest, Hungary