A Framework for implementing Web Scheme Transformers By-Example

Autor
M. Karlinger
Masterarbeit
MT0406 (September, 2004)
Betreut von
o. Univ.-Prof. Dr. Michael Schrefl
Angeleitet von
Dr. Stephan Lechner
Ausgeführt an
Universität Linz, Institut für Wirtschaftsinformatik - Data & Knowledge Engineering
Ressourcen
Kopie

Kurzfassung (Englisch)

Transformers By-Example (TBE) is a concept that facilitates the definition and application of scheme transformers. When defining a conceptual scheme, modelers can use scheme transformers, which transform an input scheme into an extended or refined output scheme, for automatically performing modelling tasks. An exemplary modelling task in the sphere of web application modelling is "after having defined an entity type, add a page class for displaying the entity type's content". In TBE, a transformer is defined graphically by giving a generic example of an input scheme and an output scheme, i.e. a scheme before and after the transformation, respectively. Therefore, modelers define transformers in a notation that is similar to one which they are familiar with. The scheme modification operations necessary for performing transformations of schemes are derived from the graphical specification. This is in contrast to other approaches for scheme transformers where modelers have to specify such operations based on some internal representation of schemes, e.g. a representation in XML.

A TBE-system, i.e. the implementation of TBE for a particular modelling langugae comprises two building blocks: The first building block is agraphical editorfor defining schemes and transformer definitions, i.e. generic examples of an input scheme and an output scheme. The second building block is anengine(TBE-engine) used for deriving scheme modification operations based on the graphical transformer definitionandfor performing transformer applications.

The main contribution of this thesis is a prototype implementation of the TBE-engine. Since the concept of TBE can be applied in arbitrary modelling languages, a framework (TBE-framework) is provided that enables the convenient implementation of TBE-engines for concrete modelling languages. We demonstrate the implementation of a TBE-engine for modelling language WebML.

The TBE-framework is designed to cooperate with different graphical editors. We demonstrate the cooperation of the TBE-engine for modelling language WebML with WebRatio, which is a commercial CASE-tool supporting modelling language WebML. WebRatio does not support TBE-specific constructs directly. Therefore, a further contribution of this thesis is to show how these specific TBE constructs can be specified indirectly within WebRatio, i.e. by annotating such TBE-specific constructs in textual form.

Kurzfassung (Deutsch)

Transformers By-Example (TBE) ist eine Sprache für das Definieren und Anwenden von Schema Transformern. Solche Transformer können beim konzeptuellen Entwurf für das automatische Durchführen von Entwurfsschritten verwendet werden. Ein beispielhafter Entwurfsschritt im Bereich der konzeptuellen Modellierung von Webapplikationen ist, dass nach dem Definieren eines Entitätstyps im Datenschema eine entsprechende Seitenklasse im Hypertextschema eingefügt wird, die festlegt, wie die Instanzen dieses Entitätstyps auf einer Webseite darzustellen sind. Ein Merkmal von TBE ist, dass ein Transformer grafisch definiert wird, indem zwei generische Beispielschemata definiert werden, die jeweils das Schema vor und nach der Transformation widerspiegeln. Dadurch wird ein Transformer im Wesentlichen in der gleichen Notation definiert, in der auch Schemata definiert werden. Die für die Transformation eines Schemas notwendigen Modifikations-Operationen leitet TBE von diesen Beispielschemata ab. Diese Vorgehensweise unterscheidet TBE von anderen Ansätzen für Schema-Transformationen bei denen der Modellierer diese Modifikations-Operationen auf Basis einer internen Repräsentation der Schemata, wie zum Beispiel einer XML Repräsentation, direkt spezifizieren muss.

Ein TBE-System, das TBE für eine bestimmte Modellierungssprache implementiert, besteht aus zwei Bausteinen: Der erste Baustein (Grafischer Editor) ermöglicht das Definieren von Schemata und Transformern, das heißt das Definieren generischer Beispielschemata. Der zweite Baustein (TBE-engine) ermöglicht das Ableiten der Modifikations-Operationen von der grafischen Definition des Transformers. Weiters führt dieser Baustein die eigentliche Transformation von Schemata durch.

Der Gegenstand dieser Diplomarbeit ist die prototypische Implementierung der TBE-engine. Da der Ansatz von TBE auf verschiedene Modellierungssprachen angewendet werden kann, wird ein Framework (TBE-framework) zur Verfügung gestellt, das die Implementierung von TBE-engines für konkrete Modellierungssprachen erleichtert. In dieser Diplomarbeit wird die Implementierung einer TBE-engine für die Modellierungs-sprache WebML gezeigt.

Der spezifische Entwurf des TBE-frameworks ermöglicht den Einsatz von beliebigen grafischen Editoren. Diese Diplomarbeit zeigt, wie WebRatio, das CASE tool der Modellierungssprache WebML, als grafischer Editor verwendet werden kann. WebRatio bietet keine direkte Unterstützung für das Definieren von TBE-spezifischen Konstrukten an. Deshalb wird in dieser Diplomarbeit weiters gezeigt, wie solche Konstrukte in textueller Form in WebRatio definiert werden können.