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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

6.2 OPTIMIERUNG DER ABFRAGEAUSWERTUNG 1092: Eliminierung von Disjunktionen mithilfe von DeMorgans Gesetz:¬(¬ ( ) (p 1 ∧ p 2 ∧ p 3 ∨ ¬(p4 ∧ p 5 ) ∨ (¬p 6 ∨ ¬p 7 ) ))= ¬(¬ ( ) (p 1 ∧ p 2 ∧ p 3 ∨ ¬(p4 ∧ p 5 ) ∨ ¬(p 6 ∧ p 7 ) ))= ¬(¬ ( ) (p 1 ∧ p 2 ∧ p 3 ∨ ¬ (p4 ∧ p 5 ) ∧ (p 6 ∧ p 7 ) ))( (p1 ) ( ) )= ∧ p 2 ∧ p 3 ∧ (p4 ∧ p 5 ) ∧ (p 6 ∧ p 7= p 1 ∧ p 2 ∧ p 3 ∧ p 4 ∧ p 5 ∧ p 6 ∧ p 73: Überprüfung, dass keine ungeklammerten OR-Verknüpfungen vorkommen:Im Term p 1 ∧ p 2 ∧ p 3 ∧ p 4 ∧ p 5 ∧ p 6 ∧ p 7 gibt es keine OR-Verknüpfungen, sodass der Algorithmusfortgesetzt werden kann.4: Aufspaltung des Restriktionsterms in Teilterme:Wir verteilen die durch das logische AND verknüpften Teilterme des Restriktionsterms auf dieMengen M 1 , ..., M 5 :M 1 : p 1 (x 1 ), p 2 (x 4 )M 2 : p 3 (x 1 , x 2 ), p 4 (x 2 , x 3 ), p 6 (x 3 , x 4 )M 3 : p 5 (x 1 , x 2 , x 3 ), p 7 (x 1 , x 3 , x 5 )M 4 :M 5 :leer, da keine Prädikate mit 4 Argumenten vorhandenleer, da keine Prädikate mit 5 Argumenten vorhanden5: Teilterme mit den von ihnen verwendeten Elementtypen zu neuen Elementtypen gruppieren:a) Zunächst werden die einstelligen Prädikate p 1 <strong>und</strong> p 2 aus M 1 mit ihren Argumenten zusammengeführt:{var : (x 1 : T 1 , x 2 : T 2 , x 3 : T 3 , x 4 : T 4 , x 5 : T 5 ) | p 1 (x 1 ) ∧ p 2 (x 4 ) ∧ p 3 (x 1 , x 2 ) ∧ p 4 (x 2 , x 3 )∧p 5 (x 1 , x 2 , x 3 ) ∧ p 6 (x 3 , x 4 ) ∧ p 7 (x 1 , x 3 , x 5 ) }wird zu{var : (v 1 : {x 1 : T 1 |p 1 (x 1 )}, x 2 : T 2 , x 3 : T 3 , v 4 : {x 4 : T 4 |p 2 (x 4 )}, x 5 : T 5 ) |p 3 (x 1 , x 2 ) ∧ p 4 (x 2 , x 3 ) ∧ p 5 (x 1 , x 2 , x 3 ) ∧ p 6 (x 3 , x 4 ) ∧ p 7 (x 1 , x 3 , x 5 ) }umgeformt, wobei v i neue lokale Variablen sind.Um die Typdeklaration übersichtlich zu halten, kürzen wir einen Typ v i : {x i : T i |p j (x i )} mitv i : T i p j ab.b) Jetzt verarbeiten wir die mehrstelligen Prädikate aus M 2 <strong>und</strong> M 3 (M 4 <strong>und</strong> M 5 sind leer <strong>und</strong> müssennicht verarbeitet werden). Wir geben für jedes Prädikat aus M 2 <strong>und</strong> M 3 die Typdeklarationnach der Umformung, die dieses Prädikat mit seinen Argumenten gruppiert:– p 3 (x 1 , x 2 ) : Die Elemente x 1 <strong>und</strong> x 2 werden zu einem Elementtyp mit dem Restriktionstermp 3 (x 1 , x 2 ) gruppiert:{var : (v 12 : {v 12 : (v 1 : T 1 p 1 , x 2 : T 2 )|p 3 (x 1 , x 2 )}, x 3 : T 3 , v 4 : T 4 p 2 , x 5 : T 5 ) |p 4 (x 2 , x 3 ) ∧ p 5 (x 1 , x 2 , x 3 ) ∧ p 6 (x 3 , x 4 ) ∧ p 7 (x 1 , x 3 , x 5 ) }– p 4 (x 2 , x 3 ) : Die Elemente x 2 <strong>und</strong> x 3 müssen zu einem Elementtyp mit dem Restriktionstermp 4 (x 2 , x 3 ) gruppiert werden. Da x 2 bereits früher mit x 1 gruppiert wurde, ergibt sich einneuer Elementtyp, der x 1 , x 2 <strong>und</strong> x 3 gruppiert:{var : (v 123 : {v 123 : (v 12 : T 1 p 1 T 2 p 3 , x 3 : T 3 )|p 4 (x 2 , x 3 )}, v 4 : T 4 p 2 , x 5 : T 5 ) |p 5 (x 1 , x 2 , x 3 ) ∧ p 6 (x 3 , x 4 ) ∧ p 7 (x 1 , x 3 , x 5 ) }– p 6 (x 3 , x 4 ) : Die Elemente x 3 <strong>und</strong> x 4 müssen zu einem Elementtyp gruppiert werden. Dax 3 bereits in einem Elementtyp mit x 1 <strong>und</strong> x 2 zusammengefasst wurde, muss x 4 jetzt mitdiesem Elementtyp gruppiert werden:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!