Modelltransformationen und deren Nutzen
Die automatisierte Transformation von Modellen auf verschiedenen Abstraktionsstufen oder mit unterschiedlichen Metamodellen macht den Entwicklungsprozess durchgängig und produktiv.
Die zentrale Idee der modellgetriebenen Softwareentwicklung (MDSD) ist, statt schwerverständlichem Quelltext leichtverständliche insbesondere grafische Modelle zu entwickeln, die verschiedene Ansichten und Aspekte der Software darstellen und durch zunehmende Verfeinerung auf immer geringerem Abstraktionsgrad schrittweise in den Quellcode überführt werden.
Grafisch visualisierte Modelle in den heutigen Notationssprachen (UML, ER, BPMN, XSD, WSDL etc.) können dabei zum einen als Modelle aufgefasst werden, deren Struktur einem klar definierten Metamodell folgt, zum andern als Graphen im Sinne der Graphentheorie. Um die erwähnte Kernidee von MDSD Wirklichkeit werden zu lassen, ist eine automatisierte Überführung der auf unterschiedlichem Abstraktionsgrad erstellten Modelle im Sinne einer Graphtransformation erforderlich. Diese Graph- bzw. Modelltransformation kann über Abbildungsvorschriften zwischen den Metamodellen der Quell- und Zielmodelle definiert werden.
Ist also die Möglichkeit zur automatisierten Transformation von Modellen auf verschiedenen Abstraktionsstufen oder mit unterschiedlichen Metamodellen gegeben, so hat dies folgende Vorteile:
- Der Produktivitätsvorteil gegenüber einer manuellen Pflege liegt auf der Hand. Ohne eine Möglichkeit zur automatisierten Modelltransformation müssten alle Elemente, die in ein Modell mit einem geringerem Abstraktionsgrad oder einem anderen Metamodell überführt werden sollen, manuell neu angelegt werden.
- Indem die einzelnen Modelle durch ihren automatischen Abgleich zueinander konsistent gehalten werden, wird in der Praxis erst ein durchgängiger Entwicklungsprozess von den Anforderungen bis zum Code möglich.
- Eine Modelltransformation kann auch die Lösung sein für Aufgaben, die auf den ersten Blick nicht als Modelltransformation erkennbar sind. So können Sie den Import von zum Beispiel beliebigen XML-Dateien als Modelltransformation realisieren. Ebenso ist die Generierung von Quelltext mit Hilfe der Modelltransformation mit dem entsprechenden Modelladapter möglich. Eine automatisierte Vervollständigung eines Modells kann als In-Place-Modelltransformation realisiert werden. Selbst die Navigation innerhalb eines Modells ohne die Änderung von Daten kann als Modelltransformation realisiert werden.