OCL — различия между версиями

(Новая страница: «'''Object Constraint Language''' (OCL, объектный язык ограничений) - это текстовый язык, который служит дл…»)
 
м
Строка 1: Строка 1:
'''Object Constraint Language''' (OCL, объектный язык ограничений) - это текстовый язык, который служит для определения ограничений и запросов. Он не предназначен для написания действий или выполнимого кода. OCL предназначен для создания навигационных выражений, логических и прочих запросов. Его можно использовать для описания ограничений, сторожевых условий, действий, пред- и постусловий, формальных утверждений и прочих выражений, принятых в языке [[UML]].
+
'''Object Constraint Language''' (OCL, объектный язык ограничений) - это текстовый язык, который служит для определения [[Ограничение|ограничений]] и запросов. Он не предназначен для написания действий или выполнимого кода. OCL предназначен для создания навигационных выражений, логических и прочих запросов. Его можно использовать для описания ограничений, сторожевых условий, действий, пред- и постусловий, формальных утверждений и прочих выражений, принятых в языке [[UML]].
  
 
Любое выражение OCL возвращает некоторое значение, при этом средствами OCL невозможно изменять ни диаграммы классов UML, ни значения атрибутов классов. OCL не является языком программирования в обычном смысле и не предназначен для управления логикой функционирования модели.
 
Любое выражение OCL возвращает некоторое значение, при этом средствами OCL невозможно изменять ни диаграммы классов UML, ни значения атрибутов классов. OCL не является языком программирования в обычном смысле и не предназначен для управления логикой функционирования модели.

Версия 22:35, 2 августа 2016

Object Constraint Language (OCL, объектный язык ограничений) - это текстовый язык, который служит для определения ограничений и запросов. Он не предназначен для написания действий или выполнимого кода. OCL предназначен для создания навигационных выражений, логических и прочих запросов. Его можно использовать для описания ограничений, сторожевых условий, действий, пред- и постусловий, формальных утверждений и прочих выражений, принятых в языке UML.

Любое выражение OCL возвращает некоторое значение, при этом средствами OCL невозможно изменять ни диаграммы классов UML, ни значения атрибутов классов. OCL не является языком программирования в обычном смысле и не предназначен для управления логикой функционирования модели.

UML диаграммы, такие как диаграммы классов, обычно не достаточно прозрачны для определения всех аспектов описания. Существует необходимость в описании дополнительных ограничений на объекты в данной модели. Такие ограничения часто определены на обычном языке. Практика показала, что это всегда даёт результат в случае двусмысленности. Формальные языки были созданы как раз для описания двусмысленных ограничений. Неудобство традиционных формальных языков в том, что они могут быть использованы только людьми хорошей математической базой, но сложны для обычных разработчиков приложений. OCL был разработан для избежания этого неудобства. Это формальный язык на котором легко писать и легко читать. Он был разработан, как язык для бизнес-моделирования отделении IBM Insurance, и имеет свои начала в методе Syntropy.

Функции

Язык OCL играет чрезвычайно важную роль, выполняя следующие основные функции:

  1. навигация по элементам модели (классам, атрибутам, ассоциациям);
  2. задание условий и ограничений на элементы модели.