Definition of Design Patterns for Advanced Driver Assistance Systems

Advanced Driver Assistance Systems (ADAS) are embedded systems in the automotive domain which play an important role for safety enhancement. They are subject to several complex hardware and software constraints, and executed in a highly variable environment. Thus, the design of these systems is a very important task but becomes increasingly difficult, especially with the lack of generic reusable templates for ADAS. So, in this paper, we propose three design patterns covering design problems relative to the following key tasks: sensing, processing and control of sensor data, and taking actions (warning and actuation). These patterns are specified using the Unified Modeling Language (UML) to represent structural and behavioral information. This paper also describes two examples of ADAS that illustrate how we have applied these patterns.