Abordagem sistemática de testes de software comunicante embarcado em nanosatélites com foco em falhas de interoperabilidade - Carlos Augusto Paiva Lameirinhas da Conceição (2019)
Os estudos desenvolvidos nesta tese apresentam uma abordagem sistemática de testes de software comunicante embarcado em nanosatélite com foco em tratamento de falhas de interoperabilidade. A abordagem destina-se a identificar e evitar falhas entre subsistemas comunicantes no início do processo de verificação e validação (V&V) de missões espaciais de baixo custo e curto ciclo de desenvolvimento, tais como as missões de satélites de pequeno porte que utilizam o padrão Cubesat. As plataformas Cubesats são uma evolução no setor espacial permitindo levar em órbita cargas úteis científicas e inovadoras a baixo custo. Entretanto, o baixo orçamento e tempo de desenvolvimento reduzido comprometem o processo de V&V, penalizando a qualidade requerida na realização dos testes de integração dos subsistemas de carga útil desses satélites. Considerando o fato de as funcionalidades dos sistemas embarcados implementadas por software serem crescentes, a abordagem apresenta um Sistema de Teste com Arquitetura Escalável (STAE) para apoiar o processo de V&V na integração de subsistemas embarcados intensivos em software. A abordagem apresentada nesta pesquisa de tese visa antecipar, no processo de desenvolvimento de nanosatélites, possíveis falhas de interação da plataforma com suas cargas úteis e facilita a reutilização da arquitetura de teste em diferentes fases de uma mesma missão ou em satélites da mesma família, por meio da aplicação combinada das abordagens "Model-Driven Engineering" e "Model-Based Testing". O método desenvolvido sistematiza: i) a concepção de modelos comportamentais de subsistemas comunicantes buscando verificar os requisitos de interoperabilidade dos subsistemas por meio da validação dos modelos (MIL - Model-in-the-loop), ii) a geração automática de código computacional a partir dos modelos validados, por ferramentas MDE, permitindo a verificação dos requisitos de interoperabilidade em ambiente simulado, com o uso do barramento de comunicação real (SIL - Software-inthe- loop), iii) a evolução dos modelos para que casos de testes abstratos possam ser gerados por ferramentas MBT, iv) a execução de casos de testes para validar os subsistemas reais (HIL - Hardware-in-the-loop) na fase de integração, e v) a possibilidade de injetar falhas por meio de um Mecanismo Emulador de Falhas (FEM), o qual permite testar a interação dos subsistemas reais em termos de requisitos de robustez especificados. Para auxiliar na especificação de requisitos de robustez, a abordagem apresentada utiliza uma planilha de dependabilidade, que aplica os conceitos da árvore de dependabilidade e análise causa-efeito para mitigações de falha. Para demonstrar sua efetividade, a abordagem desenvolvida no âmbito desta tese foi aplicada na V&V da interoperabilidade dos subsistemas intensivos em software embarcados no nanosatélite NanosatC-BR2, em desenvolvimento no INPE. Os testes de interação foram realizados nos subsistemas Computador de Bordo e a carga útil denominada Sonda de Langmuir. Os resultados obtidos proporcionaram o tratamento de falhas durante o processo de V&V de sistemas intensivos em software embarcados do nanosatélite NanosatC-BR2.