Saurav Paul, Embedded Software Engineer bij ICT Netherlands
Verhaal

Foutloos, betrouwbaar en snel software ontwerpen met Model Driven Engineering

Saurav Paul, Embedded Software Engineer bij ICT Netherlands

  • 16 maart 2018
  • 3 minuten

Ga er maar aan staan: direct na je afstuderen software ontwerpen voor de medische sector. Het overkwam Saurav Paul, die na zijn studie Embedded Systems bij ICT Group aan de slag ging als software engineer

De uitdaging van Saurav was een software systeem te ontwerpen voor een service tool waarmee röntgenapparaten gecheckt worden. Het geheel moest foutloos, betrouwbaar en snel worden opgeleverd.

Philips Healthcare ontwikkelt innovatieve röntgensystemen voor beeldgeleide medische procedures. Deze machines worden aangedreven door een zogenaamde startup/shutdown controller, die de betrouwbaarheid en veiligheid van de apparaten garandeert. De functionaliteit van de startup/ shutdown controller wordt regelmatig gecheckt via een service tool. Philips Healthcare vroeg ICT Group om de software voor deze service tool te ontwikkelen.

Direct bijsturen

Software engineer Saurav Paul voerde de opdracht uit, waarbij hij gebruik maakte van een nieuwe methodologie van software ontwerp die Model Driven Engineering wordt genoemd. Deze nieuwe aanpak vereist een compleet andere manier van denken en ontwerpen, die met name geschikt is om robuuste, betrouwbare softwaresystemen te leveren. “Gelukkig had ik tijdens mijn studie al ervaring opgedaan in Model Driven Engineering, dus ik kon meteen aan de slag,” aldus Saurav. 

In de traditionele werkwijze begint een software engineer na een kort overleg met de klant gelijk met programmeren. Bij Model Driven Engineering wordt er eerst samen met de klant een model gemaakt, dat als blauwdruk geldt voor het latere software ontwerp. In dat model worden de functionaliteiten en componenten van de software en hun onderlinge relaties schematisch beschreven. Dat gebeurt in een taal die gemakkelijk te begrijpen is voor zowel de software engineer als de klant. “Zo kan de klant direct in het model zien of de software doet wat het moet doen,” zegt Saurav. “En kan er meteen worden bijgestuurd als het ontwerp niet overeenkomt met zijn of haar wensen.”

“Ik voelde me trots en voldaan om zo’n uitdagend project af te ronden. Vooral omdat dit mijn allereerste opdracht was."

Saurav Paul
Embedded Software Engineer bij ICT Netherlands
Saurav Paul, Embedded Software Engineer bij ICT Netherlands

Feedback over fouten

Het unieke aan de Model Driven Engineering methode is dat de computercode met één druk op de knop automatisch uit het model wordt gegenereerd. Die automatiseringsstap voorkomt menselijke programmeerfouten en zorgt voor een veel robuuster ontwerp. 

Het programma Dezyne waar Saurav mee werkte test bovendien of er ongewilde eigenschappen in het software ontwerp zitten, zoals deadlocks of race conditions. “Bij traditioneel software ontwerp krijg je alleen feedback over de fouten als je de software aan het testen bent,” zegt Saurav. “Bovendien is het vaak heel moeilijk om die fouten in de code op te sporen. Dezyne laat je meteen in het begin zien waar de fout zit en wijst ook de precieze locatie aan. Het dwingt je om goed na te denken over je ontwerp.”

Uiteindelijk scheelt die methode een hoop tijd. “Je bent langer bezig in het begin met het ontwerpen van het model en het corrigeren van fouten, maar je wint alle tijd weer terug aan het einde omdat je nauwelijks nog fouten in de computercode hebt.”

Trots

Het eindresultaat mocht er zijn, de klant was tevreden. Saurav zelf overigens ook. “Ik voelde me trots en voldaan om zo’n uitdagend project af te ronden. Vooral omdat dit mijn allereerste opdracht was. Ik heb veel geleerd en ik geloof dat deze uitdaging mijn toekomstige projecten enorm zal verrijken.”