pernpeintner.net

Zusammenfassung OCL


1. Was ist OCL ?

  • OCL dient zur Bechreibung von Bedingungen in Klassendiagramme
  • Typen von Constraints:
  • - Invarianten für Klassen, Attribute
    - Vor-/Nachbedingung für Methoden

     

    2. Kopplung von UML und OCL durch Schlüsselwörter

    self gibt die Instanz der Klasse an, auf die sich ein OCL-Ausdruck bezieht.

    context bezieht sich auf die Klasse, in deren Kontext der OCL-Ausdruck auftritt.

    inv kennzeichnet einen invarianten OCL-Ausdruck.

    pre und post kennzeichnen die Vor- bzw. Nachbedingung an eine Methode.

    Syntax für Invarianten  Syntax für Vor-/Nachbedingung
    context <Klassenname>  context <Klassenname> :: <Signatur der Methode>
    inv <OCL-Ausdruck>

     pre <OCL-Ausdruck>

    post <OCL-Ausdruck>

    result bezeichnet das Resultat einer Methode innerhalb einer Nachbedingung.

    property@pre kennzeichnet den Wert von property vor Ausführug der Methode.

     

    3. Syntaxelemente für OCL-Ausdrücke

    Standarttypen:
     Typ  Wert  Operatoren
     Integer  ...-1,0,1,...  +,-,*,/,abs
     Boolean  true, false and, or, not, xor, implies, equals
     String  "ABCabc.." concat, size

    Bemerkung:
    Operationen der Standarttypen werden in Punktnotation ausgedrückt. (z.B.: String1.concat(String2) )

     

    Collection (Ansammlung von Objekten gleichen Typs):

    • set Mathematische Menge
    • bag Elemente können mehrfach auftreten
    • sequence angeordneter bag

     

    Operationen:

    • size
    • count (e:objekt)
    • includes (e:objekt)
    • forall (...)
    • exists (...)

     

    Schreibweise für Operationen von Collections:

    <Elementname> -> <Methodenname>

     

    Weitere Informationen:

    www-4.ibm.com/software/ad/library/standards/ocl.html


    Quelle: Informatik 2 - Zentralübung am 31.05.2001 von Dr. Schneider

    Thomas Pernpeintner