Автономный движок DresdenOCL (StandaloneFacade) содержит функцию generateJavaCode. Я не уверен, хотя, если эта функция на самом деле «завершена» и генерирует правильный код Java для всех возможных ограничений OCL. Вы также не можете найти информацию об этой функции в Google, она просто используется в отдельном примере.
Редактировать: в качестве примера, какой код Java он генерирует:
Для этого выражения OCL (на некоторой простой модели UML, которую я создал)
context person
inv: self.age >= 0
вы получаете этот кусок кода Java
(aClass.age >= new Integer(0))
И для этого выражения OCL
context person::havingBirthday()
post: self.age = self.age@pre+1
вы получите это:
((Object) aClass.age).equals((atPreValue1 + new Integer(1)))
Таким образом, сгенерированный код Java не настолько удобен для использования, вам нужно немного изменить его (или ваши функции Java), чтобы фактически использовать его.