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

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $2.60
Usually ships in 1-2 business days
(Save 94%)
Other sellers (Paperback)
  • All (18) from $2.60   
  • New (10) from $33.70   
  • Used (8) from $2.60   


Praise for The Object Constraint Language, Second Edition

“MDA promises a revolution in the way we develop software. This book is essential reading for anyone intending to adopt MDA technology.”

         —Tony Clark, PhD
             King’s College, London

“Through examples, Jos and Anneke demonstrate the power and intuitiveness of OCL, and the key role that this language plays in implementing and promoting MDA. The theme, structure, contents, and, not lastly, the clarity of explanations recommend this book as the best advocate for learning, using, and promoting OCL, UML, and MDA. I am sure that this work will contribute in a significant manner to the development and widespread use of new software technologies.”

         —Dan Chiorean
             Head of the Computer Science Research Laboratory
             Babes-Bolyai University, Cluj

"In this thoroughly revised edition, Jos and Anneke offer a concise, pragmatic, and pedagogic explanation of the Object Constraint Language (OCL) and its different applications. Their discussion of OCL's potential role in Model Driven Architecture (MDA) is timely and offers great insight into the way that UML can be taken to the next level of automated software development practice. I highly recommend this book to anyone who is looking to get the most out of UML."

—Shane Sendall, PhD, Senior Researcher, Swiss Federal Institute of Technology in Lausanne

The release of Unified Modeling Language (UML) 2.0 places renewed emphasis on the Object Constraint Language (OCL). Within UML, OCL is the standard for specifying expressions that add vital information to object-oriented models and other object-modeling artifacts. Model Driven Architecture (MDA) relies on OCL to add the level of programming detail necessary to enable platform-specific models (PSM) to communicate with platform-independent models (PIM).

This book is a practical, accessible guide to OCL for software architects, designers, and developers. Much care has been taken during the redesign of OCL to ensure that the syntax remains readable and writable by the average software modeler. The Object Constraint Language, Second Edition , utilizes a case study to show how to exercise these compact but powerful expressions for maximum effect.

This newly updated edition

  • Explains why OCL is critical to MDA--and why UML alone is not enough
  • Introduces an SQL-like syntax to OCL
  • Defines the new language constructs of OCL 2.0
  • Demonstrates how OCL can be incorporated into code
  • Shares tips and tricks for applying OCL to real-world modeling challenges—showing which can be solved with UML and which require OCL

Using a combination of UML and OCL allows developers to realize the effective, consistent, and coherent models that are critical to working with MDA. The authors' pragmatic approach and illustrative use of examples will help application developers come quickly up to speed with this important object-modeling method—and will serve as a ready reference thereafter.

Read More Show Less

Product Details

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

Meet 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.


Read More Show Less

Table of Contents

List of Figures
List of Tables
Foreword to the First Edition
Foreword to the Second Edition
Preface and Introduction
Pt. 1 User Manual 1
Ch. 1 MDA and the Use of OCL 3
Ch. 2 OCL By Example 21
Ch. 3 Building Models with OCL 37
Ch. 4 Implementing OCL 71
Ch. 5 Using OCL for MDA 93
Pt. 2 Reference Manual 105
Ch. 6 The Context of OCL Expressions 107
Ch. 7 Basic OCL Elements 121
Ch. 8 User-defined Types 129
Ch. 9 Collection Types 137
Ch. 10 Advanced Constructs 155
App. A: Glossary 171
App. B OCL Grammar Rules 175
App. C A Business Modeling Syntax for OCL 181
App. D Example Implementation 191
App. E Differences Between OCL Versions 1.1 and 2.0 197
Bibliography 201
Index 203
Read More Show Less


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.


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)