Pub. Date:
The Object Constraint Language: Getting Your Models Ready for MDA / Edition 2

The Object Constraint Language: Getting Your Models Ready for MDA / Edition 2


View All Available Formats & Editions
Current price is , Original price is $44.99. You
Select a Purchase Option (REV)
  • purchase options
  • purchase options
    $24.99 $44.99 Save 44% Current price is $24.99, Original price is $44.99. You Save 44%.
    Note: Access code and/or supplemental material are not guaranteed to be included with textbook rental or used textbook.
  • purchase options

Product Details

ISBN-13: 9780321179364
Publisher: Addison-Wesley
Publication date: 09/10/2003
Series: Addison-Wesley Object Technology Series
Edition description: REV
Pages: 240
Product dimensions: 6.90(w) x 9.00(h) x 0.70(d)

About the Author

Jos Warmer is the primary author of the OCL standard. He is an active member of the Unified Modeling Language (UML) Revision Task Force, which defined the revisions in the UML 2.0 standard. Previously he was a member of the UML core team, where he was responsible for the development of the Object Constraint Language (OCL). The author of several books and numerous international articles, Jos is an advisor on the UML method and techniques at the De Nederlandsche Bank.

Anneke Kleppe is a consultant and adviser at Klasse Objecten, which she founded in 1995 to train and coach companies on the use of object technology, modeling, and MDA. She was intensively involved in the development of the Unified Modeling Language (UML) and the new UML 2.0 standard. The author of several books, Anneke started a knowledge center for object technology at KPN Research in Leidschendam, Netherlands. She is a member of the authoring team of the OCL 2 standard, where she has a special focus on the definition of the semantics of the OCL.



In November 1997, the Object Management Group (OMG) set a standard for object-oriented analysis and design facilities. The standard, known as the Unified Modeling Language (UML), includes model diagrams, their seman-tics, and an interchange format between CASE tools. Within UML, the Object Constraint Language (OCL) is the standard for specifying expressions that add vital information to object-oriented models and other object modeling artifacts.

In UML version 1.1, this information was thought to be limited to con-straints, where a constraint is defined as a restriction on one or more values of (part of) an object-oriented model or system. In UML version 2 the under-standing is that there is far more additional information that should be included in a model than constraints alone. Defining queries, referencing values, or stating conditions and business rules in a model, is all done by writing expressions, i.e. these are all expressed in OCL.

OCL has evolved from an expression language in the Syntropy method through a business modeling language used within IBM until it was included in UML in 1997. At that point in time it received its current name. This name is currently well established and therefore it is not expedient to change it to, for instance, Object Expression Language, although this name would currently be more appropriate.

OCL has been used as an expression language for object-oriented model-ing during the last six years. Today, a large number of tools support the lan-guage. Since OCL was first conceived there have been many changes and additions to the language. Lately this has led to a new version of OCL, ver-sion 2.0, to accompany the new version of UML. OCL version 2.0 is formally defined in the Object Constraint Language Specification OCL2002. This book explains all features of this version of OCL.

Recently, the OMG has launched an initiative called the Model Driven Architecture (MDA). The essence of the MDA approach is that models are the basis for software development. To be able to work with this architecture good, solid, consistent, and coherent models are a neccesity. Using the com-bination of UML and OCL you are able to build such models.

In the many books that have been published on the subject of UML, its expression language has not received the attention it deserves. A first aim of this book is to fill this gap and to explain UML's expression language, which supports the task of modeling object-oriented software as much as the UML dia-grams. The second aim of this book is to introduce OCL version 2.0 to a wider audience. Not everyone is pleased with reading a formal standard, the informa-tion should be available in a more easy to read book. The last aim of this book is to explain why the use of OCL is essential to the application of MDA. Without OCL and the languages, transformations, etc. that are all enabled by OCL, application of MDA is bound to fail.


The book is meant to be a textbook and reference manual for practitioners of object technology who find a need for more precise modeling. This certainly includes persons that want to apply MDA principles. These people will want to use OCL in their analysis and design tasks, most probably within the context of UML but potentially with other graphical object modeling languages. This book assumes that you have general knowledge of object-oriented modeling, preferably UML. If you lack this knowledge, there are many books on UML that you can read first.


Part 1 of this book explains how OCL can be put to use. Anyone unfamiliar with OCL should read this part. An introduction to the Model Driven Architecture is given and the key role OCL plays in that framework is described. In this part OCL is explained in a relatively informal way, mostly by example. Hints and tips are given on how to build models using OCL and on how to implement these models. Part 2 constitutes a reference guide that describes the OCL language com-pletely. If you are already familiar with OCL you can find evrything you want to know about the new version of OCL in this part.

Appendix A is a reference on the terminology used in this book. Appendix B is a reference on the syntax of the language. Finally, appendix would be of interest for people who feel that the offical (concrete) syntax of OCL could be improved. It gives an example of a different syntax, called Business Modeling Syntax, that may be substituted for the offical syntax.


This book uses the following typeface conventions:

  • All OCL expressions and context definitions are printed in a monospaced font.
  • All OCL keywords are printed in a monospaced bold font.
  • At the first introduction or definition of a term, the term is shown in italics.
  • All references to classes, attributes, and other elements of a UML diagram are shown in italics.


The text of the UML and OCL standards is freely available from the OMG website ( Recent information on OCL can be found on the Klasse Objecten website: Several tools are available that can trans-late OCL to code. Since the tool market is rapidly changing, we do not provide a list of tools in this book; it would be outdated quickly. Instead, on the before men-tioned website you can find an up-to-date list of tools that are currently available.


Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews