Jednou z často citovaných zkratek poslední doby je MDD (Model Driven Development), příp. MDA (Model Driven Architecture), nebo dokonce MDE (Model Driven Engineering).
Princip těchto přístupů spočívá v tom, že se při tvorbě aplikace využívají různé modely. Může nám vytváření modelu něco přinést? Sdružení OMG propaguje myšlenku, že práce s modelem může přinést mnoho nových možností.
Model může být použit pro generování struktury dat a kostry řešení, reverzním inženýrstvím lze získat model existujícího systému pro jeho snazší pochopení, či úpravy. Nad modelem lze provádět různé transformace, refaktorizace apod.
Pro modelování se v současnosti nejvíce využívá standard UML (Unified Modeling Language). Aby však byl model dostatečně úplný, je třeba doplnit diagramy v UML přesnými popisy různých integritních omezení.
Pro tento účel obsahuje definice UML speciální jazyk nazvaný OCL (Object Constraint Language), jehož strukturou a smyslem se tento příspěvek zabývá.