Modellbasierte Architektur mit Altova UModel
UModel unterstützt die Model-Driven-Architecture (MDA) mit plattformunabhängigen Modellen und einer Funktion zur Modelltransformation, die alle relevanten Modellierungselemente in und aus UML, C#, Visual Basic, Java, Datenbanken und XML-Schemas umwandelt. Modelltransformation Ein Ansatz der Softwareentwicklung basierend auf der Model-Driven-Architecture mit plattformunabhängigen Modellen bietet zwei Hauptvorteile:
Während der Designphase müssen Entwickler sich keine Gedanken über die Details und Unterschiede zwischen verschiedenen Programmiersprachen machen
Ein bestehendes UModel-Projekt kann von einer Quellsprache in eine andere umgewandelt werden. Beispielsweise kann ein UML-Modell für eine C#-Anwendung in ein Java- oder Visual-Basic-Projekt umgewandelt werden
Benutzer können sogar Modelltransformationen auf Projekte anwenden, die aus bestehendem Quellcode rückentwickelt wurden. Beispielsweise kann eine bestehende Java-Anwendung mit UModel rückentwickelt und anschließend in Visual Basic-Klassen transformiert werden, und es stehen viele weitere Möglichkeiten zur Verfügung.
![]()
Plattformunabhängige Modelle
Bei MDA (Model Driven Architecture) handelt es sich um eine Gruppe von Standards und Methoden zur Anwendung des UML-Standards, der von der OMG (Object Management Group) gepflegt wird. In MDA wird das UML-Modell eines Software-Projekts als plattformunabhängiges Modell (PIM) behandelt, das vollständig beschrieben werden kann, ohne dass sich der Designer um die Details der jeweiligen Programmiersprache kümmern muss. Dank dieser Strategie können sich Software-Architekten und Entwickler ausschließlich auf die Logik des jeweiligen Themenbereichs konzentrieren, ohne die Eigenheiten von Programmiersprachen berücksichtigen zu müssen.
Typzuordnung
Während der Modelltransformation ordnet UModel Datentypen vom Quellmodell auf das Zielmodell zu, um Unterschiede zwischen den Sprachen zu berücksichtigen. Das Dialogfenster "Typzuordnung" ermöglicht es Ihnen, die Typzuordnungen einzusehen oder sogar zu bearbeiten.
![]()
UModel fügt dem transformierten Projekt außerdem automatisch das Sprachprofil für die Zielsprache hinzu.
UML-Klassendiagramme
Im Rahmen der Modelltransformation erstellt UModel neue UML-Klassen und Klassendiagramme für das Zielsystem, wobei die Klassen und Klassendiagramme des ursprünglichen Projekts berücksichtigt werden. Der Screenshot unten zeigt das Diagramm "Hierarchie der Konten" für Visual Basic nach der Modelltransformation von Java. Die neue Klasse "Account" im neuen Ordner "VB Target" im Modellbaum enthält die Visual-Basic-Syntax für alle Eigenschaften und Operationen. Beispielsweise ist die neue Eigenschaft "Saldo" als Datentyp "Single" in Visual Basic definiert, während sie in Java als "float" definiert war. Nach der Transformation wird die ursprüngliche Klasse "Account" für Java im Modell an ihrem ursprünglichen Speicherort im Modellbaum beibehalten. Das ursprüngliche UML-Design für Java generiert nun Code in mehreren Quellsprachen: Java und Visual Basic.
![]()
Permanente Transformationsparameter
Das Transformationsparadigma umfasst die Aktualisierung bestehender Transformationen und die Integration dieser Aktualisierungen in die vorgegebenen Zielmodelle. Die Transformationsparameter werden in einem Modelltransformationsprofil innerhalb des Modells gespeichert. Dieses Transformationsprofil kann so konfiguriert werden, dass Transformationen automatisch vor der Codeerstellung (forward engineering) und/oder nach der Codeanalyse (reverse engineering) ausgeführt werden, um Elemente für eine bestimmte Zielsprache basierend auf Änderungen an Modellelementen für eine andere Sprache zu aktualisieren.
![]()
Diese Einstellungen für das Transformationsprofil können jederzeit geändert werden.
![]()
Diese Funktion ermöglicht es UModel, einen Großteil der Wartung für verschiedene Programmiersprachen zu automatisieren, während Ihr plattformübergreifendes Modell weiterentwickelt wird. Wenn Sie die Model-Driven-Architecture und die Modelltransformation mit UModel 2012 ausprobieren möchten, können Sie eine kostenlose 30-Tage-Testversion herunterladen.