Im Auftrag eines führenden Herstellers von Bremssystemen für Schienen- und  Nutzfahrzeuge haben wir eine vollständige Tool-Migration für ein sehr umfangreiches SysML-Modell realisiert. Obwohl die involvierten Tools jeweils eine XMI-basierte Export- und Import-Schnittstelle für den Modellaustausch anbieten, funktioniert dies in der Praxis meist eher schlecht als recht. Zum Beispiel gehen toolspezifische Profilerweiterungen und Diagramminhalte oft verloren. Dies hätte bedeutet, dass über 1600 z.T. sehr komplexe Diagramme nochmals manuell hätten gezeichnet werden müssen.

Wir haben für den Kunden ein Migrations-Utility entwickelt, mit dem eine vollständige Tool-Migration auf Knopfdruck möglich wurde. Dabei wurden Diagramme layoutgetreu übernommen, das heisst, inkl. spezifischer Einfärbungen, Notizen und ergänzenden Grafiken. Eine solche Migration macht manchmal auch eine Modell-Transformation nötig, z.B. wenn eine bestimmte Modellierungstechnik im neuen Werkzeug nicht mehr möglich ist oder anders unterstützt wird. In verschiedenen Iterationen haben wir die Modellierungskonventionen der Entwicklerteams analysiert und mit dem Kunden die passende Abbildung im neuen Werkzeug festgelegt. So haben wir das Migrations-Utility stufenweise optimiert – bis wir die Gewissheit hatten, dass der gesamte Modellinhalt gemäss den Vorstellungen des Auftraggebers transferiert werden  konnte.

Kundennutzen

Der Toolwechsel konnte so während einem Wochenende vollzogen werden und die Entwicklungsteams konnten danach in der neuen Umgebung an ihrem gewohnten Modell weiterarbeiten. Sehr interessant war auch zu sehen, dass sich die Qualität des Modells durch diese Migration verbessert hat:

  • was nicht den Modellierungskonventionen entsprochen hat wurde bereits in den vorgängigen Iterationen vom Migrations-Utility identifiziert und laufend von den Entwicklerteams bereinigt
  • unbeabsichtigte Duplikate von Typendeklarationen wurden durch das Utility automatisch zusammengeführt
  • Schwachstellen im Metamodell des alten Werkzeugs wurden automatisch ausgemerzt (z.B. bei Redefinitionen von Ports)

Das begeisterte Kundenfeedback hat uns natürlich sehr gefreut: “Gelebte Schweizer Präzision!”