Relatório Interno Inpe
Projeto ATIFS - Ambiente de Teste Baseado em Injeção de Falhas
por Software - www.inpe.br/atifs
Responsáveis: |
Ana Maria Ambrosio |
|
Fátima Mattielllo Francisco |
1. Introdução
O objetivo deste projeto é a exploração de técnicas e métodos de teste de software em aplicações espaciais. Esta exploração é apoiada no desenvolvimento de ferramentas de testes que usa a técnica de injeção de falhas por software e conceitos de teste de conformidade de protocolos de comunicação. As áreas cobertas pelo projeto são:
- geração automática de casos de teste a partir de especificação formal, seja emmáquina de estados finita, seja em statecharts,
- suporte à execução dos testes através de uma arquitetura em software que permita configuração da mesma para diferentes implementações em teste,
- facilidade de injeção de falhas de forma controlada para validação de sistemas tolerantes a falhas,
- armazenamento, tratamento e análise dos dados coletados durante os testes,
- manutenção de histórico de testes,
- medidas de eficiência de mecanismos de tolerância a falhas, como por exemplo, o fator de cobertura (probabilidade do sistema continuar corretamente na presença de uma falha), cujo valor é importante na avaliação da confiabilidade do software em teste.
2. Principais Resultados e Atividades Desenvolvidas
2.1. Projetos/trabalhos concluídos
As atividades do projeto ATIFS concluídas neste ano são:
a)
Definição de uma estratégia de teste baseada em risco e em casos de uso.
A estratégia STER foi aplicada ao estudo de caso real, no “Software de apoio à elaboração do Plano de Vôo do Satélite de Aplicações Científicas (SACI)”. Os resultados encontram-se publicadas em [6].
b)
Definição de uma metodologia de teste baseada em artefatos UML para serviços de software em
aplicações espaciais.
A metodologia CoFI foi aplicada nas especificações reais da área espacial: serviço de Verificação de Telecomando especificado na norma ECSS-E-70-41A, protocolo de comunicação entre estação terrena e centro de controle definido pelo CNES e o protocolo OBD-EXP de satélites científicos definido pelo INPE. Os resultados encontram-se publicadas em [1], [2] e [3].
c)
Adaptação da ferramenta PerformCharts, desenvolvida no Laboratório Associado de Computação (LAC) à ferramenta Condado e definição de uma técnica para evitar a explosão de estados quando transformando statecharts em máquinas de estados clássica.
Este trabalho permitiu o uso integrado de análise de desempenho e geração automática de casos de teste. A ferramenta pode ser usada tanto para fins acadêmicos como para aplicações reais. Os resultados estão publicados em [5].
d)
Proposição de uma arquitetura de teste usando padrões de projeto para sistemas espaciais.
Este trabalho mostra a viabilidade de construção de uma ferramenta para teste de software de bordo, seja de computadores ou de experimentos científicos, reutilizável e escalável. A ferramenta comporta execução de casos de teste especificados em um script e execução de casos por injeção de falhas. Os resultados estão publicados em [4].
2.2. Resultados parciais obtidos.
Defesa de quatro teses, nas quais, os estudos de caso em aplicações reais aproximaram o trabalho acadêmico da realidade dos problemas de validação de software principalmente no INPE. Como resultado indireto, este projeto tem motivado os trabalhos acadêmicos e reduzido a distância entre a prática e a teoria, com benefícios para ambas as partes.
2.3. Principais campanhas técnico-científicas realizadas:
Campanhas:
As ferramentas e metodologias de teste em andamento no projeto ATIFS foram divulgadas nos workshops do projeto Plavis realizados em março e novembro de 2005, no INPE.
Principais parceiros e intercâmbios.
Este projeto da Divisão de Desenvolvimento de Sistemas de Solo - DSS, tem motivado cooperação com as seguintes divisões e áreas do INPE:
- Laboratório Associado de Computação e Matemática Aplicada - LAC,
- Divisão de Eletrônica Aeroespacial - DEA,
- Divisão de Mecânica Espacial e Controle – DMC,
- Coordenação Geral de Ciências Espaciais e Atmosféricas – CEA.
Objetivo e local da campanha.
O objetivo das apresentações relacionadas ao projeto ATIFS é promover o uso das ferramentas e metodologias de teste nas aplicações espaciais, visando divulgar os resultados positivos e a experiência adquirida.
Apoio financeiro (interno ou externo).
Instalações do INPE e do Instituto de Computação da UNIACMP.
2.4. Comparação entre metas previstas e realizadas.
As metas de pesquisa previstas para 2005 foram atingidas como pode ser constatado nos trabalhos publicados. Do ponto de vista de software desenvolvidos e outras atividades, pode-se citar a conclusão de:
- extensão da arquitetura de teste da ferramenta Fsofist para testes multi-ponto, necessária para o sistema de teste de computadores de bordo. [4]. A conclusão da ferramenta contemplando esta extensão está prevista para 2006,
- integração das ferramentas PerfromCharts e ConDado [5],
- comparação de casos de testes gerados pela Condado e por outras ferramentas equivalentes, publicado inicialmente em [1],
- exploração de algoritmos evolutivos para geração de dados de teste,
- atualização do site do projeto,
- workshops do projeto ATIFS aconteceram junto com os eventos de divulgação do projeto PLAVIS,
- divulgação em dos resultados em eventos nacionais e internacionais na área de teste de software.
2.5. Análise e comentários sobre os principais destaques e problemas verificados no período, e comparação com o desempenho do ano anterior.
O envolvimento da Divisão de Desenvolvimento de Sistemas de Solo - DSS neste projeto tem trazido benefícios diretos às atividades de desenvolvimento de sistemas computacionais e softwares caracterizadas como área de competência da divisão, uma vez que ele tem permitido a aplicação do estado da arte no que concerne a testes de software aos projetos de missões espaciais em andamento.
A possibilidade de aplicar as ferramentas e metodologias de teste a implementações reais em projetos de desenvolvimento em andamento no INPE, ilustra que a cooperação entre pesquisa e desenvolvimento é factível e traz vantagens para ambas as partes.
Estudos de caso com protocolos de comunicação solo-bordo de satélites, com sistemas de teste de computadores de bordo e sobre as normas de padronização de aplicações espaciais é fundamental para a capacitação das equipes da divisão uma vez que mantém o foco de especialização consonante com a atividade fim da instituição em aplicações espaciais.
Através deste projeto de pesquisa aplicada contribuímos com outros setores da instituição como:
- o Setor de Lançamento de Balão do INPE – sob a Coordenadoria de Ciências Espaciais (CEA), no aprimoramento da validação e modelagem de software a bordo de experimentos científicos,
- a Divisão de Engenharia Espacial (DEA), na orientação para realização de uma arquitetura reutilizável para sistemas de teste de computadores de bordo;
- a Divisão de Mecânica Espacial e Controle (DMC), na orientação de algoritmos evolutivos usados para teste de software;
- o Laboratório Associado de Computação e Matemática Aplicada (LAC), na definição e orientação de teses de mestrado e doutorado em assuntos diretamente relacionados com a área de engenharia e tecnologia espacial.
2.6. Publicações Técnico-Científicas
Os trabalhos publicados durante o ano de 2005 estão listados a seguir:
[1] Ambrosio, A. M. CoFI – uma abordagem combinando teste de conformidade e injeção de falhas para validação de software em aplicações espaciais – Tese de doutorado, INPE, São José dos Campos, 2005.
[2] Ambrosio, A.M.; Martins E.; Vijaykumar N. L.; Carvalho, S.V. Systematic Generation of Test and Fault Cases for Space Application Validation. In: Data System in Aerospace>, DASIA-2005. 30may – 2 jun, 2005, Edinburg - Scotland. Edited by Leny Ouwehand – ESA Publications Division, 2005 in CD-ROM.
[3] Ambrosio, A.M.; Martins E.; Vijaykumar N. L.; Carvalho, S.V. A Methodology for Designing Fault Injection Experiments as an Addition to Communication Systems Conformance Testing. In: Workshop on Dependable Software - Tools and Methods in DSN2005 Conference, Yokihama, Japan, 28-june – 1st july, 2005.
[4] Claudia. S. Silva, Uma Arquitetura de Testes para Sistemas Espaciais- Dissertação de mestrado, INPE, São José dos Campos, 2005.
[5] Ana Silvia M. S Amaral; Geração de Casos de Teste para Sistemas Especificados em Statecharts. Dissertação de mestrado, INPE, São José dos Campos, 2005.
[6] Guimarães, D.C. STER: Uma estratégia de testes para sistemas reativos. Dissertação de mestrado, UNICAMP, Campinas, 2005.
[7]Abreu, B.T., Martins, E., Sousa, F.L. Automatic Test Data Generation for Path testing using a new stochastic Algorithm. 19. Simpósio Brasileiro de Engenharia de Software – SBES 2005, 3-7 de Outubro – Universidade Federal de Uberlândia.
2.7. Atividades de Divulgação Técnico-Científica
Os trabalhos relacionados ao projeto ATIFS foram apresentados nos seguintes eventos:
- 19. Simpósio Brasileiro de Engenharia de Software – SBES, 3-7 de Outubro de 2005. Uberlândia - MG;
- Workshops do projeto Plavis realizados no INPE,
- Workshop on Dependable Software - Tools and Methods in DSN2005 Conference, Yokihama, Japan, 28-june – 1st july, 2005. (Apresentação dos slides sonorizados, sem participação de um representante no evento).
2.8. Comentários e Metas para 2006
Dando continuidade aos resultados alcançados no ano anterior, pretendem-se no próximo ano atingir as seguintes metas:
- continuidade dos trabalhos de mestrado e doutorado em cooperação com Unicamp LAC e DMC,
- implementação da FSofist com padrões de projeto e uso da mesma,
- avaliação do potencial de detecção e erros de casos de teste gerados pela Condado, seja a partir de modelos em máquinas clássicas seja com statecharts, ambos em aplicações reais.
As atividades a serem realizadas para atingir as metas no próximo ano são relacionadas na tabela abaixo.
Atividades previstas para o ano 2006 |
Modelar o comportamento de uma aplicação existente, gerar casos de teste com a Condado e aplicar os testes na implementação equivalente, para avaliar o potencial dos casos de teste. |
Gerar testes com a Condado, usando modelos em Statecharts. |
Implementar a FSofist sob a plataforma Eclipse da IBM. |
Estender a interface usuário da Condado para edição das restrições na geração de teste |
Converter a saída dos casos de teste da Condado para um formato XML, para substituir o TCL |
Pesquisar e projetar uma ferramenta que estenda a Condado para gerar dados mais coerentes ao invés de aleatórios, usando algoritmos evolutivos. Estudos com algoritmos evolutivos foram realizados em 2005 para teste caixa-branca [7]. |
Aplicar e avaliar a metodologia CoFI em projeto na área espacial, fazendo uso das ferramentas disponíveis. |
São José dos Campos, 25 de novembro de 2005.
Ana Maria Ambrosio
Maria de Fátima Mattiello-Francisco