Object Constraint Language

Object Constraint Language (OCL) - deklaratyvi ribojimų kalba, skirta aprašyti taisykles taikomas UML modeliams. OCL sukūrė IBM kaip UML standarto dalį. Pradžioje OCL buvo tik UML praplėtimas, skirtas formaliai specifikuoti taisykles. OCL užrašomos ribojimų ir objektų užklausų išraiškos, kurios negali būti išreikštos UML ar meta modelio diagramos notacija. OCL yra naujas OMG standartas rekomenduotinas naudoti atliekant modelių transformacijas.

OCL kilo iš Syntropy projektavimo metodo. OCL 1.4 - ribojimų kalba. 2.0 versijoje OCL apibrėžimas praplėstas įtraukiant bendrus objektų užklausos kalbos apibrėžimus.

OCL kalbos sakinių struktūra sudarytų iš 4 dalių:
 Kontekstas apibrėžiantis taikymo sritį;
 Savybė(-ės), kuri apibrėžia konteksto charakteristikas;
 Operacija (pvz., aritmetinė ar atliekama su pačia savybe), kuri naudojama keisti, manipuliuoti savybe;
 Raktažodžiai (pvz., if, then, else, and, or, not, implies), kurie naudojami nusakyti sąlygos išraišką.

UML