Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

OCL – Object Constraint Language

Ähnliche Präsentationen


Präsentation zum Thema: "OCL – Object Constraint Language"—  Präsentation transkript:

1 OCL – Object Constraint Language
Randbedingungen im UML Modell mit Hilfe von OCL hinzufügen

2 OCL Randbedingungen in UML Modell können als normaler Text oder Mithilfe von OCL formuliert werden. Vorgegebene Syntax und Semantik. Das Modell wird dadurch präziser und eindeutig. Rein deklarative Sprache, hat keine Seiteneffekte, beschreibt nur Was? aber nicht Wie?

3 OCL Die OCL Syntax deckt den Bereich von
Anfangswerten (initial values), logische Bedingungen (constraints) und Zusicherungen (contracts, asserts) ab.

4 OCL 7 unterschiedliche Arten
Invariants müssen zu jeder Zeit für eine Instanz oder Assoziation gelten. Preconditions/Postconditions müssen zu dem Zeitpunkt gelten, an dem die Ausführung der zugehörigen Operation beginnt/endet. Initial & derived Values stellen Bedingungen für Ausgangs- und abgeleitete Werte dar Definition: es können Attribute und Operationen definiert werden, die nicht im Modell enthalten sind. Body Definition von Operationen mit isQuery = true. Guards müssen gelten, wenn ein Zustandsübergang beginnt

5 OCL Aufbau der OCL Syntax Bedingungen:
Das Alter einer Person ist nicht negativ. context Person inv: self.Alter >= 0 Eine Person ist jünger als ihre Eltern. context Person inv: self.Eltern->forAll(e|e.Alter>self.Alter)

6 OCL Wenn jemand ein Kind bekommen hat, ist die Menge seiner Kinder nicht leer und die Anzahl der Kinder ist größer als vorher. context Person:: bekommtKind() post: self.Kinder->notEmpty() and self.Kinder->size() > self . pre->size() Es gibt mindestens eine Person, die ein Auto besitzt. context Person inv: Person.allInstances->exists(p|p.autos->size() > 0)


Herunterladen ppt "OCL – Object Constraint Language"

Ähnliche Präsentationen


Google-Anzeigen