Atos Origin schrijft ‘software in space’
De software in kwestie verzorgt de besturing van een experimenteerkast die aan boord van het International Space Station (ISS) is geïnstalleerd. Gale: “Je kunt die kast, intern ook wel aangeduid met de term Microgravity Science Glovebox (MSG), een beetje vergelijken met een couveuse. Aan de voorkant zitten twee ingebouwde handschoenen, waar de uitvoerder van het experiment zijn handen in steekt. Het eigenlijk experiment bevindt zich binnenin de kast. De box kan ook worden gebruikt voor proeven waaraan een zeker risico is verbonden, vandaar dat de regelsoftware van het geheel zo robuust mogelijk moet zijn.” In de kast wordt doorlopend een kleine onderdruk in stand gehouden, dus mocht een experiment falen, dan wordt de leefomgeving van de astronauten niet verontreinigd met stoffen uit de experimentele omgeving. Een aparte luchtsluis biedt toegang tot de MSG. Bijhouden De programmatuur zorgt enerzijds voor een registratie van alle parameters van een experiment. Op het moment dat die waarden een bepaalde grens overschrijden, moet de software ingrijpen. “We meten van alles, zoals temperatuur, opgenomen stroom uit de voeding, de druk in de box en dergelijke. Loopt een experiment uit de hand, wat altijd mogelijk is, dan mag de bemanning van het ruimtestation niets overkomen. De software moet ervoor zorgen dat het experiment zo snel en zo veilig mogelijk wordt afgesloten. Zo’n afsluitcommando kan vanaf de aarde worden gegeven, maar dat lukt niet altijd. Het station is soms onzichtbaar voor de grondstations. Communicatie is dan niet mogelijk”, zegt Gale. De software draait op de zogeheten SPLC, ofwel de Standard Payload Computer. Dit is een systeem dat door de ruimtevaartautoriteiten is aangewezen als voorkeursplatform voor ruimtevaartuigen. De programmatuur is geschreven in Ansi-C, ook een van de vereisten van de Nasa en zijn Europese tegenhanger de Esa. In gecompileerde vorm is de software iets groter dan een halve megabyte. Voor die uiteindelijke compilatieslag heeft de code al een gigantisch aantal tests ondergaan. “Zeg maar dat er een ratio van 1 op 3 zit tussen de ontwikkelings- en de testtijd. Anders gezegd, als je een maand bezig bent met het schrijven van de code, dan kost het testen zo’n drie maanden”, zegt ontwikkelaar Eric Leussink. De testen worden zeer stringent doorgevoerd. Op het moment dat een nieuwe module aan bestaande software wordt toegevoegd, wordt het geheel weer getest. Gale: “Dat testen gebeurt ook nog eens dubbel, dan wel driedubbel. De programmatuur draait namelijk op drie systemen, de zogeheten ground module, de engineering module en de flight module. De eerste staat opgesteld in het grondstation. De engineering module staat in een testlab van Nasa en de flight module is het apparaat dat de ruimte in gaat.” De ontwikkelaar stonden ook voor de opgave drie versies van de software met elkaar in de pas te laten lopen. Een lastige taak, doordat in ruimtevaartkringen vaak wordt gewerkt met apparatuur die al een paar jaar oud is. “Zo wordt aan boord van het ISS gebruik gemaakt van laptops die erg modern waren op het moment dat ze op de markt kwamen. Helaas ligt dat tijdstip al weer een aantal jaren achter ons. De astronauten moeten zich dus behelpen met apparatuur die niet al te modern is. Wij moeten bijvoorbeeld rekening houden met het feit dat Windows 3.11 het modernste OS is dat ze boven op de draagbare apparatuur tot hun beschikking hebben. Al te moderne grappen kun je dus in het geheel niet implementeren”, aldus Gale. Minder plaatsen Doordat de bemanning van het ISS nu de beschikking heeft over een geautomatiseerde experimenteerkast, wordt het probleem dat de bezetting van zeven naar drie mensen is teruggebracht wat minder groot. Door bezuinigingen is de bouw van een bepaalde module van het ruimtestation geschrapt, waardoor er vier slaapplaatsen minder konden komen. Gale: “De MSG maakt het mogelijk bepaalde experimenten toch uit te voeren. In België zijn ze nu bijvoorbeeld hard bezig om nieuwe proeven te verzinnen en te bouwen. Deze gaan in de herfst van dit jaar mee naar boven met de Belgische astronaut Frank de Winne.” Van de zeven proefopstellingen die de Belgen ontwikkelen, zullen er vier in de Glovebox plaatsvinden. “Ze hebben ons gevraagd om de extra software die voor die experimenten nodig is, te ontwikkelen. Voor ons is het dus een beetje een haastklus, omdat de programmatuur binnen een paar maanden klaar moet zijn. De meeste projecten in deze sector hebben een lange tot zeer lange doorlooptijd. Je moet een goed geheugen hebben, want een ontwikkelingsteam moet soms jaren bij elkaar blijven. Een wijziging die je vorig jaar hebt aangebracht, moet je ook nu nog helder voor de geest staan”, meent Gale.