Arnaud Bourdoux, Johan Hardy, Paul Parisis en Dominique Torette zijn werkzaam bij Spacebel, respectievelijk als projectmanager, software-engineer, businessunitmanager space en systeemarchitect. Dit bedrijf uit Angleur nabij Luik ontwerpt, ontwikkelt en implementeert softwaresystemen op maat voor ruimtevaartagentschappen, ministeries, grote ruimtevaartondernemingen, Europese instellingen en de commerciële markt.

24 February 2017

Sinds zijn oprichting in 1988 heeft Spacebel de vluchtsoftware ontwikkeld voor uiteenlopende ruimtevaartmissies. De gebruikte modelleertechnieken waren tot voor kort enkel gebaseerd op UML en commerciële toolsets. Onlangs is het Luikse bedrijf overgeschakeld naar opensource oplossingen, en dan met name Eclipse Papyrus. Het gebruik hiervan om kritieke en complexe software te modelleren, was een echte uitdaging, zo heeft Spacebel ervaren bij de ontwikkeling van vluchtsoftware voor de Taranis-satelliet.

Taranis is de Keltische god van de donder maar ook een microsatelliet van het Franse ruimtevaartagentschap CNES, bedoeld om de recentelijk ontdekte ontladingen die zich voordoen boven onweersbuien uitvoerig te bestuderen en op te meten. Die lichtflitsen kunnen verschillende vormen aannemen: red sprites, blue jets, elves, sprite halos en gigantische jets. Al deze verschijnselen tonen het bestaan aan van de energieoverdracht tussen aardatmosfeer en heelal.

In opdracht van CNES heeft Spacebel voor de Taranis-satelliet de vluchtsoftware ontwikkeld van de belangrijkste nuttige lading. Hierbij hebben we een aantal bijzondere uitdagingen gehad. Zo moesten we de software schrijven in C en compileren naar een 8051-ip-core, de hoofdprocessor van de payload. De eigen instructieset en de toepassing van geheugenmapping maken echter dat de broncode niet strikt Ansi is. Bovendien brengt de onconventionele processor taalconstructies met zich mee waarvoor de op standaard UML gebaseerde commerciële ontwikkeltools die we gewoon waren te gebruiken geen ondersteuning bieden.

Naast de broncode en het uiteindelijke product is de documentatie een belangrijk aspect in de ruimtevaartindustrie. Voor de projectreviews en de definitieve oplevering van de vluchtsoftware moeten we een heleboel documenten produceren, onder meer van de specificatie, het gedetailleerde ontwerp en de code. Door de hoge eisen die de ruimtevaartsector stelt, is de kwaliteit van wat we opleveren een dagdagelijkse bekommernis. Zo ook bij het Taranis-project.

CNES Taranis 01
De Taranis-satelliet gaat de ontladingen bestuderen die zich voordoen boven onweersbuien. Illustratie: CNES

Belangrijke voordelen

Bij Spacebel passen we modelgebaseerde ontwikkeling toe. Tot voor kort gebruikten we daarvoor enkel UML-gebaseerde commerciële toolsets. Er zijn er verschillende beschikbaar die end-to-end-functies aanreiken, gaande van de specificatie tot de broncode. De meeste zijn echter niet flexibel genoeg om alle specifieke gebruikerswensen te beantwoorden. Vaak is het bijvoorbeeld niet mogelijk om de ontwikkelomgeving naar eigen wens in te richten of grip te krijgen op de codegeneratie – als de tool al codegeneratie biedt.

Recente r&d-inspanningen rond Eclipse-technologieën hebben ons ertoe aangezet om het roer om te gooien en over te schakelen naar opensource oplossingen, met het Taranis-project als pilot. Onze keuze is gevallen op de Eclipse Papyrus-modelleertool omwille van zijn customisatiemogelijkheden en sterke naleving van de UML-standaard. Daarbij gebruiken we model-naar-teksttransformatietechnieken om automatisch code en bijpassende documentatie te genereren.

Parallel aan het Taranis-project hebben we met Papyrus-UML-profielen een paar stereotypen aangemaakt om de UML-taal uit te breiden en zijn semantiek te verrijken voor de behoeftes van de targetspecifieke processor. De profielen hebben we ingesloten in plug-ins en als zodanig volledig geïntegreerd in de ontwikkelomgeving. De weergave, de menu’s, de schema’s en de gebruikersinterface in het algemeen hebben we op maat gemaakt om gemakkelijker te kunnen werken met onze modellen.

CNES Taranis 02

Het gebruik van opensource oplossingen heeft ons enkele belangrijke voordelen gebracht. Een daarvan is een hoge mate van aanpasbaarheid. Daardoor hebben we uitbreidingen kunnen verwezenlijken waarmee we de bijzonderheden van het target effectief hebben kunnen modelleren en hebben kunnen omzetten in code die probleemloos draait op de exotische processor.

Een ander groot voordeel is de eenvoudige overdraagbaarheid. In geval van nood behoudt CNES zich het recht voor om de verantwoordelijkheid voor de software tijdens of na de productie volledig over te nemen tot en met het onderhoud. Dit veronderstelt niet alleen de overdracht van de software maar ook van de ontwikkelomgeving. De opensource oplossing heeft het voordeel dat CNES geen dure licenties hoeft aan te schaffen en een beroep kan doen op een actieve gemeenschap voor doorontwikkeling en foutcorrecties.

Wij hebben zelf ook van die gemeenschap kunnen profiteren. Naar aanleiding van onze pilot heeft zij een aantal verbeteringen en aanpassingen doorgevoerd in de ontwikkelomgeving. In de meeste gevallen zaten er slechts een paar uur tussen onze melding van een probleem en de beschikbaarstelling van de wijziging. Zoiets is haast ondenkbaar bij commerciële tooling. Zelfs al treden dergelijke problemen zelden op bij de meer geavanceerde tools, dat er voor blokkerende kwesties aangaande de softwareontwikkelomgeving in amper enkele dagen tijd een oplossing is, zorgt voor een aanzienlijke verlaging van het projectrisico.

Esa Euclid
Met zijn nieuwe opensource-aanpak ontwikkelt Spacebel momenteel omvangrijkere vluchtsoftware, onder meer voor de Euclid-telescoop (afbeelding), de meteorologische satelliet Metop-SG en het Proba-3-experiment in formatievliegen. Illustratie: Esa

Volgende stap

De vluchtsoftware ligt inmiddels bij CNES en ondergaat daar momenteel intensieve tests, met als doelstelling om de Taranis-satelliet in de loop van 2018 te lanceren. Qua kwaliteit van code en documentatie doet onze nieuwe werkwijze zeker niet onder voor onze oude aanpak met commerciële tools. Integendeel: zonder de operationele grenzen van de toolketen te overschrijden, hebben we software kunnen realiseren die is aangepast aan ietwat buitengewone omstandigheden, en tegelijkertijd de responstijden voor onderhoud kunnen inkorten en een kostenverlaging kunnen doorvoeren.

De pilot is dermate succesvol dat we de Eclipse Papyrus-toolketen nu inzetten bij de meeste van onze embedded-C-projecten, zowel binnen Spacebel als daarbuiten via onze onderaannemers. Als volgende stap ontwikkelen we er momenteel meer omvangrijke software mee, bijvoorbeeld voor het centrale gegevensverwerkende systeem van de toekomstige Esa-telescoop Euclid, voor Esa’s meteorologische satelliet Metop-SG en voor Proba-3, het Esa-experiment gericht op formatievliegen.

Edited by Nieke Roos