Skip to Main Content
The last decade has seen a phenomenal increase in the use of electronic components in automotive systems, resulting in the replacement of purely mechanical or hydraulic-implementations of different functionalities. Today, in high-end cars, it is common to have around 70 electronic control units (ECUs), each consisting of programmable processors, one or more microcontrollers and a set of sensors and actuators. Different functionalities (e.g. adaptive cruise control or anti-lock braking) are then implemented in a distributed fashion with parts of a task being mapped onto one or more ECUs and these ECUs exchanging messages and signals via high-speed communication buses. The heterogeneity and the distributed nature of these implementations, coupled with the emergence of new standards and protocols for the automotive domain have given rise to new challenges - both in terms of programming large-scale ECU networks, as well as in evaluating their performance and timing properties. This tutorial will provide a comprehensive overview of the recent developments in this domain and also highlight some of the challenges facing embedded systems designers and programmers. The topics covered will include time-triggered architectures for implementing safety-critical applications, emerging protocols for the automotive domain such as FlexRay, techniques for performance and timing analysis of FlexRay-based ECU networks, and languages and tools for developing distributed implementations of automotive functionality around FlexRay and other related protocols. Apart from discussing the relevant protocols, languages and modelling/analysis techniques, the tutorial will also cover practical case studies and some commercially available tools and their functionality.