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

Erfolgreiche ePaper selbst erstellen

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

14 KAPITEL 3. DIE SPEZIFIKATIONSSPRACHEZur Beseitigung dieser Nachteile könnte <strong>eine</strong> geeignete Sprache eingesetzt werden, mit der sich einFöderierungsgraph formal spezifizieren läßt, bevor dieser mittels <strong>eine</strong>s entsprechenden <strong>Compiler</strong>sin C++-Code übersetzt wird. Zur Graphspezifikation existieren bereits einige Werkzeuge, die hierjedoch nicht eingehender betrachtet werden sollen:GraphBase [Knu93]Progres [SWZ95]DoDL [Dob96]Der Grund, daß im Folgenden k<strong>eine</strong> der obigen Graphspezifikationsmechanismen zur Konstruktionföderierter Datenbanken herangezogen wird, liegt in dem Wunsch, <strong>eine</strong> Sprache zur Verfügung zuhaben, die alle genannten Nachteile des Meta-Datenmodells verdeckt.<strong>Ein</strong>e solche Spezifikationssprache soll über <strong>eine</strong> kompakte Syntax und einfache Semantik verfügenund damit schnell erlernbar, sowie gut lesbar sein. Übersichtlichkeit und leichte Verständlichkeit erlauben<strong>eine</strong>n <strong>Ein</strong>satz als Diskussionsgrundlage während des Entwicklungsprozesses. In diesem Zusammenhangersch<strong>eine</strong>n die oben erwähnten Spezifikationsmechanismen für diese Ziele als zu komplex.Zusätzlich sollen über die Erzwingung von Strukturiertheit mittels geeigneter Mechanismen<strong>eine</strong> leichte Wartbarkeit von Spezifikationen realisiert werden. Ebenso sind Maßnahmen zu treffen,die Fehler bei der Spezifikation von Abhängigkeiten nach Möglichkeit ausschließen.In den folgenden Abschnitten wird <strong>eine</strong> Sprache zur Definition föderierter Datenbankschemata undderen Abhängigkeiten beschrieben. In Abschnitt 3.2 werden zunächst Anforderungen an die Sprachekonkretisiert. Abschnitt 3.3 befaßt sich mit Entwurfsentscheidungen, bevor in Abschnitt 3.4 die Konstrukteder Spezifikationssprache beschrieben werden. In Abschnitt 3.5 werden weitere Überlegungenzur Spezifikationssprache angestellt.3.2 Anforderungen an die SpezifikationsspracheUm der Spezifikationssprache <strong>eine</strong> möglichst große Ausdruckskraft zu verleihen und die Handhabungder Spezifikationssprache möglichst einfach zu gestalten, sollen einige Anforderungen an dieSpezifikationssprache aufgestellt werden:Plattformunabhängigkeit: Die Spezifikationssprache sollte unabhängig von dem System sein, welchesdie späteren Abhängigkeiten verwaltet und speichert. Dies abstrahiert von <strong>Ein</strong>schränkungen,die es eventuell bei speziellen Programmiersprachen oder Implementierungsmethoden gebenkönnte. Ebenso sollte die Sprache auch nicht spezifisch für die später verwendete Datenbanksein, so daß <strong>eine</strong> Plattformunabhängigkeit auch in dieser Hinsicht sinnvoll sein kann.Lesbarkeit und Verständlichkeit: Meist geben Schemata nur <strong>eine</strong>n kl<strong>eine</strong>n Ausschnitt der Semantikder ganzen Anwendung wieder. Dies ist auch ein Grund dafür, daß ein automatisches Bestimmenvon Abhängigkeiten nicht möglich ist. Wenn nun Abhängigkeiten von Hand konstruiertwerden, so wird es meist der Fall sein, daß die Erläuterungen dazu sehr mager ausfallenwerden und je komplexer die Abhängigkeiten werden, um so unübersichtlicher wird die Definition.Aus diesem Grunde sollte die Spezifikationssprache <strong>eine</strong> gute Lesbarkeit und Verständlichkeitder Definition unterstützen oder zumindest ermöglichen. Im Rahmen dieses Punktes

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!