В свое время я немного изучил OCL и столкнулся со следующим вопросом, на который я не нашел правильного ответа. Я просмотрел документацию по OCL 2.4 Spec, но не нашел ничего похожего на чтобы ответить на мой вопрос:
В основном примеры allInstances() используются следующим образом:
контекст Person inv: Person.allInstances().forAll(p : Person | p.employeeNumber ‹> self.employeeNumber)
где Person — это класс с атрибутом employeeNumber.
Разрешено ли также использовать allInstances() для себя и других атрибутов, и будет ли он иметь то же самое, например ‹Type›.allInstances()?