Foreword to the First Edition


For many years there has been a branch of computer science concerned with using formal logical languages to give precise and unambiguous descriptions of things. As an academic in the 1970s and 1980s I was very interested in such languages, for example Z and Larch. Unravelling the meaning of a statement in one of these languages is sometimes like a complex jigsaw puzzle, but once the unravelling is done the meaning is always crystal-clear and unambiguous. As I moved into the world of object-oriented methods I found a different way of specifying, using diagrams. With diagrams, the meaning is quite obvious, because once you understand how the basic elements of the diagram fit together, the meaning literally stares you in the face.

But there are many subtleties and nuances of meaning that diagrams cannot convey by themselves : uniqueness, derivation, limits, constraints, etc. So it occurred to me that from a modelling perspective a carefully designed combination of diagrammatic and formal languages would offer the best of both worlds . Armed with this realisation I worked during the early 1990s with John Daniels to create Syntropy, an object-oriented modelling language which combined the diagrammatic simplicity and clarity of OMT with the formality of a subset of Z.

Object Constraint Language (OCL) was first developed in 1995 during a business modelling project within IBM in which both Jos Warmer and I were involved, working in IBM's Object Technology Practice. This project was heavily influenced by Syntropy ideas. But unlike in Syntropy there is no use in OCL of unfamiliar mathematical symbols. OCL was very carefully designed to be both formal and simple: its syntax is very straightforward and can be picked up in a few minutes by anybody reasonably familiar with modelling or programming concepts.

During 1996 Jos and I became involved in the Object Management Group's efforts to standardize on a language for object-oriented analysis and design. I led IBM's contribution to this process, and together with ObjecTime Limited we wrote a proposal which emphasised simplicity and precision. Our goal all along was to collaborate with the other submitters to produce an overall standard containing the right elements in the right balance. OCL was a fundamental aspect of this proposal.

The leading proposal was UML (Unified Modeling Language) from Rational Software Corporation and its partners . UML, which combined ideas from its three authors Grady Booch, Ivar Jacobson, and James Rumbaugh, focused primarily on the diagrammatic elements and gave meaning to those elements through English text. As the submissions were combined, OCL was used to give added precision to the definition of UML; in addition OCL became part of the standard and thus available to modellers to express those additional nuances of meaning which just the diagrams cannot represent. This is a very important addition to the standard language of object-oriented modelling.

Jos Warmer and Anneke Kleppe's book is a crucial addition to the object-oriented modeling literature. I've greatly enjoyed working with Jos on the development of OCL over the past few years, and he and Anneke have done a first-class job in this book of explaining OCL and making it accessible to modellers. They have focused on the important aspects and illustrated the concepts with plenty of simple examples. Even for those with no experience of formal methods this book is an excellent place to learn how to add precision and detail to your models.


          October  1998,  Steve  Cook



Object Constraint Language, The. Getting Your Models Ready for MDA
The Object Constraint Language: Getting Your Models Ready for MDA (2nd Edition)
ISBN: 0321179366
EAN: 2147483647
Year: 2003
Pages: 137

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net