Да, для большинства систем, которые вы можете построить.
Я имею в виду, что UML и OCL являются лишь полуформальными языками (их синтаксис четко определен, но их семантика формализована лишь частично, многие аспекты просто описаны на естественном языке в спецификациях стандартных документов). Следовательно, если вы создаете критическую систему и вам необходимо доказать ее корректность, тогда UML / OCL может не сработать, но для многих других типов систем такой тип формальности, который может обеспечить UML / OCL, достаточно хорош