13.07.2015 Aufrufe

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

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.

18 KAPITEL 3. DIE SPEZIFIKATIONSSPRACHEimmer nur zwei Schemata miteinander verbunden. Somit könnte man <strong>eine</strong>n Definitionsblock auch als<strong>eine</strong> solche Hintereinanderschaltung von zwei Abbildungen ansehen. Damit ergibt sich <strong>eine</strong> Definitionwie sie in Abbildung 3.4 gezeigt wird.FS importiert von CS1 via ES1FS importiert von CS2 via ES2FS exportiert nach CS1 via IS1FS exportiert nach CS2 via IS2Abbildung 3.4: Beispiel für <strong>eine</strong> 3-stufige Top-Down-Definition.Die Top-Down-Überlegung von vorher sei auch hier angewendet. Diese Art der Darstellung hätte denVorteil, daß sie der Übersicht sehr zu Gute käme und die vier Stränge des Graphen aus Abbildung 2.2(Seite 9) ebenfalls widerspiegelt. <strong>Ein</strong> weiterer Vorteil dieser Methode ergibt sich aus der Tatsache, daßdie Namensgebung der beteiligten Schemata nicht so semantisch eindeutig gewählt sein könnte wie indiesem Beispiel. Allerdings würde sich ein Strang des Graphen mittels Abbildung 3.4 immer deutlichherausprägen. In den Abbildungen 3.2 und 3.3 wäre dieser Zusammenhang dann schon nicht mehr soleicht erkennbar. Außerdem werden die Schemanamen nicht so häufig wiederholt, was Fehlerquellenbegrenzt. Auch wird der Entwickler des Graphen durch diese Vorgehensweise geführt, denn er mußimmer <strong>eine</strong>n kompletten Strang des Graphen definieren und kommt somit nicht so schnell in dieSituation Definitionen zu vergessen.Die Mehrheit der Vorteile dieser Definitionsweise haben schließlich dazu geführt, daß sie für dieweiteren Entwurfsentscheidungen als Grundlage dient.Aus Abschnitt 2.4 ist bekannt, daß in der verwendeten Datenstruktur nicht nur Schemata untereinanderverbunden werden, sondern auch Typen und Attribute. Diese Verbindungen verlaufen nachdemselben Prinzip wie die der Schemata, die bislang betrachtet wurden. Auch hier werden jeweilsdrei Komponenten untereinander verbunden. Vor allem werden nur zwischen solchen Typen und AttributenVerbindungen definiert, bei denen auch deren zugehörige Schemata jeweils untereinanderverbunden sind. Abbildung 3.5 verdeutlicht diesen Sachverhalt exemplarisch anhand <strong>eine</strong>r Abbildungvon <strong>eine</strong>m Komponenten- über ein Export- hin zu <strong>eine</strong>m föderierten Schema.Auf Grund der schematischen Ähnlichkeit der Abbildungen können somit auch für die Abbildungenvon Typen und Attributen dieselben Sprachkonstrukte als Vorlage dienen. Abbildung 3.5 zeigtdarüber hinaus auch die Verschachtelung von Schemata, Typen und Attributen. Verbindungen untereinandersind jeweils nur dann sinnvoll, wenn auch die umgebende Struktur untereinander verbundenist. Aus diesem Sachverhalt geht hervor, daß auch in der Spezifikationssprache <strong>eine</strong> solche Schachtelungvorliegen sollte.Da nun verschiedene Im- und Exporte unterschieden werden müssen, werden für die Spezifikationsspracheeinige Befehlswörter eingeführt, die im Folgenden groß geschrieben werden. Ihre Semantikdürfte aus den zuvor geführten Erläuterungen bereits jetzt eindeutig sein. Ihre genaue Beschreibungfolgt aber erst in Abschnitt 3.4 und dient hier nur zur Veranschaulichung. Bei den Abbildungen wirdnun also in die Abbildung von Schemata, von Typen und von Attributen unterschieden. In Abbildung3.6 werden die Verbindungen aus dem Beispiel der Abbildung 3.5 dargestellt und es wird zum erstenMal ein genaueres Bild der Spezifikationssprache ersichtlich.Durch diese Sprachvorgabe können nun alle normalen Abhängigkeiten spezifiziert werden, d.h. alleAbhängigkeiten, bei denen k<strong>eine</strong> Konvertierungen der späteren Inhalte und kein Nesting von Nöten

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!