Thomas Darimont
Erfahrenes Mitglied
Hallo!
Ich moechte fuer ein Projekt einen MDD Ansatz etablieren. Normalerweise hat man bei einer MDA zwei Modellierungsstufen.
Die erste Stufe ist das sogenannte
Platform Independent Model (PIM) welches in der Regel in Form eines UML Meta Models (Use Case Diagramms,
Class Diagramms, Sequence Diagramms, Deployment Diagramms, usw.) daherkommt. Innerhalb dieses UML Models
sind die einzlenen Artefakte mit generischen Meta Informationen in Form von Stereotypen auf Entitaets- und
Tagged Values auf Attributebene ausgestattet. Dieses Modell ist zunaechst einmal unabhaengig von einer
konkreten Implementierungsplatform.
In einer zweiten Stufe wird das Model vom PIM in das sogenannte Platform Specific Model (PSM) Transformiert.
Hierbei werden dem Model Platformspezifische Meta-Informationen hinzugefuegt bzw. die generischen
Sterotypen, Tagged Values des PIM weiter spezialisiert. (Dieses Modell liegt nun wieder als UML Modell vor).
Anschliessend folgt in einem dritten Schritt die Anwendung eines Codegenerators der dieses PSM (liegt
beispielsweise als XMI vor) analysiert und gemaess interner Transformationsregeln (Templates) entsprechende
Quellcodeartefakte (Klasse, Konfigurationsdateien) fuer die jeweilige Zielplatform generiert.
Fuer den Prozess sollen folgende Restriktionen gelten:
1) Die fachlichen Domaenen Experten Modellieren das System (Die Entitaeten (Class Diagramms), Use cases))
mit der UML und dokumentieren dies. Das Ergebnis liegt dann in UML als UML Meta (Meta)- Model vor.
(Generische Stereotypen, Tagged Values)
2) Die Anwendungsentwickler ziehen sich eine Instanz dieses Modells (referenzieren das generische UML Model)
und erweiteren die einzelnen Artefakte um (technische) Platform Spezifische Metadaten.
Die Frage ist nun wie man das referenzieren des PSM auf die Artefakte des PIM realisiert werden kann.
Sobald im PIM ein neuer Typ hinzugefuegt wird soll diese Aenderungen an das PSM propagiert werden. Weiterhin
soll auch Aenderungen an Attributen, Methoden von Entitaeten im PIM an das PSM weitergegeben werden.
Hat jemand vielleicht eine Idee mit welchen Produkten ich mich diesbezueglich auseinander setzen sollte?
Bisher habe ich auf Magic Draw (Poseidon, Rational Rose), AndroMDA, Netbeans MDR aufgesetzt. Was mir nun fehlt ist
die Verlinkungsmoeglichkeit des PIM und PSM innerhalb der UML.
Gruss Tom
Ich moechte fuer ein Projekt einen MDD Ansatz etablieren. Normalerweise hat man bei einer MDA zwei Modellierungsstufen.
Die erste Stufe ist das sogenannte
Platform Independent Model (PIM) welches in der Regel in Form eines UML Meta Models (Use Case Diagramms,
Class Diagramms, Sequence Diagramms, Deployment Diagramms, usw.) daherkommt. Innerhalb dieses UML Models
sind die einzlenen Artefakte mit generischen Meta Informationen in Form von Stereotypen auf Entitaets- und
Tagged Values auf Attributebene ausgestattet. Dieses Modell ist zunaechst einmal unabhaengig von einer
konkreten Implementierungsplatform.
In einer zweiten Stufe wird das Model vom PIM in das sogenannte Platform Specific Model (PSM) Transformiert.
Hierbei werden dem Model Platformspezifische Meta-Informationen hinzugefuegt bzw. die generischen
Sterotypen, Tagged Values des PIM weiter spezialisiert. (Dieses Modell liegt nun wieder als UML Modell vor).
Anschliessend folgt in einem dritten Schritt die Anwendung eines Codegenerators der dieses PSM (liegt
beispielsweise als XMI vor) analysiert und gemaess interner Transformationsregeln (Templates) entsprechende
Quellcodeartefakte (Klasse, Konfigurationsdateien) fuer die jeweilige Zielplatform generiert.
Fuer den Prozess sollen folgende Restriktionen gelten:
1) Die fachlichen Domaenen Experten Modellieren das System (Die Entitaeten (Class Diagramms), Use cases))
mit der UML und dokumentieren dies. Das Ergebnis liegt dann in UML als UML Meta (Meta)- Model vor.
(Generische Stereotypen, Tagged Values)
2) Die Anwendungsentwickler ziehen sich eine Instanz dieses Modells (referenzieren das generische UML Model)
und erweiteren die einzelnen Artefakte um (technische) Platform Spezifische Metadaten.
Die Frage ist nun wie man das referenzieren des PSM auf die Artefakte des PIM realisiert werden kann.
Sobald im PIM ein neuer Typ hinzugefuegt wird soll diese Aenderungen an das PSM propagiert werden. Weiterhin
soll auch Aenderungen an Attributen, Methoden von Entitaeten im PIM an das PSM weitergegeben werden.
Hat jemand vielleicht eine Idee mit welchen Produkten ich mich diesbezueglich auseinander setzen sollte?
Bisher habe ich auf Magic Draw (Poseidon, Rational Rose), AndroMDA, Netbeans MDR aufgesetzt. Was mir nun fehlt ist
die Verlinkungsmoeglichkeit des PIM und PSM innerhalb der UML.
Gruss Tom