11.07.2015 Aufrufe

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

18 KAPITEL 3: GRUNDLAGEN VON <strong>ODL</strong>Auswertung werden wahlweise in einem separaten Ausgabefenster oder im Editorfenster angezeigt(Abbildung 3.1). Die Architektur des <strong>ODL</strong>-Systems <strong>und</strong> der implementierte Sprachumfang werdenausführlich in [Pasch] beschrieben. Wir wollen daher nur kurz den implementierten Sprachumfangbeschreiben, der den Ausgangspunkt für die Erweiterungen darstellt.Abbildung 3.1: <strong>ODL</strong>-EditorfensterDer Sprachumfang der ersten <strong>ODL</strong>-Interpreter-Realisierung entspricht der in [Sch01] (S.16-17)spezifizierten Grammatik mit der Einschränkung, dass Selektorausdrücke <strong>und</strong> Funktionsausdrückenicht unterstützt wurden. Damit standen folgende <strong>Sprachkonstrukte</strong> zur Verfügung:• DatentypenDas Typsystem enthielt zwei Gruppen von Datentypen: die Gr<strong>und</strong>typen Boolean, Int <strong>und</strong>String sowie Metamodelltypen, die alle vom Metamodell definierten Entitäten darstellen –beispielsweise entpricht der Metamodellentität ”Port” der <strong>ODL</strong>-Datentyp Port.• QuantifizierungenVariablen von Typen mit endlicher Domäne konnten mit dem Universalquantor forall <strong>und</strong>dem Existenzquantor exists quantifiziert werden. Außerdem konnten mit dem new-Quantorneue Entitäten erstellt werden.Der context-Quantor, der für die geb<strong>und</strong>ene Variable eine Benutzereingabe starten soll, wurdein den Sprachumfang intergriert, ein entsprechendes <strong>ODL</strong>-Query-Subsystem war allerdingsnicht Bestandteil der Implementierung, sodass von context-Quantoren geb<strong>und</strong>ene Variablenmit festen Werten (z.B. null für Entitäten oder 0 für ganze Zahlen) belegt wurden.Eine Quantifizierung besteht aus dem Quantor, der geb<strong>und</strong>enen Variablen, dem Variablentyp<strong>und</strong> dem quantifizierten Term. Beispiel:forall c1:Component. exists c2:Component. c1 = c2• Logische OperationenZwei <strong>ODL</strong>-Propositionen konnten mit den Junktionen and, or, implies <strong>und</strong> equiv verknüpftwerden. Mit dem einstelligen neg-Operator konnte eine <strong>ODL</strong>-Proposition negiert werden.Beispiel:forall a:Boolean. forall b:Boolean.(a = b equiv exists c:Boolean.( a = c and b = c ) )

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!