Aus einem Forschungsprojekt ist ein neuer Embedded-Software-Standard hervorgegangen: Der »eFMI-Standard« soll das modellbasierte Entwickeln beschleunigen. Beteiligt am Projekt war unter anderem AbsInt Angewandte Informatik zusammen mit 24 Partnern aus fünf Ländern.
Im Forschungsprojekt »EMPHYSIS« entwickelte AbsInt zusammen mit 24 Partner-Unternehmen den neuen Standard – das Projekt wurde mit dem diesjährigen »ITEA Award of Excellence« ausgezeichnet. EMPHYSIS – Embedded Systems with Physical Models in the Production Code Software – wurde von Bosch geleitet und lief über dreieinhalb Jahre (September 2017 bis Februar 2021).
Ziel des Projekts war das Entwickeln eines globalen Standards namens eFMI – embedded Functional Mock-up Interface – für Industrie 4.0 und IIoT. Er ermöglicht den Austausch digitaler Modelle zwischen Herstellern und basiert auf dem FMI-Standard. Er deckt den gesamten Entwicklungsprozess vom physikbasierten Modell bis zum Code ab und ermöglicht so fortschrittliche Steuerungs- und Diagnosefunktionen. Ein neues Projekt der Modelica Association soll eFMI weiterentwickeln, standardisieren und fördern.
Technisch gesehen ist das Neue an eFMI, dass er ein zielunabhängiges Zwischenformat bereitstellt, das sich einer neuen Sprache bedient: der »Guarded Algorithmic Language for Embedded Control (GALEC)«. Sie garantiert, dass ein in der Sprache geschriebener Algorithmus in Code übersetzbar ist, auf den Folgendes zutrifft:
Mit anderen Worten: Der Code erfüllt die Anforderungen an sicherheitskritische eingebettete Software im Automobilbereich, was ihn ebenso für andere, weniger regulierte Bereiche wie Robotik, industrielle Anwendungen und Konsumgüter anwendbar macht.
AbsInt Angewandte Informatik hat als Anbieter von Verifikationswerkzeugen mit dem Entwickeln eines Werkzeuges zum Erfolg des Projektes beigetragen. Es koppelt eFMI mit dem statischen Analysator »Astrée«. Mit dem Koppeln ist die automatische Analyse von Code möglich, der eFMI-Komponenten implementiert. So soll es möglich sein, die Abwesenheit von Laufzeitfehlern zu beweisen und Verletzungen von Codier-Regeln wie MISRA-C zu erkennen. Wichtig ist das, um eine vollautomatische eFMI-Verifikation zu gewährleisten. Entwickler können so garantieren, dass Laufzeitfehler bei physikbasierten Modellen, die über eFMI in die Software integriert sind, nicht vorkommen.