OCL Expression Editor

Um die Eingabe von OCL-Expressions in Vertec zu erleichtern gibt es den OCL-Expression-Editor. Darin können Sie aus dem Datenmodell von Vertec die gewünschte Expression suchen und zusammensetzen.

Basistyp: Der Basistyp wird angegeben. Die OCL-Expression bezieht sich auf diesen Typ, hier im Beispiel also Projekt.

Expression: In diesem Bereich wird die OCL-Expression editiert, entweder durch manuelles eintippen oder durch Doppelklick auf das gewünschte Feld auf der rechten Seite.

Verfügbare Felder: Hier werden die Links, Members und Operationen angegeben, die auf dem aktuellen Typ verfügbar sind.

  • grün: alle Links zu anderen Objekten
  • türkis: Felder (Members)
  • gelb: Operationen

Gültigkeit: Im Bereich unter der Expression gibt der Expression Editor aus, ob die Expression gültig ist oder nicht.

Beispiel

Sie wollen pro Projekt die Summe aller offenen Leistungen des Projektleiters anzeigen.

Wählt man den Projektleiter mit Doppelklick aus oder schreibt man projektleiter ins Feld Expression, zeigt der Expression Editor folgendes Bild:

Der Abfrageneditor meldet, dass die Expression OK ist und dass der aktuelle Typ nun Projektbearbeiter ist. Im rechten Teil erscheinen nun die Felder des Projektbearbeiter, u.a. "offeneLeistungen". Wählen Sie diesen durch Doppelklick aus.

Der Editor meldet nun, dass der aktuelle Typ eine Collection (Liste) von offenen Leistungen ist, und zeigt rechts die Felder des Typs "OffeneLeistung". Wir wählen aus der Liste wertext (unter den blauen zu finden) oder tippen hinter die schon existierende Expression .wertext ein, sodass die Expression lautet: projektleiter.offeneleistungen.wertext. Der Editor zeigt nun folgendes:

Der aktuelle Typ ist nun ein Liste von Zahlwerten (Currency), und im rechten Teil sind nur noch gelbe Einträge (Operationen) sichtbar. Wählen Sie ->sum, um die Zahlen zu summieren.

Der aktuelle Typ ist nun ein Zahlwert. Wenn Sie nun auf OK klicken, dann wird die erstellte Expression übertragen.


20.06.2003 | 27.06.2011: Neue Screenshots eingefügt.