Book description
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.
Table of contents
- Copyright
- Praise for The Object Constraint Language, Second Edition
- The Addison-Wesley Object Technology Series
- The Component Software Series
- List of Figures
- List of Tables
- Foreword to the First Edition
- Foreword to the Second Edition
- Preface and Introduction
-
1. User Manual
- 1. MDA and the Use of OCL
- 2. OCL By Example
-
3. Building Models with OCL
- 3.1. What Is a Model?
- 3.2. Use UML Diagrams as a Base
-
3.3. Completing Class Diagrams
- 3.3.1. Derivation Rules
- 3.3.2. Initial Values
- 3.3.3. Body of Query Operations
- 3.3.4. Invariants
- 3.3.5. Preconditions and Postconditions
- 3.3.6. Messaging in Postconditions
- 3.3.7. Cycles in Class Models
- 3.3.8. Defining Derived Classes
- 3.3.9. Dynamic Multiplicity
- 3.3.10. Optional Multiplicity
- 3.3.11. Or Constraints
- 3.4. Completing Interaction Diagrams
- 3.5. Completing Statecharts
- 3.6. Completing Activity Diagrams
- 3.7. Completing Component Diagrams
- 3.8. Completing Use Cases
- 3.9. Modeling Styles
- 3.10. Tips and Hints
- 3.11. Summary
- 4. Implementing OCL
- 5. Using OCL for MDA
-
2. Reference Manual
- 6. The Context of OCL Expressions
- 7. Basic OCL Elements
- 8. User-defined Types
-
9. Collection Types
- 9.1. The Collection Types
- 9.2. Operations on Collection Types
-
9.3. Loop Operations or Iterators
- 9.3.1. Iterator Variables
- 9.3.2. The isUnique Operation
- 9.3.3. The sortedBy Operation
- 9.3.4. The select Operation
- 9.3.5. The reject Operation
- 9.3.6. The any Operation
- 9.3.7. The forAll Operation
- 9.3.8. The exists Operation
- 9.3.9. The one Operation
- 9.3.10. The collect Operation
- 9.3.11. Shorthand Notation for collect
- 9.3.12. The collectNested Operation
- 9.3.13. The iterate Operation
-
10. Advanced Constructs
- 10.1. Constructs for Postconditions
- 10.2. Operations of the OclMessage Type
- 10.3. Packaging Expressions
- 10.4. Local Variables
- 10.5. Tuples and Tuple Types
- 10.6. Undefined Values, the OclVoid Type
- 10.7. Retyping or Casting
- 10.8. Type Conformance Rules
- 10.9. Accessing Overriden Features
- 10.10. The OclAny Type
- A. Glossary
- B. OCL Grammar Rules
- C. A Business Modeling Syntax for OCL
- D. Example Implementation
- E. Differences Between OCL Versions 1.1 and 2.0
- Bibliography
Product information
- Title: Object Constraint Language, The: Getting Your Models Ready for MDA, Second Edition
- Author(s):
- Release date: August 2003
- Publisher(s): Addison-Wesley Professional
- ISBN: None
You might also like
book
Object Design Style Guide
Object Design Style Guide presents dozens of professional techniques for writing OO code. In it, veteran …
book
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Software Architecture: A Case Based Approach
The book discusses the discipline of Software Architecture using real-world case studies and poses pertinent questions …