Haim Kilov and Kenneth Baclawski (Editors)
Kluwer 2003
ISBN: 01402014805 (boards)
Buy it from Amazon.com
Buy it from Amazon.co.uk
This is the third in the series of OOPSLA Workshops on Behavioral Semantics led by Haim Kilov (the others were in 1996 and 1999). It is a simple collection of workshop papers, linked only by the general theme, the preface, and the index.
Kilov's position is clearly restated in the preface: the need to be 'abstract, precise, and explicit'. The preface is headed by quotations from Roger Bacon and others. In it the editors write:
One of the unfortunate characteristics of computing science and software engineering is a noteworthy lack of interest in work done "long ago". It is taken for granted by many that a two-year old book could not possibly still be relevant. Yet the computing classics published in the 1960s show that many concepts considered new to be a recent invention have existed for a long time, perhaps under different names. This includes, among many others, such concepts as pair programming, component factories, the gross inadequacies of box-and-line diagrams, and the confusion generated by a set of tacit assumptions. Then, as now, software engineerng - especially including business and system specifications - ought to be based on the types of theoretical foundations and practical disciplines that are traditional in the established branches of engineering.
In other words, things would be better if people read books, and then used them to write better specifications with diagrams that meant something. Some hope. However the editors wisely caution:
Different users of specifications, especially business experts, may have serious difficulties in reading and understanding them due to the complexity and size of the specifications.
But they at once optimistically conclude:
However if the basic concepts are explained (and the irrelevant details ignored via abstraction) then these difficulties become resolved.
This then is the challenge: to move away from human vagueness to improve systems development, while staying close enough to humans to improve requirements capture and validation.
The papers are arranged purely alphabetically. The editors somewhat despairingly confess:
While it is always tempting to provide a classification for a collection of papers, once again we admit defeat.
So readers have no option than to play lucky dip and hope for a paper relevant to their work; of course they can search for keywords or the names of authors they know. Given that there are strong themes in these volumes, it would be possible to create a collaborative work which dealt with each theme in turn, arguing the pros and cons of alternative approaches. That would certainly be more approachable.
As for the papers themselves, UML looms ever larger, and along with RM-ODP more and more of the papers address aspects of its formalisation. For example, Kilov himself, with Michael Guttman, has contributed a paper introspecting about modeling the process of business modeling; and one with Othmar Bernet arguing the case for diagrams with precise meanings. 3 authors from Microsoft Research in Redmond write about .NET Contracts: Attaching Specifications to Components.
The volume will mainly be of interest to researchers working in the field of precise specification.
© Ian Alexander 2004