1.1 Introducing OCL


The Object Constraint Language (OCL) is a modeling language with which you can build software models. It is defined as a standard "add-on" to the Unified Modeling Language (UML), the Object Management Group (OMG) standard for object-oriented analysis and design. Every expression written in OCL relies on the types (i.e., the classes, interfaces, and so on) that are defined in the UML diagrams. The use of OCL therefore includes the use of at least some aspects of UML.

Expressions written in OCL add vital information to object-oriented models and other object modeling artifacts. This information often cannot be expressed in a diagram. In UML 1.1, this information was thought to be limited to constraints, where a constraint is defined as a restriction on one or more values of (part of) an object-oriented model or system. In UML 2, the understanding is that far more additional information should be included in a model than constraints alone. Defining queries, referencing values, or stating conditions and business rules in a model are all accomplished by writing expressions. OCL is the standard language in which these expressions can be written in a clear and unambiguous manner.

Recently, a new version of OCL, version 2.0, has been formally defined in the Object Constraint Language Specification [OCL03] and as such it has been adopted by the OMG. This book explains this version of OCL and how it can be put to use in software development.

There is a strong relationship between all OMG standards. The most recent OMG initiative is the Model Driven Architecture (MDA). The essence of the MDA approach is that models are the basis for software development. Therefore, models should be good, solid, consistent, and coherent . Using the combination of UML and OCL, you can build such models.



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