Transformationsfähigkeit von Modellen

Modellgetriebene Softwareentwicklung

Eine Einführung

Transformationsfähigkeit von Modellen

Ein entscheidender Vorteil bei der Modellierung auf der Basis von klar definierten Metamodellen ist die Eindeutigkeit und Übersichtlichkeit der in einem for-malen Modell beschriebenen Sachverhalte. Mindestens genauso überzeugend ist aber sicherlich noch ein weiterer Aspekt: Modelle sind grundsätzlich transformierbar.

Transformation in diesem Sinne bedeutet, dass ein oder mehrere Modelle in ein anderes Modell automatisiert überführt werden können. Bei dieser Transformation werden Aspekte der Zieldomäne, also des Fachgebiets des Zielmodells, dem ursprünglichen Modell hinzugefügt und für die Zieldomäne irrelevante Aspekte werden herausgefiltert. Grundsätzlich ist für eine Transformation von Modellen die Definition des Metamodells für das Quellmodell wie auch für das Zielmodell zwingend notwendig.

Im Sinne der modellgetriebenen Softwareentwicklung entspricht die Transfor-mation von Modellen der automatisierten Weiterverarbeitung der Artefakte. Die Transformation von einem Artefakt in ein anderes (z.B. auch Code) läuft übli-cherweise in zwei Stufen ab:

  1. Automatisierte Transformation aller transformierbaren (im Quellartefakt vorhandenen) Informationen in die Struktur des Zielmodells
  2. Manuelle Ergänzung des Zielmodelle um die im Quellmodell nicht vorhan-denen Informationen

Die eigentliche Arbeit, also die Aktivität im Sinne des Softwareentwicklungs-prozesses, beschränkt sich somit also nur auf den zweiten Schritt. Somit wird redundante Arbeit durch den Transformer erledigt und die Aktivität wird auf die wesentliche Arbeit des Entwicklers oder Systemanalytikers reduziert.

Hieraus ergeben sich folgende Vorteile:

  • Reduzierung der Gesamtarbeit durch Automatisierung (Effizienzsteigerung)
  • Reduzierung des Fehlerpotentials durch Automatisierung (Qualitätssteigerung)
  • Es ist im Zielmodell exakt definiert, welche von Entwickler noch zu erarbeitende Information an welcher Stelle und in welcher Form notiert werden muss.

Das so entstandene Zielmodell kann innerhalb einer Transformationskette des Softwareentwicklungsprozesses wiederum ein Quellmodell für eine weitere Transformation sein.

Ein klassisches Beispiel für eine Modelltransformation ist die Transformation eines wohldefinierten XML Formates in ein HTML Dokument. Dies geschieht beispielsweise über einen XSL  Transformer (XSLT). So ist es z.B. möglich ein Modell für einen Use Case zu definieren und das auf das bereits definierte HTML Modell zu transformieren. Dies könnte die vereinfachte Basis für ein Anforderungsdokumentationssystem sein.

Gleichzeitig könnte das Modell des Use Cases aber auch bereits Code für ein definiertes Applikationsframework generieren. Formal gesehen ist eine Program-miersprache in Kombination mit einem Framework ein exakt definiertes Metamodell. Je feiner das Metamodell des Use Case Artefaktes definiert ist, umso mehr Code kann für die Zielplattform generiert werden.

SuchenSitemap