Popis: |
Este trabalho propõe e avalia a aplicação da técnica de verificação model checking no desenvolvimento de software embarcado de satélites universitários. Inicialmente, apresenta uma revisão do cenário atual de projetos de satélites universitários, com foco no computador de bordo e a adoção de normas para este subsistema. Esta revisão aponta que os satélites universitários tendem a adotar estratégias simples e de baixo custo para garantir dependabilidade, o que torna o uso de model checking uma solução atrativa, viável e factível para verificação da especificação de software embarcado crítico destes satélites. Como estudo de caso, utiliza-se a ferramenta UPPAAL, baseada em autômatos temporizados, para verificação da especificação de software do módulo de comunicação (CM) do computador de bordo do satélite universitário ITASAT. Este módulo executa programas sequenciais que contemplam: recepção de telecomando, execução de comandos diretos, verificação dos principais canais e envio de telemetria. A primeira etapa do processo de aplicação de model checking consistiu na modelagem, de forma isolada, de cada um dos dois submódulos do CM. Para cada modelo, foram feitas verificações de propriedades básicas e dos requisitos de software. Foras discutidas estratégias práticas para contornar o problema de explosão de número de estados. Numa segunda etapa, os modelos dos dois submódulos foram integrados em um único modelo. Para o modelo integrado, foram verificadas as propriedades de alcançabilidade, ausência de deadlock e propriedades referentes a interação entre os módulos. Apesar das restrições de comandos disponíveis, devido ao problema de explosão de estados, foram criados cenários de verificação para observar a relação entre módulos. Ao final, conclui-se que a utilização do model checking permitiu a identificação de erros e de oportunidades de melhoria na especificação de requisitos e que é uma solução viável para atender a proposta de satélites universitários. |