Software is increasingly becoming the determining factor in automotive development. Marius Mihailovici, Managing Director of Porsche Engineering Romania, looks into the future of software development and explains why the job of a programmer could change completely over the next 20 years.
Even today, cars are very much rolling computers. They contain a network of electronic control units (ECUs), with between 70 and 100 being installed in every modern vehicle. These computing units control fuel injection, regulate braking behaviour and monitor the air conditioning system. The next step will be HCPs (High Performance Computing Platforms), which will enable significantly more computing power to be integrated into an ECU.
The higher computing power and integration are necessary because the number of lines of code and the complexity of the functions in the vehicle are increasing year by year. One number may make this clear: 100 million. This is how many lines of code feature in today’s car. By comparison, a Boeing 787 Dreamliner only has 14 million.
There are also many lines of code behind the entertainment system and navigation. Added to this is the possibility of connecting smartphones and other devices to the car, which is also only possible with complex software. And it doesn’t stop there: software is taking over more and more important in-car tasks. The most important functions today and in the future include data exchange with other road users and the infrastructure, updating vehicles from the cloud, and eventually even autonomous driving.
The development of automotive software has become a rather tricky balancing act. Safety regulations and customer requirements in the form of voluminous specifications need to be fulfilled. The conventional development processes in the industry are usually time-driven: there is a predefined schedule that defines certain milestones. The clients expect regular results at predetermined dates.