UML - Uniform Modeling Language
OCL - Object Constraint Language
zur Spezifikation von Invarianten u.a. für Steortypen in Profilen
Formulierung von Abfragen (u.a. für MOF-Model to Text Transformation)
Spezifikation Vor- und Nachbedingungen (pre/post Conditions) von Operationen
Spezifikationen von Guards - in Zustandsdiagrammen
Spezifikation von Ableitungsregeln von Attributen für Ausdrücke auf einem UML-Modell
Seiteneffektfrei - Ausführung darf das Modell/System nicht ändern
Die Sprache ist nicht für Implementierungsaspekte gedacht
OCL-Ausdrücke beziehen sich auf einen Kontext (
self
)
dot
.
: Navigation von einem speziellen Objekt aus über Assoziationenden/Properties:
object.associationEndName
Arrow
->
: Collections , also Sets, OrderedSets, Bags, und Sequences sind einbebaute Typen. Auf Eigenschaften der Collections wird mit
->
zugegriffen:
self.employee->size()
Collections bilden sich wenn 1:n-Beziehungen bei Assoziationen definiert sind. (OCL Kap. 7.5.3)
Literatur
Quelle:
Spezifikation
mit Non-Normative-Teil - hier gibt es auch ein XMI
Rumpe Kap.3
beschreibt OCL
Allerdings hat der Author eine Sonderform OCL/P entwickelt, die sich an
Java
orientiert.
E.W.: "Enriching your Modeels with OCL
motiviert OCL und die Eclipse-Implementierung
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber