Lorsque vous écrivez des instructions en langage OCL (Object Constraint Language), le modèle cible détermine à quelles fonctions de l'élément de contexte ces instructions peuvent accéder. Le modèle cible peut être soit le modèle utilisateur, soit le métamodèle.
Lorsque vous désignez le modèle utilisateur comme modèle cible, vous limitez vos instructions OCL aux fonctions utilisateur de l'élément de contexte. Par ailleurs, les instructions OCL ne peuvent pas être évaluées. Elles peuvent seulement être interprétées (analysées) pour vérifier qu'elles sont syntaxiquement valides.
Lorsque vous désignez le métamodèle comme modèle cible, vos instructions OCL ont accès aux fonctions de métamodèle de l'élément de contexte ainsi qu'à toutes les fonctions apportées par les stéréotypes appliqués à l'élément de contexte. Par ailleurs, dans ces conditions, vous pouvez analyser les instructions OCL pour contrôler la validité de leur syntaxe, mais aussi évaluer leur sortie.