"Er is veel aandacht voor software en andere IT gerelateerde zaken."
Ruud van den Boomen - Stagiair Embedded Engineering
Ruud van den Boomen, student Fontys Hogeschool ICT, liep stage op de Embedded Software Engineering afdeling. Hij zorgde ervoor dat de Driver Performance Assistant (DPA) - software die de bestuurder feedback geeft op zijn of haar manier van rijden, zoals bijvoorbeeld het efficiënt remmen of het laten uitrollen van de truck – ook op een smartphone kan draaien.
“DAF is een groot bedrijf, maar veel mensen hebben vaak niet door dat er veel aandacht is voor software en andere IT gerelateerde zaken,” vertelt Ruud. “Toch is het een belangrijk onderdeel van de vrachtwagens van DAF. In de vrachtwagens zitten namelijk steeds meer sensoren en processoren.”
Model Driven Development voor de ontwikkeling van applicatiesoftware
Ruud legt uit: “Op de Software Engineering afdeling bij DAF wordt software gemaakt voor de vrachtwagen, deze software wordt applicatiesoftware genoemd. Het bijzondere bij DAF is dat ze Model Driven Development toepassen voor de ontwikkeling van de applicatiesoftware. Dit is een software ontwikkelmethode waarbij software automatisch afgeleid wordt van een of meer modellen. De hardware waar deze applicatiesoftware op draait wordt besteld bij verschillende leveranciers, hierdoor bevat de verschillende hardware verschillende basissoftware. Deze basissoftware is software van de leveranciers die standaard ingebouwd zit op de verschillende electronic control units (ECU) van de vrachtwagen.”
Zonder aanpassingen applicatiesoftware hergebruiken
“Om de applicatiesoftware te scheiden van de basissoftware, is er binnen DAF een vaste manier van ontwikkelen bedacht. Deze is gebaseerd op een abstractielaag binnen de Model Driven Development omgeving. Deze manier van werken zorgt ervoor dat de applicatiesoftware zonder aanpassingen hergebruikt kan worden, dit kan erg handig zijn bijvoorbeeld wanneer de hardware leverancier wijzigt.”
“Om na te gaan of de software die bij DAF ontwikkeld wordt inderdaad zonder aanpassingen verhuisd kan worden naar andere hardware, heb ik in mijn stageopdracht geprobeerd om een bestaand model op een Android telefoon te draaien. Het gekozen model is de DPA. Ik heb het voor elkaar gekregen om de DPA op een Android telefoon te laten draaien. Dit is gedaan door C-code te genereren en deze vervolgens zonder aanpassingen te gebruiken in een Android app.”
De voordelen van een abstractielaag
“Nu het gelukt was om het software model te gebruiken in een app, was het nodig om de output waardes van dit model te koppelen aan een lay-out. De lay-out van de app hebben we zoveel mogelijk overeen laten komen met de lay-out van de DPA in de truck. Ik kon aantonen dat het DPA zowel in de simulatieomgeving als op de telefoon, dezelfde scores en uitkomsten binnenkwamen. Het resultaat van mijn stageopdracht wordt gebruikt om op een inzichtelijke manier te laten zien wat de voordelen zijn van een abstractielaag en dat je dit ook kan toepassen bij Model Driven Development.”
Bewuster van protocollen en communicatiemethoden
“Tijdens mijn opleiding ben ik vooral bezig geweest met maken en ontwerpen van software zonder veel te moeten nadenken over de hardware. Tijdens mijn stage ben ik veel bewuster geworden van het feit dat de hardware verschillende protocollen en communicatiemethoden gebruikt om je software te kunnen draaien. Ook heb ik beter inzicht gekregen welke stappen er op de achtergrond doorlopen worden om van model tot uitvoerbare code te komen.”
“Er werken hier veel mensen met verschillende nationaliteiten. Dit vond ik een leuke ervaring, zo leer je meer over hun normen en waarden en spijker je meteen je Engels bij. Voordat ik mijn stage begon was ik benieuwd hoe het is om bij zo een groot bedrijf te werken. Het was goed om te zien dat ondanks deze ‘overvloed’ aan collega’s, iedereen bereid is om je een handje te helpen.”