Softwaretechnische Absicherung intelligenter Systeme im Fahrzeug

Bernhard Rumpe,Christian Berger,Holger Krahn
DOI: https://doi.org/10.48550/arXiv.1410.4078
2014-10-15
Abstract:"This article describes software engineering techniques to be used in order to ensure the necessary quality of intelligent and therefore massive software-based systems in vehicles. Quality assurance for intelligent software is achieved through a bundle of modern software engineering methods. Architecture and design patterns for securing the software components are supplemented by test concepts and frameworks for validation and checks of robustness of the implementation. These patterns describe established and therefore consolidated solutions for certain problems as for instance reliability or efficient execution. -- Dieser Artikel skizziert, welche Software-Entwurfstechniken heute zum Einsatz kommen können, um intelligente, Software-lastige Systeme im Fahrzeug abzusichern. Dabei spielt zunächst das Qualitätsmanagement durch Software-technische Maßnahmen eine zentrale Rolle. Architektur- und Entwurfmuster für die Software-technische Absicherung von Komponenten werden ergänzt um Test-Konzepte zur Validierung von Spezifikationen und der Robustheit der Implementierung. Architekturen und Entwurfs-Muster beschreiben erprobte und damit konsolidierte Lösungen für bestimmte Problemklassen wie etwa Zuverlässigkeit oder effiziente Ausführung.
Software Engineering
What problem does this paper attempt to address?
### The Problem the Paper Attempts to Solve This paper aims to address the issue of quality assurance for intelligent system software in automobiles. As innovations in the automotive field increasingly focus on driver assistance systems, these systems are becoming more complex, integrating mechanical, electronic, and increasingly sophisticated recognition, prediction, and control software functions. Current trends indicate that intelligent systems play a role not only in comfort but, more importantly, in driver assistance and the safety of traffic participants. However, quality assurance for these systems faces challenges due to the following reasons: 1. **Complexity and Dependency**: Modern driver assistance systems require the integration of multiple complex, highly interdependent software components. Some of these components possess genuine intelligence and are often implemented on different controllers within the vehicle. 2. **Short Development Cycles**: The automotive industry aims to achieve rapid development cycles from concept to implementation, similar to the software industry. However, this rapid development conflicts with the verification methods for complex intelligent systems. 3. **Characteristics of Intelligent Algorithms**: Particularly, systems that integrate artificial intelligence principles into vehicles using probabilistic or learning algorithms are difficult to assure quality using traditional methods due to their discontinuous behavior and mode switching. 4. **Hardware Dependency**: Software development often relies on specific hardware (such as sensors), making software integration possible only in the later stages of the overall development process, increasing the difficulty of verification. 5. **High Interconnectivity Between Systems**: Software functions developed by different manufacturers/suppliers are highly interconnected, distributed across different controllers and bus systems, requiring new development and quality assurance concepts. Therefore, the paper proposes a series of software engineering techniques and architectural patterns to ensure the quality and reliability of these intelligent systems. These techniques include: - **Architectural and Design Patterns**: To protect software components, ensuring their reliability and efficient execution. - **Testing Concepts and Frameworks**: To verify the robustness of specifications and implementations. - **Fault Detection and Avoidance**: Using various methods to detect and avoid errors during system operation. - **Redundant Implementations**: Enhancing system availability and safety through active and passive redundancy. - **Separation of Concerns**: Simplifying system development and maintenance through modularization and clear interface definitions. These methods and techniques aim to shorten development time, improve quality assurance, increase component reusability, and address the inevitable liability issues in driver assistance systems.