| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 2.37 MB | Adobe PDF |
Orientador(es)
Resumo(s)
A linguagem de programação Rust tem ganho destaque no desenvolvimento de sistemas críticos devido à sua abordagem inovadora para garantir segurança e eficiência na gestão de memória. Em contraste, linguagens tradicionais como C e C++ continuam amplamente utilizadas neste domínio, apesar de introduzirem riscos associados à gestão manual de recursos e à ocorrência de vulnerabilidades de segurança. No setor espacial, onde os requisitos de fiabilidade e conformidade são especialmente rigorosos, estas limitações tornam-se particularmente relevantes. Este trabalho insere-se num estudo pioneiro realizado em colaboração com a Critical Software, tendo como objetivo avaliar a viabilidade da adoção de Rust no contexto espacial. Para tal, foi analisada a arquitetura da plataforma Karvel, um on-board software modular desenvolvido em C, e foi implementado o seu módulo de gestão de memória em Rust, totalmente integrado com os restantes módulos escritos em C. Através desta abordagem, foi possível realizar uma análise comparativa entre as duas versões, considerando métricas como número de linhas de código, complexidade, desempenho e consumo de memória. Os resultados obtidos permitem identificar vantagens e desafios na utilização de Rust em sistemas críticos, contribuindo para fundamentar futuras decisões de adoção tecnológica na indústria espacial e reforçando a investigação sobre o papel das linguagens de programação seguras neste setor.
The Rust programming language has gained increasing relevance in the development of critical systems due to its innovative approach to ensuring memory safety and efficiency. In contrast, traditional languages such as C and C++ remain widely used in this domain, despite their susceptibility to memory management errors and security vulnerabilities. In the space sector, where reliability and compliance requirements are particularly stringent, these limitations raise critical concerns. This dissertation is part of a pioneering study conducted in collaboration with Critical Software, aiming to assess the feasibility of adopting Rust in space applications. To this end, the architecture of Karvel, a modular on-board software platform developed in C, was analysed, and its memory management module was re-implemented in Rust and fully integrated with the remaining C modules. This approach enabled a comparative analysis between the two implementations, based on metrics such as lines of code, complexity, performance, and memory usage. The results provide insights into the advantages and challenges of applying Rust in critical systems, supporting future decisions on its adoption within the space industry and contributing to the ongoing research on memory-safe programming languages in this domain.
The Rust programming language has gained increasing relevance in the development of critical systems due to its innovative approach to ensuring memory safety and efficiency. In contrast, traditional languages such as C and C++ remain widely used in this domain, despite their susceptibility to memory management errors and security vulnerabilities. In the space sector, where reliability and compliance requirements are particularly stringent, these limitations raise critical concerns. This dissertation is part of a pioneering study conducted in collaboration with Critical Software, aiming to assess the feasibility of adopting Rust in space applications. To this end, the architecture of Karvel, a modular on-board software platform developed in C, was analysed, and its memory management module was re-implemented in Rust and fully integrated with the remaining C modules. This approach enabled a comparative analysis between the two implementations, based on metrics such as lines of code, complexity, performance, and memory usage. The results provide insights into the advantages and challenges of applying Rust in critical systems, supporting future decisions on its adoption within the space industry and contributing to the ongoing research on memory-safe programming languages in this domain.
Descrição
Palavras-chave
Rust Sistemas críticos Embedded software Sistemas espaciais Interoperabilidade C/Rust Gestão de memória Análise comparativa
Contexto Educativo
Citação
Editora
Licença CC
Sem licença CC
