MechatronicUML

Mechatronische Systeme bestehen aus mechanischen, elektrotechnischen, regelungstechnischen und softwaretechnischen Anteilen, die eng miteinander interagieren. Beispiele für solche Systeme sind moderne Autos oder das RailCab-System. Diese Systeme unterliegen harten Echtzeitanforderungen. Die bedeutet, dass Aufgaben des Systems bis zu einem festgelegten Zeitpunkt abgeschlossen sein müssen. Ein Airbag-Controller muss beispielsweise einen Airbag innerhalb von 20 ms nach einem Aufprall auslösen.  Solche Echtzeitanforderungen erhöhen die Komplexität der Softwareentwicklung erheblich. Fortschrittliche mechatronische Systeme verfügen zusätzlich über die Eigenschaft sich während der Laufzeit selbstständig an ihre Umgebung anzupassen. Dies ermöglicht aktuell nicht benötigte Softwareanteile zeitweise herunterzufahren, um Energie zu sparen.  Die Vielzahl neuer Anforderungen an die Software, insbesondere in Bezug auf Sicherheitseigenschaften, führt zur Notwendigkeit von neuen Entwicklungsmethodiken  zur Bewältigung der  komplexen Entwicklung von mechatronischen Systemen.

MechatronicUML ist eine visuelle domänenspezifische Sprache, die speziell zur Softwareentwicklung für fortschrittliche mechatronischen Systeme entwickelt wurde.  Das Hauptunterscheidungsmerkmal  zu anderen Modellierungssprachen ist, dass MechatronicUML explizit die Modellierung von harten Echtzeitanforderungen und Softwareanpassungen zur Laufzeit adressiert. Zur Sicherstellung der hohen Qualitätsansprüche an sicherheitskritischer Software ermöglicht MechatronicUML die formale Verifikation von Sicherheits- und Lebendigkeitseigenschaften in den frühen Phasen des Entwicklungsprozesses.  Dies stellt sicher, dass  unerwünschte Systemzustände niemals auftreten (Sicherheit), während benötigtes Verhalten ausgeführt werden kann  (Lebendigkeit). Die Verifikation adressiert explizit die Überprüfung von harten Echtzeitanforderungen und die Überprüfung der Adaption von Software zur Entwicklungszeit.  MechatronicUML basiert auf einem wohl definierten Prozess und stellt eine präzise Definition von Syntax und Semantik zur Verfügung.

MechatronicUML wurde im Sonderforschungsbereich 614 „Selbstoptimierende Systeme des Maschinenbaus“  (SFB 614)  entwickelt.  Sie wurde und wird in mehreren Industrie Projekten genutzt und evaluiert. Zurzeit wenden wir MechatronicUML als Modellierungssprache im Projekt „Entwurfstechnik Intelligente Mechatronik“ (ENTIME) an.

Eine Referenzimplementierung von MechatronicUML ist gegeben durch die Fujaba Real-Time Tool Suite. Die Fujaba Real-Time Tool Suite ist als Plugin für die Eclipse Rich Client Platform (RCP)  implementiert. Sie stellt ein Meta-Modell für MechatronicUML basierend auf dem Eclipse Modeling Framework (EMF) und grafische Editoren zur Erstellung von MechatronicUML Modellen zur Verfügung.