"The company is extremely focused on software and other IT-related issues."
Ruud van den Boomen - Embedded Engineering Intern
Ruud van den Boomen, an ICT student at Fontys University of Applied Sciences, completed an internship in the Embedded Software Engineering department. Ruud was tasked with making sure that the Driver Performance Assistant (DPA)—software that provides the driver with feedback on their driving, such as whether they are braking efficiently or if they are letting the truck coast—also runs on a smartphone.
"DAF is a major company, but what a lot of people do not realise is that the company is extremely focused on software and other IT-related issues", explains Ruud. "Software is in actual fact an integral component of DAF trucks. Notably, DAF trucks are being fitted with more and more sensors and processors".
Model-driven development for producing application software
Ruud explains: "The Software Engineering department at DAF is responsible for creating software for the trucks, which is known as application software. The unique thing about DAF is that it utilises model-driven development to produce its application software. This is a method of software development where the software is automatically derived from one or more models. The hardware on which this application software runs is ordered from various suppliers, and the different pieces of hardware contain different basic software programs. This basic software is software that is developed by the suppliers and is built into the various electronic control units (ECU) on the truck as standard".
Reusing application software without having to adapt it
"DAF has devised a specific development method for separating the application software from the basic software. This method is based on an abstraction layer within the model-driven development environment. Working in this way means that the application software can be reused without having to adapt it, which can be extremely useful when the hardware supplier changes, for example".
"As part of my internship, I tried to get an existing model to run on an Android phone to ascertain whether the software developed by DAF can definitely be migrated to other hardware without it having to be adapted. The model chosen was the DPA, and I did indeed manage to run the DPA on an Android phone. I did this by generating C code and then using the code in an Android app without adapting it".
The benefits of an abstraction layer
"Now that I had succeeded in running the software model in an app, I needed to link the output values from this model to a layout. We tried to match the layout of the app with the layout of the DPA in the truck as far as possible. I was able to demonstrate that the DPA achieved the same scores and results in both the simulation environment and on the phone. The findings from my internship work were used to illustrate the benefits of an abstraction layer in an insightful manner, and proved that these benefits can also be applied to model-driven development".
Greater awareness of protocols and communication methods
"As part of my course, I was mainly tasked with creating and designing software without having to think too much about the hardware. During my internship, I gained a much greater awareness of the fact that the hardware uses various protocols and communication methods to allow your software to run. I also acquired a better understanding of the steps that take place in the background to translate a model into executable code".
"There are so many people of different nationalities working at DAF. I found that particularly great, as you can learn more about their traditions and values and brush up on your English straight away. Before I started my internship, I was curious about what it would be like to work for such a large company. It was fantastic to see that, despite having such an abundance of colleagues, everyone is happy to lend a hand".