Titulo Estágio
Definição e Implementação do Software do Serviço para Procedimentos de Controlo de Naves Espaciais
Áreas de especialidade
Engenharia de Software
Local do Estágio
Coimbra
Enquadramento
As naves espaciais são controladas por operadores em Terra bem como por automatismos que são
desenvolvidos e lançados a bordo das naves. Estes automatismos são conhecidos por OBCPs (i.e., acrónimo
que em inglês significa “On-Board Control Procedures”) e são utilizados tanto para funções de rotina da nave
espacial (e.g., rodar o painel solar um determinado numero de graus) como para funções de contigência
(e.g., é detetado um problema num equipamento a bordo e é necessário mudar para a unidade redundante).
O OBCP é um procedimento executado por computadores a bordo da nave, que pode ser facilmente
carregado, executado e também substituído a bordo sem a necessidade de modificar o restante software
integrado no computador central. As instruções que compõem os OBCPs são interpretadas e executadas
por uma componente de software a que chamamos Motor. O Motor, neste contexto, é portanto uma
componente de software que interpreta e executa as instruções de determinado OBCP. Exemplos de
instruções de OBCPs: enviar um comando de configuração para um equipamento, esperar um determinado
tempo, verificar o estado de determinado equipamento e se estiver em determinado estado executar uma
determinada instrução senão executar uma outra instrução.
Para gerir a execução dos OBCPs, existe um standard que define quais os serviços disponíveis para o
operador da nave i.e. ECSS-E-ST-70-41C “Telemetry and Telecommand Packet Utilization” também
conhecido por “Packet Utilization Standard” (PUS). Neste standard, o serviço responsável por esta gestão
da execução dos OBCPs é o serviço standard número 18 “On-Board Control Procedure”. Este serviço 18
define vários sub-serviços de gestão dos OBCPs e.g., quais OBCPs estão em execução, iniciar execução de
um OBCP, parar execução de um OBCP, cancelar a execução de um OBCP, etc.
O estágio aqui proposto inclui-se no desenvolvimento da componente de software que implementa um
subset dos sub-serviços do serviço 18 do PUS.
Objetivo
O objetivo deste projeto de estágio passa pela inclusão do estagiário no desenvolvimento da componente
de software PUS_Service_18.
O aluno deverá analisar o standard que a Agência Espacial Europeia ajudou a definir e utiliza nas missões
Europeias. Com base nesta análise, o aluno juntamente com o orientador da Universidade e orientador da
Critical Software irão decidir qual o subset dos sub-serviços do serviço 18 a implementar. De notar que dos
22 sub-serviços definidos pelo standard PUS para o serviço 18, existirão uns 5-10 sub-serviços que são a
base do serviço e portanto serão a base da lista de sub-serviços a implementar i.e., a dúvida é quais dos
restantes fará sentido implementar tendo em conta a duração do estágio.
Depois de se decidir qual o subset dos sub-serviços a implementar, o aluno terá de desenhar a arquitectura
da componente de software, com recurso a tecnologias de modelagem de software e finalmente desenvolver
a componente de software com recurso a linguagem que possa ser utilizada em sistemas embebidos de
naves espaciais
Plano de Trabalhos - Semestre 1
As principais atividades a desenvolver no âmbito do projeto de dissertação são:
• T1: Análise dos standards ECSS-E-ST-70-01C “On-board Control Procedures” e ECSS-E-ST-70-41C
“Telemetry and Telecommand Packet Utilization”;
• T2: Identificar requisitos da componente de software PUS_Service_18;
• T3: Definir a arquitectura alto-nivel da componente de software PUS_Service_18;
• T5: Escrita da dissertação sobre os temas acima abordados, assim como a preparação de duas
apresentações anexas, uma para a avaliação académica e outra, mais técnica, para apresentação
interna na Critical Software
Denotar que esta proposta difere da outra na componente de software PUS_Service_18; na outra é 22.
Plano de Trabalhos - Semestre 2
• T4: Implementar a componente de software PUS_Service_18;
• T5: Escrita da dissertação sobre os temas acima abordados, assim como a preparação de duas
apresentações anexas, uma para a avaliação académica e outra, mais técnica, para apresentação
interna na Critical Software
O início, duração e fim de atividades são flexíveis de forma a adaptar-se às condições definidas pela
instituição de ensino e serão acordados entre a Critical Software e a Instituição de Ensino, atendendo em
primeiro lugar aos imperativos do calendário escolar.
Para efeitos de planeamento e escalonamento preliminar será assumida uma duração de 10 meses
Condições
LOCAL DE TRABALHO
A dissertação será executada nas instalações da empresa Critical Software em Coimbra. Poderá ser
necessário ter capacidade de deslocação pontual entre sites da Critical Software em Portugal para algumas
atividades.
ORIENTAÇÃO
O projeto de Dissertação será orientado por um engenheiro da Critical Software em complementaridade à
orientação fornecida pela instituição de ensino.
O aluno integrará a equipa Critical Software tendo acesso a todo o programa formativo, de acompanhamento
e de avaliação de desempenho inerente a este programa.
CONFIDENCIALIDADE
A informação transmitida pela Critical Software no âmbito do projeto de Dissertação, incluindo documentos
técnicos ou de gestão, diagramas, código ou outra informação relevante deve ser tratada com a máxima
confidencialidade. O candidato a quem for atribuído o projeto de Dissertação deve assinar um acordo de
obrigação de confidencialidade (NDA, Non Disclosure Agreement).
REMUNERAÇÃO
A Critical Software irá contribuir com uma renumeração a ser paga ao estagiário no valor de 480.43 euros
brutos mensais. Sobre a base incidirão os descontos de IRS e Segurança Social.
Esta remuneração tem como objetivo o suporte das despesas inerentes a deslocações e alimentação que
o aluno terá em comparação com a execução de atividade similar no local de estudo regular.
Observações
A Critical Software procura um aluno que apresente conhecimentos base em linguagens de programação C
e Python bem como tecnologias como o UML. Este deve também ter o conhecimento dos processos de
desenvolvimento de software em metodologias Agile e Waterfall. É considerado uma mais-valia se o
candidato estiver familiarizado com uma, ou mais, das normas: ECSS e MISRA.
Na escolha do candidato, a Critical Software tem em conta, não só as suas competências técnicas como as
competências comportamentais, sendo que as duas categorias de competências são avaliadas com uma
importância semelhante. Espera-se igualmente que o candidato esteja motivado para integrar o programa
formativo e de acompanhamento proposto pela Critical Software.
Note-se que é condição para a atribuição do projeto de dissertação a realização de uma entrevista com os
candidatos interessados
Orientador
Mauro André Cardoso Gameiro
mgameiro@criticalsoftware.com 📩