Software used in the automotive industry needs to be incredibly efficient, meet a plethora of real time requirements, and comply with numerous safety and resource constraints. Moreover, the latest advances regarding self-driving vehicles and their implications necessitate vastly increased computing power, resulting in multi-core and many-core processors now being used across the car industry. Multi-core ECUs are more powerful than multiple single core controllers, way more cost-effective, and bring down weight and energy consumption. They signify the arrival of true parallel processing in electronic automotive control systems taking their performance to the next level. To maximize the benefits of multi-core and many-core technology, software designers need to tackle additional challenges such as increased design space complexity of a highly interactive and distributed development environment (AUTOSAR just being one among many), and executing non-parallel legacy software routines on parallel real time platforms.
These days, mobile software is ubiquitous. None of the above and below industry sectors supplies a product that represents such an integral part of our life. Mobile platforms represent complex embedded event-driven software systems controlling highly integrated multi- and many-core devices, thereby meeting diametrically opposite requirements such as energy efficiency and high performance levels. To achieve this by designing applications around highly dynamic mode-dependent load scenarios, software engineers can use global dynamic scheduling to balance computing power and energy consumption.
Avionics software needs to comply with the highest quality and safety standards. Unlike their automotive or mobile counterparts that include plenty of event-driven applications, avionics use Time and Space Partitioning (TSP). Introducing multi-core and many-core processing means that the avionics industry faces the challenge of adhering to the same stringent standards that apply to multi-processor and legacy systems. Moreover, designing and analysing the complex static and dynamic behavior of these (often distributed) systems and the need of comprehensive reporting puts even more pressure on avionics software engineers.
Industrial & Medical Automation Technologies
Automation shares many of the requirements that apply to applications in the automotive and avionics industry, as well as to mobile software platforms. Wither we are talking crucial safety and quality standards in medical technology centred around deterministic software systems, or maximum production rates achieved by industrial automation, multi-core technology delivers the vital computing power and can even add extra safety layers if necessary. Anyone in these sectors who wants to make full use of the opportunities that multi-core technology offers will need to tackle the challenges that come with parallel computing and the respective software design.