Einleitung

Innovative Funktionen mechatronischer Systeme werden mehr und mehr mit Hilfe immer komplexerer Software realisiert. Beispiele für solche Systeme finden sich in modernen Autos, Produktionsanlagen und der Medizintechnik. Diese Systeme unterliegen harten Echtzeit- und Sicherheitsanforderungen, deren Einhaltung ausführlich analysiert werden muss. Überdies wird die Eigenschaft, sich während der Laufzeit selbstständig an das Umfeld anzupassen immer wichtiger, um die Zuverlässigkeit, als auch die Leistungsfähigkeit und die Effizienz des Systems signifikant zu steigern.

Damit die benötigte Software in kurzer Zeit und mit hoher Qualität entwickelt werden kann wird eine systematische und durchgängige Entwurfsmethodik benötigt. Hierfür stellt das Fachgebiet Softwaretechnik und das Paderborner Fraunhofer IEM die Methodik MechatronicUML bereit. MechatronicUML bietet eine modellgetriebene nachvollziehbare Prozessunterstützung von den Anforderungen über verschiedene Entwurfsschritte (inkl. deren Analyse) bis zur ausführbaren Software. Das erhöht die Nachvollziehbarkeit innerhalb der Entwicklung und macht die Komplexität beherrschbar. Darüber hinaus legt MechatronicUML einen besonderen Schwerpunkt auf (i) die Modellierung und (formale) Verifikation rekonfigurierbarer Softwarearchitekturen, (ii) die Koordination zwischen den Systemkomponenten in einer solchen Architektur, (iii) die Integration der ereignisdiskreten Software mit der zeitkontinuierlichen Software der Regelungstechnik sowie (iv) eine Gefahrenanalyse zur Untersuchung von Einflüssen durch zufällige Hardwarefehler.


MechatronicUML Process
Abbildung 1: MechatronicUML Modellierungsprozess
MechatronicUML Modelling
Abbildung 2: MechatronicUML Modellierungssprache

Die MechatronicUML Entwurfsmethode

MechatronicUML definiert eine systematische, iterative Entwurfsmethode. Basierend auf einer formalen Spezifikation der umzusetzenden Anwendungsfälle leiten Sie zunächst die erforderlichen Softwarekomponenten ab. Anschließend definieren Sie die asynchrone Nachrichtenkommunikation Ihrer Teilsysteme in Form von Koordinationsprotokollen, legen das Verhalten Ihrer Softwarekomponenten auf Basis von Real-Time Statecharts (erweiterte UML Zustandsmaschinen) fest und integrieren diese Teilaspekte zu einer Gesamtarchitektur. Abbildung 1 gibt einen Überblick über den Prozess.

Die Sprachmittel der MechatronicUML

Für den Entwurf Ihrer Softwarearchitektur bietet die MechatronicUML geeignete Sprachmittel. So entwerfen Sie Ihre Architektur mit Hilfe von hierarchischen Softwarekomponenten, die über Ports miteinander verbunden werden. MechatronicUML unterstützt dabei auch kontinuierliche Ports für die Integration Ihrer Regler. Das echtzeitbehaftete, diskrete Systemverhalten beschreiben Sie mit Hilfe von Real-Time Statecharts, die den unterschiedlichen Ports zugeordnet werden. Dabei entstehen wiederverwendbare Koordinationsprotokolle, die auch die Verifikation des Gesamtsystems unterstützen. In Abbildung 2 ist die Modellierungssprache an einem einfachen Beispiel illustriert.

Analyse mit MechatronicUML

MechatronicUML bietet eine Reihe von integrierten Analysen, um Ihre Modelle abzusichern. Dabei kommen etablierte Verifikationstechniken und Werkzeuge zum Einsatz, mit denen sich die Korrektheit des diskreten Systemverhaltens, insbesondere unter Berücksichtigung von Echtzeiteigenschaften, in Bezug auf die Spezifikation beweisen lässt. Für eine frühzeitige Analyse Ihres mechatronischen Systems bieten wir Ihnen bereits zu Beginn des Softwareentwicklungsprozesses die Möglichkeit, Ihr mit MechatronicUML spezifiziertes Modell formal zu verifizieren (es werden alle möglichen Ausführungspfade der Software untersucht). Hierzu nutzen wir den Model-Checker UPPAAL. Neben der formalen Verifikation ist zudem eine Simulation Ihrer Modelle in MATLAB® Simulink®, Modelica® oder via dem Functional Mock-up Interface (FMI) möglich. Zusätzlich zur formalen Verifikation ermöglicht die Simulation eine Validierung Ihres Systems bzgl. der diskreten Softwaremodelle, der Regelungskomponenten und insbesondere der Physik.

Softwaregestützte Rekonfiguration

Softwaregestützte Rekonfiguration erlaubt es Ihnen ihr System so zu gestalten, dass es sich zur Laufzeit automatisch an wechselnde Umfeldbedingungen anpassen kann. Dadurch können Sie sowohl die Zuverlässigkeit, als auch die Leistungsfähigkeit und die Effizienz Ihres Systems signifikant steigern. Dabei zielt die MechatronicUML insbesondere auf den Entwurf Ihres diskreten, zustandsbasierten Systemverhaltens ab. Unterschiedliche Reglerstrategien, die zur Umsetzung des zeitkontinuierlichen Systemverhaltens erforderlich sind, können Sie mit der MechatronicUML integrieren und koordinieren.


Werkzeugunterstützung

Die MechatronicUML Tool Suite (ehemals Fujaba Real-Time Tool Suite) ist unser preisgekrönter Forschungsprototyp*, an dem wir unsere neuesten Forschungserkenntnisse im Bereich der MechatronicUML umsetzen und evaluieren. Ein Screenshot ist in Abbildung 3 zu sehen. Unsere Tool Suite steht Ihnen im Download-Bereich zur Verfügung. Mit dem Embedded Modeller unseres Partners Solunar GmbH existiert ein weiteres Modellierungswerkzeug, um in den Softwareentwurf mit MechatronicUML einzusteigen.

*

 IBM Eclipse Innovation Award 2004
 IBM Eclipse Real-time Innovation Award 2008

Fujaba Screenshot
Abbildung 3: Modellieren mit der MechatronicUML Tool Suite