Koen Vervloesem
27 March 2006

Eurocontrol overweegt Gnu/Linux op x86-platformen als alternatief voor de huidige combinatie van PA-RISC en HP-UX. De Brusselse organisatie die de veiligheid van het Europese luchtverkeer regelt, maakt al intensief gebruik van open-source software. ’De ervaring leert dat open source heel wat voordelen heeft voor kritieke toepassingen, tenminste als er voldoende support is‘, zegt Philippe Waroquiers van Eurocontrol. ’De kwaliteit van de code verbetert door samenwerking met de open-sourcegemeenschap en andere bedrijven.‘

Op de Free and Open Source Software Developers European Meeting (FOSDEM) in Brussel gaf Waroquiers tekst en uitleg over het open-sourcegebruik bij Eurocontrol. Vijftien jaar geleden gebruikten de Brusselaars nog geen enkele open-source software. Anno 2006 is open-source niet meer weg te denken bij de luchtverkeersregelaar. De softwareontwikkeling gebeurt al jaren met de gratis Ada-compiler Gnat en nu staat Gnu/Linux op het punt om het propriëtaire besturingssysteem HP-UX uit de weg te duwen.

Waroquiers leidt de softwareontwikkeling van het Enhanced Tactical Flow Management System (ETFMS), het systeem dat de trajecten van de vliegtuigen berekent op basis van de vluchtschema‘s en meteorologische omstandigheden. Dit is een van de twee belangrijkste systemen van de afdeling CFMU (Central Flow Management Unit). Het andere systeem, IFPS, verifieert, corrigeert en distribueert de vliegplannen. ’ETFMS en IFPS bestaan uit ongeveer 1,5 miljoen regels broncode‘, aldus Waroquiers. ’We begonnen in 1991 met de ontwikkeling in Ada83. Nu werken we met Ada95 en in de toekomst willen we overstappen naar Ada05.‘

Beide systemen moeten heel betrouwbaar zijn. Het leven van miljoenen reizigers per jaar hangt ervan af. ’De software is dan ook heel robuust geschreven‘, benadrukt Waroquiers. ’We gebruiken bovendien redundante HP-UX PA-RISC-servers, gedupliceerde netwerken en andere technieken om de beschikbaarheid te garanderen.‘

Bits&Chips event sponsor registration

In 1990 maakte Eurocontrol nog geen gebruik van open source. Het besturingssysteem, de database, de compiler, de ontwikkelomgeving, alles was gesloten software. ’De optie om open-source software te gebruiken werd zelfs niet geopperd‘, geeft Waroquiers toe. ’Open source was gewoonweg nog niet bekend.‘

In 1991 kwam daar echter verandering in. Enkele ontwikkelaars introduceerden Emacs als een beter alternatief om broncode in te typen. Toen het management van het gebruik van Emacs hoorde, kwam er volgens Waroquiers forse tegenstand: ’Er rezen heel wat vragen. Wie neemt de verantwoordelijkheid over deze software? Hoe kunnen we er support voor krijgen? Een andere bezorgdheid werd veroorzaakt door een verkeerd beeld van open-source software. Velen dachten dat gratis software wel van een slechte kwaliteit moest zijn.‘

Eurocontrol

Eurocontrol2
Eurocontrol maakt bij de ontwikkeling van beveiligingssoftware voor het regelen van het Europese luchtverkeer intensief gebruik van open source.

Toch sudderde het gebruik van open-source software bij Eurocontrol verder. Tussen 1996 en 1999 gebruikten de Brusselaars meer en meer Gnu-tools voor de softwareontwikkeling zoals Grep en Sed. Waroquiers: ’Sommige van deze tools gebruikten we ook bij supportactiviteiten. We bekeken bijvoorbeeld logbestanden met Emacs. Voor kritieke activiteiten werd open-source software echter nog niet eens overwogen.‘ In 1999 kondigde de producent van de propriëtaire Ada-compiler die de Eurocontrol-ontwikkelaars gebruikten aan dat ze de Ada83-compiler niet meer zouden ondersteunen. Het bedrijf schoof een Ada95-compiler naar voren gebaseerd op nieuwe technologie.

’In 2000 besloten we dan om verschillende Ada95-compilers te evalueren door ETFMS naar deze compilers te porten‘, legt Waroquiers uit. ’Onze hoofdcriteria waren de kwaliteit van de compiler, de kwaliteit van de gegenereerde code en de beschikbare ondersteuning. Tussen de verschillende opties zat één open-source compiler, de Gnat-compiler, die onderdeel is van de GCC-collectie. We overwogen Gnat omdat het bedrijf Adacore Technology er ondersteuning voor aanbood.‘

Gnat kwam in het algemeen als beste uit de vergelijking. De compiler bood een goed ontwikkelmodel, had de kwaliteit die te vergelijken was met propriëtaire concurrenten en Eurocontrol was heel tevreden met de ondersteuning door Adacore. Er waren volgens Waroquiers echter ook mindere kanten aan de open-source compiler: ’De debugger GDB was echt van een slechte kwaliteit en de PA-RISC GCC-back-end was niet zo efficiënt. Maar omdat we geen licenties moesten betalen, konden we met het geld voor de geplande licentiekost de kwaliteit van Gnat verbeteren. We tekenden een enhancement contract met Adacore om de compiler op een aantal belangrijke punten te verbeteren. Zo vernieuwde Adacore de codegeneratie en de mogelijkheden van GDB. De verbeterde compiler voegde ook tests in de gegenereerde code in om fouten te helpen ontdekken tijdens de ontwikkeling.‘

In maart 2001 compileerde Eurocontrol ETFMS en IFPS met Gnat. Waroquiers beschouwt dit als een mijlpaal: ’Voor het eerst aanvaardde het CFMU het gebruik van open-source software voor kritieke toepassingen.‘ Vanaf dit moment stond de poort open naar meer gebruik van open source. Nadien namen de Brusselaars bijvoorbeeld de XML-parser XMLAda, de grafische toolkit GTKAda, de Corba-omgeving PolyOrb en de webserver AWS in gebruik.

Eind 2004 schreef Eurocontrol een call for tender uit voor een code rule checker, een programma dat nakijkt of Ada-broncode aan de requirements voldoet. Het Parijse Adalog kreeg het contract en ontwikkelde het programma Adacontrol dat de Fransen onder de GPL-licentie vrijgaven. Volgens Waroquiers was dit voor alle partijen voordelig: ’Ook andere bedrijven konden Adacontrol gebruiken en uitbreiden. Hierdoor konden wij ook gebruikmaken van verbeteringen waar andere bedrijven voor betaalden.‘