Я спрашиваю, потому что UML используется для неофициальных спецификаций и имеет некоторую двусмысленность в своей семантике. Однако я думаю, что OCL можно использовать для указания условий до/после, инвариантов и других ограничений достаточно эффективно.
Недавно я столкнулся с обозначением Z и алгебраическими спецификациями. Мой вопрос: достаточно ли комбинации UML и OCL для формальных спецификаций?