In a recent news report CNN has revealed a translated Toyota memo which links problems of the car manufacturer regarding an electronic acceleration concern to a software issue. When even news magazines pick up such stories, this shows the growing importance of software for embedded systems.
It maybe over 6 years when the problem appeared in the Lexus Model 460 as well as the Toyota Tundra. Nonetheless, the message shows the increasing relevance of software engineering for embedded systems. Embedded systems and not enterprise systems as many people assume contain most of the software built today. Approximately 50% and continuously increasing is the contribution of software to embedded systems such as power plants, medical devices, planes, automotive. As a consequence, software bugs can have a huge impact.
In the case of Toyota, the following problem appeared in the car as the translation of an internal Toyota Memo shows
The cruise control activates by itself at full throttle when the accelerator pedal position sensor is abnormal.
According to CNN:
Software glitches were an early suspect in the rash of reports of sudden, unintended accelerations reported in Toyota vehicles in 2010, some of which caused severe accidents and several fatalities. But both Toyota and the National Highway Transportation Safety Administration concluded that electronics were not at fault, instead blaming bad floor mats, sticky accelerator pedals and, in some cases, driver error.
It needs to be mentioned, though, that Toyota does deny this problem has ever appeared and that the memo has been translated in an incorrect way. Moreover, any problems, according to the company, had been fixed before production.
Toyota is only one example that shows the relevance of software architecture and engineering in modern products and solutions. Even companies that were hardware-centric in the past need to adapt to the fact that software is now becoming the main constituent of their systems. As a consequence, software architecture needs much more emphasize in system engineering contexts where so far hardware and business aspects such as bill of material had been the main drivers.