Annie's Challenge
Verhaal

Annie’s Challenge

Software ontwikkelen voor een luchtverkeersleidingssysteem met de Model Driven Engineering tool van Festa

  • 13 augustus 2018
  • 5 min

Van een traditionele manier van softwareontwikkeling overstappen naar een Model Driven Engineering aanpak betekent uit je comfort zone stappen. ICT Group’s software designer Annie Jovitha Arulanandam ging de uitdaging aan. Bij het ontwerpen van software voor een luchtverkeersleidingssysteem maakte ze gebruik van de Festa Engine tool.

Toen Annie Jovitha Arulanandam in 2017 voor ICT Group kwam werken, had ze meer dan vijf jaar professionele ervaring in de traditionele manier van software ontwikkelen. “Dat betekent het creëren van een heleboel code die je heel vaak moet herschrijven,” vertelt ze. Via ICT Group werd ze geïntroduceerd bij Festa, een bedrijf dat een tool heeft gecreëerd om high-level control logica te bouwen via een Model Driven Engineering aanpak. Annie ging een stageproject aan bij Festa om ervaring met de tool op te doen. Dit hield in dat ze zichzelf een compleet nieuwe manier van software design moest aanleren.

Meerdere gebruikers in één systeem

De opdracht waar Annie aan werkte was een oefenproject om software te ontwikkelen voor een luchtverkeersleidingssysteem. In dit systeem kunnen vliegtuigmaatschappijen luchttransportverzoeken doen voor vluchten van en naar Europese vliegvelden. Voor elk verzoek specificeert de vliegtuigmaatschappij het vliegveld van vertrek en bestemming, het aantal passagiers en/of het totale gewicht van de lading. Deze informatie wordt vervolgens naar een leidinggevende gestuurd, die het verzoek goedkeurt of afwijst. Aangezien het systeem gebruik maakt van diverse gebruikers met allemaal hun eigen acties, is het een schoolvoorbeeld van het soort high-level control logica waar de Festa Engine voor gemaakt is.

Werken met modellen

Om te beginnen moest Annie alle mogelijke acties in de software programmeren. Volgens de werkwijze van de Model Driven Engineering methodologie maakt de Festa Engine gebruik van grafische modellen. Deze worden ontworpen door een domeinexpert en geven een functioneel overzicht van zowel de software als de software-eisen. Op basis van de functionele modellen moest Annie een implementatiemodel creëren. Om de data servicelaag, de beveiliging en de verificatie te programmeren maakte ze gebruik van Unified Modeling Languages (UMLs). Voor Annie was het werken met modellen compleet nieuw. “In het begin was het heel uitdagend, maar toen ik er eenmaal aan gewend was, was het leuk en goed te doen. Ik moest op een abstract niveau ontwerpen en werkte met grafische afbeeldingen. Omdat ik gebruik maakte van Unified Modeling Languages, begreep ik de applicatie ook veel beter.” Het gebruik van modellen maakte ook de communicatie met de stakeholders veel soepeler, ontdekte Annie. “De modellen vormen een taal die zowel de domeinexpert als de software engineer begrijpen. Je ziet grafisch wat er wordt vereist. Traditionele software-eisen in tekstuele vorm zijn veel moeilijker te doorgronden.”

“Als een applicatie op een Model Driven Engineering manier gebouwd kan worden, zou ik daarvoor kiezen. Er zijn heel veel voordelen.”

Foutloos coderen

Nadat de modellen waren voltooid kon Annie met slechts één druk op de knop foutloze code produceren. Het scheelde een hele hoop moeizaam codeerwerk. “Vroeger moest ik in deze fase altijd heel alert zijn om geen handmatige codeerfouten te maken. Maar omdat het model de code genereert, is het honderd procent foutenvrij.” Het leren van de Festa Engine en de bijbehorende Model Driven Engineering aanpak was makkelijker dan ze aanvankelijk dacht. “Het is gewoon een andere manier van denken. Ik moest beginnen met heel diep na te denken over hoe de applicatie precies in elkaar zit. Toen dat eenmaal duidelijk was, kon ik de modellen vrij eenvoudig ontwerpen.”

Voordelen

Annie zegt dat ze fan is geworden van de Model Driven Engineering aanpak. “Als een applicatie op een Model Driven Engineering manier gebouwd kan worden, zou ik daarvoor kiezen. Er zijn heel veel voordelen. Je begrijpt de applicatie beter, veranderingen kunnen makkelijk worden doorgevoerd en het ontwerpproces is gemakkelijker te doorgronden, zowel voor de domeinexpert als voor de software engineer.”

Case studie Softwareport: de drie musketiers van een geïntegreerde Model Driven Engineering oplossing
Softwareport levert een platform voor software ontwikkeling dat high-level control, embedded software en virtuele prototyping combineert in één geïntegreerde oplossing. De Softwareport is een samenwerkingsverband tussen drie softwarebedrijven – Cordis, Festa Solutions en Unit040 – die uitgaan van een Model Driven Engineering aanpak. Dit leidt tot een aanzienlijke besparing in tijd, kosten en programmeerfouten.

Meer informatie?

Neem contact op met Sanne Cuijten

Stuur een mail Maak een connectie
Sanne Cuijten recruiter ICT Group