Motivation
In Autos sind heute viele sogenannte eingebettete Systeme, Kleinstcomputer mit Softwarekomponenten, eingebaut, die diverse Regelungs- oder Assistenzsysteme ermöglichen. Für die Herstellung der eingebetteten Software hat sich im Automobilbereich die modellbasierte Entwicklung mit den Modellierungssprachen Simulink und Stateflow industriell etabliert. Mit steigendem Umfang dieser Software wächst auch der Bedarf an Werkzeugen, die den Entwicklungsprozess qualitativ hochwertig, automatisiert und möglichst effizient unterstützen. Wie stellt man nun sicher, dass die Modelle schon im Entwicklungsprozess von hoher Qualität und gleichzeitig für Menschen überprüfbar sind, also einen überschaubaren Komplexitätsgrad nicht überschreiten? Speziell im Rahmen sicherheitsrelevanter Software (z.B. für automatische Bremssysteme) bestehen hohe Anforderungen an die Lesbarkeit und Verständlichkeit von Modellen, um Fehler im Entwicklungsprozess zu vermeiden und Tests zu ermöglichen. Für die modellbasierte Entwicklung mit Simulink existiert noch kein industriell einsetzbares Verfahren, mit dem die effektive Komplexität von Softwaremodellen analysiert werden kann. Bisherige Ansätze beziehen sich vor allem auf Metriken wie die Anzahl der verwendeten Modellelemente oder der Ein- und Ausgänge, jedoch nicht auf den Grad der Vernetzung innerhalb eines Modells.
Ziele und Vorgehen
Das Verbundvorhaben eCoSMo hat daher das Ziel, ein speziell auf die Modellierungssprachen Simulink und Stateflow ausgelegtes Verfahren zur Bestimmung der effektiven Komplexität zu entwickeln. Das System soll den Grad der Vernetzung innerhalb von Softwaremodellen analysieren und eine aussagekräftige Vergleichsbasis für Wartungs- und Testaufwand für industriell entwickelte Modelle ermöglichen. Geeignete Basistechniken aus dem Bereich der Softwareentwicklung werden durch neu zu entwickelnde, spezifisch modellbasierte Techniken ergänzt. Dazu zählen Analysen, die Modelle in ihre Einzelkomponenten zerlegen, um die Lesbarkeit zu erhöhen und den Einsatz mathematisch fundierter Testverfahren zu ermöglichen. Diese neuartigen Verfahren werden an Beispielmodellen aus dem Automobilbereich evaluiert.
Innovationen und Perspektiven
Im Ergebnis können durch die Analyse auf Modellebene bereits im Entwicklungsprozess Teile identifiziert werden, deren Komplexität empfohlene Werte überschreitet und die damit nicht mehr wart- und testbar sind. Damit wird eine präzise Bewertung aller Modellteile in allen Entwicklungsphasen gerade in den Bereichen realisiert, in denen Softwaresysteme mit hohen Sicherheitsansprüchen modellbasiert entwickelt werden. Unternehmen sowohl aus dem Automobil- sowie Flugzeug-, Bahn- oder Industrieanlagenbereich können durch diese Effizienz- und Sicherheitssteigerung ihre Marktposition stärken und ihre Wettbewerbsfähigkeit ausbauen.