Vis enkel innførsel

dc.contributor.advisorHendseth, Sverre
dc.contributor.authorBjørnsen, Tjerand
dc.date.accessioned2023-11-15T18:20:44Z
dc.date.available2023-11-15T18:20:44Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:140443607:34474470
dc.identifier.urihttps://hdl.handle.net/11250/3102846
dc.description.abstractStudentorganisasjonen Orbit NTNU har startet utviklingen av organisasjonens tredje småsatellitt: kubesatellitten BioSat. Med denne satellitten ønsker Orbit NTNU å presse grensene for sin ingeniørkompetanse, da satellittens hovednyttelast, som har fått navnet BioBox, skal forsøke å dyrke en plante fra et frø mens satellitten går i bane rundt jorda. Et annet mål for dette oppdraget er å ta i bruk kunnskapen og erfaringene fra Orbits tidligere satellittprosjekt. Et hovedmål knyttet til dette er å designe en satellittbuss som enkelt kan gjenbrukes i fremtidige oppdrag. Denne masteroppgaven presenterer en lagdelt, tjenesteorientert programvarearkitektur for programvaren ombord på BioSat, med fokus på gjenbrukbarhet, pålitelighet og vedlikeholdbarhet. Den foreslåtte arkitekturen tar hovedsakelig for seg satellittens subsystem for kommando og datahåndtering (kalt CDHS), men tar også for seg samspillet mellom de forskjellige delsystemene, samt strategier for å øke systemets pålitelighet. Overordnede designmål, funksjonelle krav og ikke-funksjonelle krav ble identifisert og brukt som grunnlag for utformingen av programvarearkitekturen. Et selvstendig utviklingsmiljø ble opprettet ved hjelp av Docker, og et programvareprosjekt med Zephyr RTOS ble også opprettet. Et dokumentasjonssystem for system- og programvaredokumentasjon ble opprettet ved å bruke programvaren Sphinx. Disse tiltakene ble gjort for å gjøre implementeringen og videreutviklingen av den foreslåtte arkitekturen lettere. Programvarearkitekturen som presenteres i denne oppgaven antas å gjøre det lettere å utvikle en gjenbrukbar og vedlikeholdbar satellittbuss. Dette oppnås ved å bruke et tjenesteorientert arkitekturmønster, anvende abstraksjonslag som gjør programvaren uavhengig av maskinvaren og operativsystemet, og bruke standardiserte tjenester definert i ECSS sin Packet Utilization Standard. Systemets pålitelighet økes ved å designe tjenester og moduler som er til en stor grad uavhengige av hverandre, og ved å bruke feilhåndteringsmekanismer som watchdog-timere, en dedikert tjeneste for overvåking av satellittens tilstand, og en modul for deteksjon, isolering og gjenoppretting av feil.
dc.description.abstractThe student organization Orbit NTNU has started work on the organization's third small satellite, the BioSat CubeSat. With this satellite Orbit NTNU aims to push the limits of their engineering expertise, as the satellite's main payload, called the BioBox, shall attempt to grow a plant from seed while in orbit. Another big focus of this mission is to improve on the previous satellite projects by designing a satellite bus that can easily be reused in future missions. This thesis presents a layered, service-oriented software architecture design for the on-board software of BioSat, focusing on reusability, reliability, and maintainability. The suggested architecture mainly concerns the Command and Data Handling Subsystem of the satellite, but it also addresses the interaction between subsystems, as well as reliability measures. Architectural drivers such as overall design objectives, functional requirements, and non-functional requirements were identified and used as a basis when creating the software architecture design. A self-contained development environment was created using Docker, and a software project using the Zephyr RTOS was created. A documentation generation system for system and software documentation was also set up using Sphinx. This was done to facilitate the implementation and further development of the suggested architecture. The software architecture presented in this thesis is believed to facilitate the development of a reusable and maintainable satellite bus. This is achieved through employing a service-oriented architecture pattern, adding abstraction layers that make software independent from the hardware and the operating system, and using standardized services defined in the ECSS Packet Utilization Standard. The reliability of the system is increased by designing services and modules that are highly independent of each other and by employing error handling mechanisms such as watchdog timers, a satellite health monitoring service, and a Failure Detection, Isolation and Recovery module.
dc.languageeng
dc.publisherNTNU
dc.titleSoftware Architecture Design for the BioSat CubeSat
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel