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.