Wege aus der Plattformabhängigkeit

08.02.2002
Von Gerhard Versteegen
MÜNCHEN (COMPUTERWOCHE) - Mit der Model Driven Architecture (MDA) bewirbt das Konsortium Object Management Group (OMG ) eine Initiative, die Anwendungsentwicklern mehr Freiheiten beim Entwurf und der Portierung von objektorientierten Anwendungen verschaffen soll. Im Mittelpunkt steht ein plattformunabhängiges Metamodell, mit dem sich Implementierungen erzeugen und migrieren lassen.

Die heutige Softwareentwicklung zeichnet sich dadurch aus, dass der Anwender während der Anforderungsanalyse und der Modellierung von Geschäftsprozessen noch unabhängig von der Zielplattform arbeitet. Dabei entsteht ein Platform Independent Model (PIM), das die formale Spezifikation der Struktur und des Verhaltens eines Systems abbildet und von den technischen Details abstrahiert. Doch bei der Implementierung des Modells beginnen die Probleme: Der Anwender muss sich beispielsweise für einen bestimmten Applikations-Server entscheiden und kann zunächst nur dort sein Programm laufen lassen. Wird eine Änderung der Zielplattform im Lauf der Zeit nötig, ist der dafür zu veranschlagende Zeit- und Kostenaufwand erheblich. 

Mit Hilfe von Regeln und Techniken lassen sich dabei bestehende Modelle in neue umwandeln. Möglich sind Abbildungen von PIM zu PIM zwischen verschiedenen "Business Viewpoints" und PIM zu PSM für die Verfeinerung des Modells bis zur lauffähigen Anwendung. Das Mappen von PSM zu PSM dient für weitere Verfeinerungsschritte oder Zielplattformen, und PSM zu PIM ermöglicht die Abstraktion von Modellen aus bestehenden, plattformspezifischen Implementierungen zu plattformunabhängigen Modellen. Das Metamodell selbst kann in Sprachen wie UML oder MOF (Meta Object Facility) erfasst werden. (Quelle: OMG)

MDA verspricht hier einen intelligenten und innovativen Mechanismus: Anforderungen, Modelle und Prozesse werden zunächst in einem abstrakten und plattformunabhängigen Modell erfasst. Dieses wird dann im folgenden Schritt zu einem plattformspezifischen Modell (PSM = Platform Specific Model) für eine konkrete Implementierungsplattform verfeinert. Letztere kann beispielsweise ein J2EE-Applikations-Server oder ein Corba-Server sein. Auf Basis dieses detaillierteren Modells werden dann ausführbare Anwendungen generiert. Dabei liegt die Betonung auf "generiert", damit bei einem Wechsel der Plattform der entsprechende Code nicht neu implementiert werden muss.

Modelle verfeinern