Интересный вопрос.
«Святым Граалем» языка объектных ограничений было создание структуры, которая в сочетании с UML позволяла инструменту преобразовывать его в конкретный объектный граф / метамодель, то есть набор классов, которые уже имели свою базовую структуру и ограничения. так что все, что нужно было сделать разработчику, это реализовать бизнес-методы. (все это не зависит от языка)
JBuilder из Borland попытался изменить это в своей корпоративной версии, и Delphi с ECO также практично использовала OCL (хотя и не в качестве входного преобразования), поддерживая возможности Query. Фактически, Андерс Инвер из Borland / BoldSoft, и один из сотрудников ОЭС, написал форвард по Библии OCL, Object Constraint Language, второе издание (addison wesley)
Мое личное мнение таково, что недостаточно, чтобы оправдать обучение. Без использования специализированных (и дорогих) инструментов модель UML / OCL по-прежнему сложно проверить в реальных условиях, и получаемая вами ценность является незначительной (если вообще что-то) по сравнению с разработкой, основанной на итеративных тестах. Ситуация с независимостью от языка переоценивается, давайте посмотрим правде в глаза, как только мы запустим Java, C #, Delphi, C ++ или любой другой путь, в аду мы не сможем сгенерировать что-то еще, это просто не практично.
Что бы это ни стоило, мне еще предстоит увидеть Model Driven Development с OCL, реально используемым в реальном мире для реального проекта. (кроме как для проверки концепции) В последнее время в реальном мире, похоже, работают гибкие процессы, Scrum и т. д., и просто интерактивная разработка с использованием стандартных сред IDE со стандартными языками и пользовательскими историями (возможно, с некоторым UML на доске или раскадровке).