Additional information
Changes to Adopted OMG Specifications
This specification replaces the specification of OCL given in UML
1.4.1 and UML 1.5.
Structure of the specification
The document is divided into several chapters.
The OCL Language Description chapter gives an informal description of
OCL in the style that has been used in the UML 1.1 through 1.4. This
section is not normative, but meant to be explanatory.
Chapter 8 (“Abstract Syntax”) describes the abstract syntax of OCL
using a MOF 2.0 compliant metamodel. This is the same approach as used
in the UML 1.4 and other UML 2.0 submissions. The metamodel is MOF 2.0
compliant in the sense that it only uses constructs that are defined in
the MOF 2.0.
Chapter 9 (“Concrete Syntax”) describes the canonical concrete syntax
using an attributed EBNF grammar. This syntax is mapped onto the
abstract syntax, achieving a complete separation between concrete and
abstract syntax.
Chapter 10 (“Semantics Described using UML”) describes the semantics
for OCL using UML.
In section 11 (“The OCL Standard Library”) the OCL Standard Library is
described. This defines type like Integer, Boolean, etc. and all the
collection types. OCL is not a stand-alone language, but an integral
part of the UML. An OCL expression needs to be placed within the
context of a UML model.
Section 12 (“The Use of Ocl Expressions in UML Models”) describes a
number of places within the UML where OCL expressions can be used.
Appendix A (“Semantics”) describes the underlying semantics of OCL
using a mathematical formalism. This appendix, however is not
normative, but ment for the readers that need a mathematical
description for the semantics of OCL.
Appendix B (“Interchange Format”) is currently a place holder for an
interchange format, which can be defined along the same lines as XMI.