Die Object Constraint Language (OCL) ist Bestandteil der Unified Modeling Language und dient u.a. der textuellen Spezifikation von Invarianten in Klassendiagrammen, von Bedingungen in Sequenzdiagrammen oder der Formulierung von Vor- und Nachbedingungen für Methoden. Ihre Syntax ist an die Programmiersprache Smalltalk angelehnt. Sie ist seit der UML-Version 1.1 Bestandteil der UML.