Russell Kay
OBJECT-ORIENTED SPECIFICATION CASE STUDIES, by Kevin Lano and Howard Haughton Prentice-Hall, ISBN 0-13-097015-8, $39
Once we get beyond Visual Basic and C++, do we know just where OOPLs (object-oriented programming languages) are headed? This book attempts to answer that question. It applies the mathematical structure of formal methods to OOPL design. It describes a number of leading-edge languages and provides detailed specifications for their syntax and how they can be used.
The editors begin Object-Oriented Specification Case Studies by showing how two commonly used object-oriented structured methods for specification and analysis--Object Modeling Technique and Object-Oriented Analysis--can model various types of objects. With these analytic
al tools under their belt, Lano and Haughton compare a number of OOPLs that are still in the theoretical and developmental stages. Finally, they show how these languages can support design and specification activities at various points in the software life cycle.
After laying this groundwork, the editors then turn the book over to a series of case studies written by a variety of international contributors. First, three researchers from the Federal University of Pernambuco, Brazil, show how to specify the Unix file system using the language MooZ.
Next, two computer scientists at the University of Queensland, Australia, introduce Object-Z and use it to specify a mobile-phone system. Lano and Haughton themselves present Z++ and show how it might be used in a machine-recognition system. Two Oxford University researchers discuss OOZE (Object-Oriented Z Environment) and show how to use it in sample applications involving bank accounts and block-structured symbol tables.
Moving to Smalltalk-base
d OOPLs, a colleague of the editors at Lloyd's Register in the U.K. discusses object orientation in VDM++. The editors discuss Fresco, a proposed but incomplete environment for building reusable software components. Wrapping up this array of little-known systems and OOPLs, two Brazilian researchers discuss SmallVDM, a development environment and tool set.
You should be aware right from the start that this book is not easy sledding. It presumes that you are familiar with a considerable number of highly technical and abstract areas, including object orientation and various ways of formally specifying computer language syntax and structure. Also, it is difficult to fully understand many of the examples if you are not well acquainted with Z--a language/notation system that I had not encountered prior to opening this book. Because Z is the basis for so many of the languages studied here, it's unfortunate that the editors neither describe nor discuss it directly. Despite this limitation, if you want to find
out the directions that OOPLs are headed, this book will probably give you what you need.