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.

22 KAPITEL 3. DIE SPEZIFIKATIONSSPRACHE3.4.2 Definition von AbhängigkeitenNach der Definition von Abhängigkeiten können diese miteinander verbunden werden. ÜberSCHEMA MAPPING wird der Abschnitt zur Abhängigkeitsdefinition begonnen und mittelsEND SCHEMA MAPPING beendet.Abhängigkeiten werden immer in mehreren Stufen — auf Schema-, Typ- und Attributebene — gesetzt,wobei die Richtungen und unterschieden werden.Hier soll wieder mit Hilfe <strong>eine</strong>s Beispiels das Vorgehen erläutert werden.1 BRANCH Beschreibung2 MAP_SCHEMA FS.Beispiel FROM CS.Beispiel VIA ES.Beispiel3 MAP_TYPE test FROM test VIA test4 MAP name FROM name VIA name END_MAP5 END_MAP_TYPE6 END_MAP_SCHEMA7 END_BRANCH1. BRANCH leitet <strong>eine</strong>n Block zur Definition von Abhängigkeiten zwischen Komponenten-,Export- und föderierten Schemata ein.2. Abhängigkeiten werden gleichzeitig zwischen drei Schemata für <strong>eine</strong>n Pfad oder definiert. Das erste Schema ist immer ein föderiertes Schema, gefolgt von <strong>eine</strong>mKomponentenschema. Anschließend muß ein Export- oder Import/Exportschema angegebenwerden, das im Pfad liegen soll. Über das Schlüsselwort FROM wird bestimmt,daß Abhängigkeiten für die Richtung definiert werden sollen. Für die umgekehrteRichtung ist stattdessen TO einzusetzen. Zusätzlich sind nach VIA entsprechendnur ein Import- oder Import/Exportschema erlaubt.3. MAP TYPE folgt jeweils auf ein MAP SCHEMA und definiert Abhängigkeiten auf Typebene.Die Reihenfolge der Typen entspricht derjenigen der Schemata, die zuvor über MAP SCHEMAfestgelegt wurde, also zuerst ein Typ aus dem föderierten Schema, dann ein Typ aus dem Komponentenschemaund zuletzt ein Typ aus dem Schema der Exportebene.4. Das einfache Verbinden von Attributen ohne Nesting oder Wertekonvertierung erfolgt analogzur Abhängigkeitsdefinition auf Typebene. END MAP schließt dabei das Attributmapping ab.Die Richtung ! oder " wird auf Schemaebene durch MAP SCHEMA festgelegtund muß für alle Ebenen gleich sein, d.h. ein MAP TYPE x FROM y VIA z kann nichtgefolgt werden durch ein MAP x TO y VIA z.5. Durch END BRANCH wird ein Block zur Abhängigkeitsdefinition zwischen Schemata beendet.3.4.3 Nesting/UnnestingFür das Nesting von Attributen sind die Pfade ! und " genauer zu unterscheiden,wie aus Abbildung 3.8 ersichtlich. Bei <strong>eine</strong>m Pfad ist demzufolge nach dem SchlüsselwortFROM die Menge der Attribute aus <strong>eine</strong>r Klasse des Komponentenschemas anzugeben, die aufein Attribut im Schema der Exportebene abgebildet werden sollen. Für den Pfad " ist umgekehrtdie Menge der Attribute aus föderiertem Schema und dem Schema der Exportebene anzugeben,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!