Simona is het internationale instituut voor onderzoek voor "Simulation, Motion and Navigation". Dit instituut stelt faciliteiten beschikbaar voor fundamenteel onderzoek naar het verbeteren van simulatie technieken en het gebruik van die simulatie technieken voor het verbeteren van voertuig prestaties en veiligheid. Simona is een samenwerkingsverband tussen drie faculteiten van de TU Delft: de faculteit Information Technology and Systems (ITS), de faculteit Design, Production and Construction (OCP) en de faculteit Aerospace Engineering (LR).
| Markt: | Luchtvaart |
|---|---|
| Technologie: | Testen, code coverage, DO-187B standaard, make, perl, shell-scripts, cppunit, Bullseye , C++ |
| Brochure: | |
De Simona vluchtsimulator is een geavanceerde vluchtsimulator gebouwd voor het doen van onderzoek. Deze bestaat uit een cabine gemaakt van aramide vezel, op een onderstel met zes bewegingsvrijheidsgraden.
In de Simona vluchtsimulator kunnen (software) fouten leiden tot situaties waarin apparatuur en eventuele inzittenden gevaar lopen. Daarom is een systematisch benadering van het thema veiligheid nodig. Op lagere niveaus wordt de veiligheid gegarandeerd door maatregelen ten aanzien van de servo motoren en de PLC die de bewegingen coördineert. Een systematische aanpak is nodig om meer vertrouwen te krijgen in de correctheid van de software.
Binnen de luchtvaart is de DO-178B standaard van de RTCA ("Radio Technical Commission for Aeronautics") de algemeen geaccepteerde richtlijn voor de ontwikkeling van onboard software. Deze standaard onderscheidt vijf niveaus ten aanzien van het effect dat een (software) component heeft op de mate van functioneren van het systeem als geheel:
Aan elk niveau zijn duidelijke eisen gesteld ten aanzien van het testen van de software:
De meeste onderdelen van de Simona vluchtsimulator software kunnen ingedeeld worden op niveau C. Doel van dit project was de Simona vluchtsimulator software te testen op niveau C van de DO-178B standaard.
Er is door West een zogenaamd testbed ontwikkeld. Dit is een omgeving waarbinnen tests ontwikkeld, uitgevoerd en geevalueerd kunnen worden. Bovendien worden de coverage resultaten verzameld en gepresenteerd.
Het testbed ondersteunt zowel module-tests als unit-tests. Een module test is een blackbox test. De test is net zo opgezet als een simulatie van een vliegtuig. Tijdens de test worden dezelfde stappen doorlopen als tijdens een simulatie vlucht.
Een unit-test heeft tot doel bij voorkeur een source file te testen en gebruikt zo min mogelijk andere source files. In sommige gevallen, zoals wanneer verscheidene source files onderling afhankelijk van elkaar zijn, kan een unit-test ook meerdere source files testen. Een unit-test is een whitebox test.
Het testbed is geschreven met behulp van make files, shell scripts en perl scripts. Voor de unit-tests maakten we gebruik van cppunit, een C++ port van het populaire JUnit testtool voor Java.
Voor het meten van de coverage resultaten viel de keuze op het Bullseye CodeCoverage tool. Dit tool meet echter geen statement coverage, nodig voor niveau C van de DO-178B standaard. Het meet wel functie coverage, decision coverage en condition coverage. De combinatie van functie coverage en decision coverage komt overeen met niveau D van de DO-178B standaard.