OCL - Wstęp

OCL jest językiem o notacji tekstowej służącym do specyfikowania warunków, ograniczeń, asercji i zapytań (zapisu wyrażeń ścieżkowych). OCL zawiera pewien zestaw predefiniowanych operatorów do operowania na elementach kolekcji czy typach podstawowych, ale nie jest przeznaczony do zapisywania kodu wykonalnego.

Podstawowe elementy składni OCL:

element.selektor
  • selektor może być nazwą atrybutu (opisującego element) - wtedy zwracana jest albo wartość albo zbiór wartości atrybutu
  • selektor może być nazwą roli (celu) - wtedy zwracany jest zbiór powiązanych obiektów

Ograniczenia w postaci wyrażeń OCL mogą być używane do specyfikacji niezmienników klas, warunków początkowych i końcowych operacji, wartości początkowych i wyprowadzanych atrybutów klas. Ograniczenia są interpretowane w sposób deklaracyjny, tzn. określają co jest sytuacją poprawną i nie zmieniają stanu modelu. Standard języka UML/OCL nie definiuje działań podejmowanych w przypadku niespełnienia niezmienników klas lub warunków początkowych, czy końcowych operacji.

Korzystając z notacji OCL można również definiować niezmienniki stanów oraz warunki dozorów na przejściach w diagramach stanów i czynności, a także warunki przesyłania komunikatów na diagramach sekwencji i współpracy.