TROPIC: Modelltransformations-Framework basierend auf Petri-Netzen

01.03.2009 - 31.08.2012
Forschungsförderungsprojekt
Modelltransformationen stellen die Schlüsseltechnologie in der modell-getriebenen Softwareentwicklung dar, um beispielsweise Modellübersetzungen (z.B. ER-Modell in UML-Klassenmodell), Modellerweiterun-gen (z.B. Aspektierung eines Klassenmodells mit Logging-Funktionalität) oder Modellsynchronisationen (z.B. GUI-Modell mit Content-Modell) realisieren zu können. Es existieren mittlerweile unzählige Modelltransformationssprachen, die eine Abbildung zwischen den Metamodellen von Quell- und Zielmodell erlauben und darauf aufbauend die eigentliche Transformation der Modelle vornehmen. Aufgrund gravierender Mängel konnte sich jedoch bis dato keine dieser Sprachen als defakto-Standard in der Praxis durchsetzen. Dies liegt zum einen daran, dass Modelltransformationssprachen meist keine geeigneten Abstraktionsmechanismen zur Verfügung stellen, die den Umgang mit komplexen strukturellen Heterogenitäten zwischen verschiedenen Metamodellen erlauben würden. Zum andern fehlt es existierenden Ansätzen an Mechanismen, die eine Wiederverwendung von Lösungen für wiederkehrende Transformationsprobleme ermöglichen würden. Schließlich weisen diese Sprachen einen ¿impedance mismatch¿ zwischen der Spezifikationsebene von Transformationen und der Ausführungsebene auf, wodurch insbesondere Verständlichkeit und Debuggingmöglichkeiten von Transformationen stark beeinträchtigt werden. Das Ziel dieses Projekts liegt in der Entwicklung eines Frameworks zur Spezifikation und Ausführung von Modelltransformationen namens TROPIC (Transformations on Petri Nets in Color). TROPIC ermög-licht die Spezifikation von Modelltransformationen auf unterschiedlichen Abstraktionsstufen, wobei eine deklarative Abbildungssprache basierend auf UML 2 Komponentendiagrammen unterstützt wird, die bei der Überbrückung von Heterogenitäten zwischen Metamodellen von Implementierungsdetails abstrahiert. Um das Potential der Wiederverwendung zu erhöhen, werden generische Transformations-Operatoren in erweiterbaren Bibliotheken zur Verfügung gestellt, wobei diese Operatoren an beliebige Metamodelle gebunden und durch Komposition zu komplexeren Operatoren zusammengefügt werden können. Der ¿impedance mismatch¿ zwischen der Spezifikationsebene von Transformationen und der Ausführungsebene wird in TROPIC überwunden, indem ein dezidiertes Laufzeitmodell für die Ausführung von Modelltransformationen in Form von färbigen Petri-Netzen zur Verfügung gestellt wird, das eine homogene Repräsentation aller Transformations-Artefakte (Modelle, Metamodelle sowie Transformationslogik) erlaubt und damit Verständlichkeit und Debugging von Modelltransformationen erleichtert. Die Methode zur Evaluierung von TROPIC basiert auf drei Strategien. Strategie 1 umfasst die Spezifi-kation von Fallstudien für die Transformation heterogener Struktur- und Verhaltensmodelle und deren Realisierung mittels verschiedener existierender Modelltransformationssprachen, sodass eine Evaluierung auf Basis geeigneter Kriterien des Softwarequalitätsstandards ISO 9126 ermöglicht wird. Strategie 2 be-steht in der Durchführung einer empirischen Studie mit den ca. 200 TeilnehmerInnen der Model Enginee-ring Lehrveranstaltungen der TU Wien und der JKU Linz, um die Ergebnisse der Fallstudien kritisch zu reflektieren. Strategie 3 verfolgt das Ziel, den Nutzen von TROPIC durch Workshops mit international renommierten Experten komparativ zu anderen Modelltransformationssprachen zu evaluieren.

Personen

Projektleiter_in

Projektmitarbeiter_innen

Institut

Förderungsmittel

  • FWF - Österr. Wissenschaftsfonds (National) Fonds zur Förderung der wissenschaftlichen Forschung (FWF)

Forschungsschwerpunkte

  • Information and Communication Technology

Schlagwörter

DeutschEnglisch
Modellgetriebene SoftwareentwicklungModel-Driven Software Development
ModelltransformationssprachenModel Transformation Languages
Färbige Petri-NetzeColored Petri Nets

Externe Partner_innen

  • Johannes Kepler Universität Linz
  • Darmstadt University of Technology
  • Université de Nantes
  • University of Aarhus