
„Safe Oriented Programming of Software-Intensive Embedded Systems (S3OP) – A Safely Embedded Software Approach“
Embedded Systems sind zentraler Bestandteil aktueller Produkte der Investitionsgüter-Industrie :
Immer mehr Produkte beinhalten integrierte Hard- und Softwarekomponenten. Aktuelle Mittelklasse-Fahrzeuge nutzen heute über 70 Prozessoren, von sicherheitskritischen Systems wie ESP, ABS oder Airbag-Steuerungen bis hin zu Kommunikations- und Multimediaeinheiten, vor 40 Jahren waren es nicht mal fünf. Ob in der Medizintechnik bei Herzschrittmachern und Magnetresonanztomografen oder der Automation industrieller Anlagen, etwa bei der Sensorik zur Überwachung und bei der Industrierobotik zur Steuerung von Produktionsprozessen, oder in Mobilen Robotern überall heißt es: „Embedded Systems inside“.
Dieses Forschungsvorhaben will einen Beitrag dazu leisten, die Fehlertoleranz und Zuverlässigkeit von software-intensiven Systemen zu erhöhen. Dabei liegt zunächst der Fokus bei den Embedded Systemen. Grundsätzlich werden sich die Ergebnisse auch auf Industrie-PCs übertragen lassen.
Aus dem non-funktionalen Requirement Safety leiten sich Anforderungen an die Programmierung, die verwendeten Datenstrukturen und die darauf operierenden Algorithmen, sowie sichere und trotzdem performante Floatingpoint-Bibliotheken ab. Die grundlegende Idee des Safely Embedded Software Paradigmas wurde bereits grob vom Antragsteller vorgestellt. In diesem Forschungs-projekt soll eine tiefergehende Forschung für die Sichere Programmierung in den Programmier-sprachen C und C++ erfolgen. Auch sollen Sichere Design Pattern beschrieben werden.
Die Ergebnisse werden auf andere prozedurale oder objektorientierte Programmiersprachen übertragbar sein. Abschließend sollen die aufgestellten Konzepte aus dem Forschungsvorhaben S3OP mit den Anforderungen eines Automotive Embedded Systems (iNTENCE Automotive GmbH) und Mobiler Roboter Systeme (Manu Systems AG) evaluiert werden.
Der VDA-Arbeitskreis (Verband der Automobilindustrie e. V.) sieht das Potenzial des Standorts Deutschland in der Entwicklung und Anwendung neuer Technologien. Diese haben das Ziel die Zuverlässigkeit software-intensiver Systeme zu steigern. Damit können Innovationen in „Automotive Embedded Systems“ für eine nachhaltige Sicherung von Arbeitsplätzen in der Automobilindustrie als Schlüsselindustrie Deutschlands in einer globalisierten Welt einen Beitrag leisten.
Es sollen fundiert und anwendungsnah Konzepte zur sicheren Programmierung software-intensiver Systeme formuliert, exemplarisch angewandt und mittels Fault-Injectionstrategien (Einspeisung zufälliger und systematischer Fehler) validiert werden. Die Fault-Injection soll dabei auf einer Ziel-Plattform erfolgen.
Im Einzelnen sind die Ziele des Forschungsvorhabens S3OP:
- Darlegung des Standes der Wissenschaft/Stand der Technik der Software-Codierungsverfahren
- CRC, ECC, Hamming, Coded Processing, …
- Safe Object Oriented Programming Paradigm (nutzt den Safely Embedded Software Approach mit Coded Processing)
- Safe Simple Data Type: Safe Integer Data, Safe Float Data, Safe Pointer
- Safe Complex Data Type: Safe Array, Safe Class, Safe Polymorphism (Safe vtable)
- Safe Integer Operator: Safe Addition, … (Algorithms for Safe Integer Arithmetic)
- Safe Float Operator: Safe Addition, … (Algorithms for Safe Floating Point Arithmetic)
- Safe Comparison Operator: Safe Greater Equal Zero, …
- Safe Logical Operator: Safe And, …
- Safe Control Structure: Safe If-Then-Else-Statement, …
- Safe Functions/Methods: Control Flow
- Safe Exception Handling: Safe Try-Throw-Catch-Mechanism
- Safe Decision: Safe (local) Comparator, (Global) Safety Supervisor
- Safe Synchronisation: Safe Semaphore, Safe Shared Data, Safe Multithreading
- Safe Time: Temporal Programm Flow Monitoring
- Safe Scheduling: Task Flow Monitoring
- Safe Communication: Safety Protocol
- Studie zur Analyse des Safe Object Oriented Programming Paradigm
- Entwicklung eines Fehlermodells
- Ableitung von Markov Modellen
- Bestimmung sicherheits-relevanter Metriken (z.B. MTTF, PFD, SFF, …)
- Code-Metriken (Performance: Laufzeit, Resourcenverbrauch: RAM und ROM)
- Safe Design Pattern – An adoption of the Safe Object Oriented Programming Paradigm
- Validation des Safe Object Oriented Programming Paradigm auf einer Zielplattform
(Standard Controller mit Fault Injection per JTAG oder Incircuit-Emulator oder FPGA mit IP-Core Prozessormodell) - Machbarkeitsstudie zu Code Generator for Safe Object Oriented Programming in C++
- Evaluation der aufgestellten Konzepte mit den Anforderungen eines Automotive Embedded Systems (iNTENCE Automotive GmbH) und Mobiler Roboter Systeme (Manu Systems AG)