FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK
DIE METHODE FÜR DEN SOFTWAREENTWURF VERNETZTER MECHATRONISCHER SYSTEME Innovative Funktionen moderner mechatronischer Systeme werden mehr und mehr mit Hilfe immer komplexerer Software realisiert. Beispiele für solche Systeme finden sich in modernen Autos, Produktionsanlagen oder der Medizintechnik. Diese Systeme unterliegen harten Echtzeit- und Sicherheitsanforderungen, was den Umfang der Softwareentwicklung deutlich erhöht. Diese Software in kurzer Zeit und mit hoher Qualität zu entwickeln erfordert einen systematischen und durchgängigen Softwareentwicklungsprozess. Der Einsatz modellbasierter Methoden entlang des Prozesses von den Anforderungen über verschiedene Entwurfsschritte bis zum Code erhöht die Nachvollziehbarkeit und Effizienz der Entwicklung und macht die Komplexität beherrschbar. MechatronicUML ist eine modellgetriebene Entwurfsmethode, bestehend aus einem Prozess und einer formalen Sprache, die speziell für den Softwareentwurf von vernetzten mechatronischen Systemen mit nachrichtenbasierter Echtzeitkommunikation entwickelt wurde. Die MechatronicUML bietet Möglichkeiten für die Modellierung und Analyse der entwickelten Software. Fortschrittliche mechatronische Systeme verfügen zusätzlich über die Eigenschaft, sich während der Laufzeit selbstständig an ihr Umfeld anzupassen. Aus diesem Grund legt die MechatronicUML einen besonderen Schwerpunkt auf die Modellierung und Verifikation rekonfigurierbarer Softwarearchitekturen, die Interaktion der einzelnen Systemkomponenten in einer solchen Architektur sowie eine Gefahrenanalyse zur Untersuchung von Einflüssen durch zufällige Hardwarefehler. Abbildung 1 : Wesentliche Arbeitschritte bei der Verwendung von MechatronicUML
Abbildung 2: Die FUJABA Real-Time Tool Suite 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 Kommunikation Ihrer Teilsysteme in Form von Koordinationsprotokollen, legen das Verhalten Ihrer Softwarekomponenten auf Basis von Real-Time Statecharts fest und integrieren diese Teilaspekte zu einer Gesamtarchitektur. Abbildung 1 gibt einen Überblick über die wesentlichen Arbeitsschritte bei der Verwendung von MechatronicUML. 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. 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. 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 Effizienz Ihres Systems signifikant steigern. Dabei zielt die MechatronicUML insbesondere auf den Entwurf Ihres diskreten, zustandsbasierten Systemverhaltens ab. Unterschiedliche Reglerstrategien, die zur Umsetzung des kontinuierlichen Systemverhaltens erforderlich sind, können Sie mit der MechatronicUML integrieren und koordinieren. Werkzeugunterstützung Die FUJABA Real-Time Tool Suite ist unser preisgekrönter Forschungsprototyp*, an dem wir unsere neuesten Forschungserkenntnisse im Bereich der MechatronicUML umsetzen und evaluieren. Mit dem Embedded Modeller unseres Partners Solunar GmbH existiert ein Modellierungswerkzeug, um in den Softwareentwurf mit MechatronicUML einzusteigen. * IBM Eclipse Innovation Award 2004 IBM Eclipse Real-time Innovation Award 2008
SECHS GUTE GRÜNDE FÜR DIE VERWENDUNG VON M ECHATRONICUML Korrektheit per Konstruktion Durchgängige Werkzeugunterstützung Der konsequente Einsatz modellgetriebener Entwicklung und die zur Verfügung gestellte Entwurfsmethode stellen eine hohe Softwarequalität bereits in frühen Phasen des Entwicklungsprozesses sicher. Dies wird unter anderem durch den Einsatz etablierter Verifikationstechniken erreicht. Sie sparen somit hohe Test- und Wartungskosten und vermeiden teure Rückrufaktionen. Mit MechatronicUML erhalten Sie eine durchgängige Werkzeugunterstützung für Ihren Softwareentwicklungsprozess. Eclipsebasierte, graphische Editoren vereinfachen die Spezifikation Ihrer Software. Unsere Werkzeuge bieten Ihnen die Basis für eine Nachverfolgbarkeit (Traceability) und Verständlichkeit auf Modellebene. Integrierte Analyse Erweiterbarkeit MechatronicUML erlaubt die formale Verifikation sowie Integration Ihrer Softwaremodelle mit quasikontinuierlichen, regelungstechnischen Modellen. Exportieren Sie Ihre Modelle automatisch in etablierte Werkzeuge wie UPPAAL, MATLAB Simulink / Stateflow und Dymola / Modelica. Durch unser offenes Metamodell und die Verwendung etablierter Open-SourceTechnologien wie Eclipse und dem Eclipse Modeling Framework (EMF) binden Sie die Entwicklung mit MechatronicUML einfach in ihre bestehende Werkzeugkette ein. Kürzere Entwicklungsdauer Plattformunabhängige Entwicklung MechatronicUML verkürzt die Entwicklungsdauer ihrer Software durch eine konsequente modellgetriebene Entwicklung. Insbesondere für die Spezifikation der Koordination und Adaption ihrer Systeme bietet die MechatronicUML geeignete Hilfsmittel und erlaubt die Wiederverwendung bereits erprobter Lösungen. MechatronicUML ist plattformunabhängig. Sie sind somit nicht an eine Hardwareplattform gebunden. Dadurch können Sie verschiedene plattformspezifische Modelle ableiten sowie den Programmcode für Ihre Zielplattform einfach erzeugen.
Fraunhofer-Institut für Produktionstechnologie IPT Projektgruppe Entwurfstechnik Mechatronik Zukunftsmeile 1 331 02 Paderborn Telefon +49 5251 5465-1 01 Fax +49 5251 5465-1 02 mechatronik@ipt.fraunhofer.de www.ipt.fraunhofer.de/mechatronik Ansprechpartner Dr. Matthias Meyer Telefon +49 5251 5465-1 22 matthias.meyer@ipt.fraunhofer.de Prof. Dr. Wilhelm Schäfer Telefon +49 5251 60331 3 wilhelm@upb.de