Projekttyp | Forschungsprojekt im Rahmen des Software Campus |
Status | laufend |
Industriepartner | Software AG |
Gefördert durch | Bundesministerium für Bildung und Forschung (BMBF) |
Beginn | 01.01.2022 |
Ende | 31.12.2023 |
IoT-Anwendungen können durch Domänenexperten mithilfe von Entwicklungsumgebungen modellgetrieben entwickelt werden. Beim Betrieb derartiger IoT-Anwendungen können Fehlerfälle auftreten, die nicht durch existierende Monitoringsysteme erkannt werden, z.B. falsch gemessene Sensorwerte. Ziel dieses Projektes ist es, derartige Fehlerfälle mittels Datenvalidierung schon bei der modellgetriebenen Anwendungsentwicklung zu berücksichtigen und so aktiv zu einer verbesserten Fehlertoleranz beizutragen.
IoT-Umgebungen zeigen im Vergleich zu traditionellen Softwareanwendungen eine Vielzahl neuer Fehlerquellen. Ursachen hierfür sind unter anderem eine große Geräte- sowie Hardware- und Software- Heterogenität, eine hohe Dynamik, durch bewegliche, ausfallende oder neu hinzugekommene Geräte, oder fehlerhafte oder ungenaue Sensoren. Neben Software, Hardware- und Netzwerkfehler, die zum Ausfall von IoT-Anwendungen führen, können auch operationale Fehler auftreten. Dabei werden unter operationalen Fehlern die Fehlerfälle verstanden, die nicht zum Absturz der Anwendung führen, sondern lediglich zu einem ungewünschten Verhalten, beispielsweise durch eine fehlerhafte Messungen eines Temperatursensors.
Software-, Hardware- und Netzwerkfehler können durch existierende Monitoringsysteme bereits erkannt und behandelt werden. Operationale Fehler sind jedoch schwer zu erkennen und zu behandeln, da trotz fehlerfreiem Programmablauf ein unerwünschtes, vielleicht sogar fehlerhaftes oder gar kritisches Verhalten zutage tritt. Gerade in verteilten IoT-Umgebungen sind die Ursachen operationaler Fehler schwer zu lokalisieren, da die einzelnen Geräte und Programme keine Auffälligkeiten in Monitoringsystemen verursachen. Durch die aufwendige Fehlersuche entstehen hohe Kosten. Diese sollen durch die Arbeiten dieses Projektes reduziert werden, indem bereits bei der Anwendungsmodellierung Vorschläge generiert werden, um operationale Fehler zu berücksichtigen und so aktiv zu einer verbesserten Fehlertoleranz beizutragen.