Kühlschrank-Simulator – Softwarevalidierung mit emulierter Hardware

Der Auftraggeber

Bosch Siemens Hausgeräte GmbH

Die Bosch Siemens Hausgeräte GmbH (BSH) ist der größte Hausgerätehersteller in Europa und gehört zu den weltweit führenden Unternehmen der Branche. Das Produktportfolio umfasst neben Kühlschränken u. a. auch Geschirrspüler, Waschmaschinen und Staubsauger. Am Produktionsstandort Giengen an der Brenz werden von den dort ca. 2.500 Beschäftigten hauptsächlich Kühl- und Gefriergeräte entwickelt und hergestellt. 

Das Projekt

Moderne Kühlgeräte benötigen heutzutage ein komplexes eingebettetes System, um die bestmögliche Energieeffizienz zu gewährleisten und gleichzeitig dem Benutzer die volle Kontrolle über das System zu ermöglichen. Über Eingabeinstrumente, die an der Tür des Kühlschranks angebracht sind, kann der Benutzer Parameter wie die Kühltemperatur verändern oder Funktionen wie den Urlaubsmodus aktivieren. Die Software, die solche Eingaben verarbeitet und das Kühlgerät dementsprechend steuert, wird von BSH am Standort Giengen an der Brenz entwickelt und gepflegt. Zur Validierung der Software müssen aufwendige Tests am Produktivsystem vorgenommen werden. Insbesondere komplexe Kühlvorgänge gehen oft mit sehr zeitintensiven Testverfahren einher. Da Hardware und Software separat entwickelt werden, steht außerdem die fertige Hardware unter Umständen erst spät im Entwicklungsprozess für Testzwecke zur Verfügung. 

Unsere Aufgaben

Die develop group wurde beauftragt, eine Simulationssoftware zu entwickeln, die die Hardwareebene und die Hardware Abstraction Layer (HAL) der Kühlschranksteuerung emuliert und der Anwendungsebene der Software spezifikationskonforme Rückmeldungen gibt. Mit dieser Lösung kann die entwickelte Steuerungssoftware ohne Zuhilfenahme eines Produktivsystems auf dem Entwicklungsrechner getestet und validiert werden.

Die Simulationssoftware sollte zum einen leicht erweiterbar, zum anderen auch ohne Programmierkenntnisse bedienbar und konfigurierbar sein. Darüber hinaus wurde eine komfortable Schnittstelle zur Implementierungssprache der BSH-Anwendungssoftware (C) benötigt. Diese Anforderungen führten zu der Entscheidung unserer Berater, den Simulator mit Python zu entwickeln.

Die Schnittstellen der Anwendungssoftware zur HAL werden an die entsprechenden Schnittstellen des Simulators gekoppelt, wodurch alle an die HAL gerichteten Methodenaufrufe an den Simulator weitergeleitet werden. Mit Hilfe des Simulators können unterschiedliche Verhaltensweisen der Anwendungssoftware (z. B. bei unterschiedlichen Temperaturverläufen) getestet werden. Durch die Definition von Invarianten kann der Anwender sicherstellen, dass sich das System in einem korrekten Zustand befindet, und wird ggf. über Fehler und Fehlerquellen informiert. Außerdem können Anwendungsfälle formuliert werden, die zu einem bestimmten Zeitpunkt verschiedene Parameter setzen und überprüfen (z. B. Öffnen der Kühlschranktür nach 10 Sekunden, Schließen nach 20 Sekunden).

Die Konfigurierung des Simulators erfolgt entweder über Konfigurationsdateien oder über eine in die Eclipse-Umgebung eingebettete grafische Benutzungsoberfläche, die auch die Steuerung mehrerer Simulationsinstanzen ermöglicht.

Das technische Projektumfeld

  • Simulator: Python
  • Schnittstellen für Simulator: C, Python-Bibliothek ctypes
  • Grafische Benutzungsoberfläche: Eclipse, EMF

Das Ergebnis

Die Entwicklung der Simulationssoftware ist abgeschlossen; sie ist beim Kunden im produktiven Einsatz. Im engen Kontakt mit BSH werden Anpassungen an der Simulationssoftware sowie Angleichungen an den aktuellen Stand der BSH-Steuerungssoftware vorgenommen.

Diesen Projektbericht können Sie hier herunterladen: Initiates file downloadDownload PDF

Ihr Projekt-Ansprechpartner

Mail to Samir Al-HilankSamir Al-Hilank
Bereich Technical Software 2