'
As the use of UML grows and UML is applied to more fields of software and systems engineering, the need for more precise specifications grows, e.g. when generating code or test cases from specifications.
In the component-based world we need to be able to specify the behavior of components in a very precise way. This enables us to know whether components are plug-compatible and allows us to derive the behavior of assembled components and make sure that they have the desired behavior.
For these purposes UML\'s Object Constraint Language is becoming more popular as a standardized and language independent specification mechanism. This tutorial shows the importance of constraints as an object-oriented specification technique and how they add value to the visual modeling techniques of UML. The OCL language itself and the connection with the visual UML diagrams is thoroughly explained.
The final part of the tutorial will show how one can apply constraint modeling in UML to achive the above described goals.'