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.

4 KAPITEL 1. EINLEITUNGvoll transparent, die Heterogenität der Systeme und insbesondere die semantische Heterogenität derDaten bleibt verborgen.Abbildung 1.1 zeigt beispielhaft <strong>eine</strong> Föderation von drei Datenbanken. In dieser Abbildung setzenjedoch k<strong>eine</strong> externen Applikationen auf dem FDBS auf. Für die Föderation relevanten Informationen,wie z.B. Abhängigkeiten zwischen Schemata, werden in <strong>eine</strong>r gesonderten Datenbank persistentgehalten. Die Agenten dienen der Kapselung der Komponentendatenbanken und sind für die Translationder lokalen in Komponentenschemata und umgekehrt zuständig.1.3 SchemaintegrationIn <strong>eine</strong>m Föderierungssystem werden die Abhängigkeiten zwischen den beteiligten Datenbanken beschrieben.Um dies zu bewerkstelligen müssen die einzelnen Datenbankschemata abgeglichen werden.Dazu legt man sich zunächst auf ein einheitliches kanonisches Datenmodell (z.B. objektorientiert)fest, in das die lokalen DB-Schemata transformiert werden [SL90]. Dem eigentlichen Integrationsprozeßgeht also der Prozeß der Datenmodell-Translation voraus, der zu bezüglich des Datenmodellshomogenen Schemata führt. Zu beachten ist, daß in der Regel nicht nur die Datenmodelle der jeweiligenlokalen DB-Schemata heterogen sind, sondern auch und insbesondere deren Struktur, was aufden ursprünglichen Entwurfsprozeß zurückzuführen ist. Schließlich existiert mehr als <strong>eine</strong> Darstellung<strong>eine</strong>s realen Objektes. Erst nachdem die Schemata auch bezüglich ihrer Struktur abgeglichen,also homogen sind, können Abhängigkeiten zwischen ihnen spezifiziert werden.Mit Hilfe der Schemaintegration ist es in <strong>eine</strong>m föderierten Datenbanksystem möglich diese Unterschiedezu definieren, sie zu begleichen und somit trotzdem <strong>eine</strong> Föderation zu ermöglichen. DieSpezifikation solcher Abhängigkeiten wird in <strong>eine</strong>r geeigneten Datenstruktur gespeichert, die vonHand angelegt werden muß. Da zum momentanen Zeitpunkt k<strong>eine</strong> standardisierte Datenstruktur fürdiesen Verwendungszweck existiert, sind auch k<strong>eine</strong> Werkzeuge vorhanden, mit deren Hilfe <strong>eine</strong>Teilautomatisierung dieses Vorganges möglich wäre. Um die Konstruktion <strong>eine</strong>r solchen Datenstrukturnun übersichtlich und dadurch auch leichter als von Hand zu gestalten, wäre es wünschenswertdiese Datenstruktur nicht direkt in <strong>eine</strong>r konkreten Programmiersprache zu implementieren, sondernsie zunächst problemorientiert zu spezifizieren oder interaktiv mit Hilfe <strong>eine</strong>s geeigneten Editors zukonstruieren. Dadurch erreicht man bei der Pflege solcher Datenstrukturen <strong>eine</strong> höhere Flexibilität beiÄnderungen. Des weiteren ist es möglich <strong>eine</strong> formale Spezifikation automatisch weiterzuverarbeiten,z.B. graphisch anschaulich zu machen oder mit Hilfe <strong>eine</strong>s <strong>Compiler</strong>s die eigentliche Datenstrukturzu erzeugen. Außerdem wird der Entwickler in s<strong>eine</strong>m Konstruktionsprozeß geführt und vermeidetsomit Fehler.Im Rahmen dieser <strong>Diplomarbeit</strong> sollen <strong>eine</strong> Spezifikationssprache und ein <strong>Compiler</strong> entstehen, deraus <strong>eine</strong>r gegebenen Spezifikation gemäß der Sprache aus Kapitel 3 <strong>eine</strong>n C++- Quellcode erzeugt,der wiederum die für das Föderierungssystem notwendige Datenstruktur in <strong>eine</strong>r ¥¢¦ - Datenbankanlegt. <strong>Ein</strong>e genauere Beschreibung dieser Datenstruktur findet sich im nachfolgenden Kapitel 2.Abbildung 1.2 zeigt die Architektur dieses Systems.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!