PVA Protótipo de Veículo Autônomo G4 – CE 235 2° Semestre 2004 Integrantes Eduardo Silvestri Elmar Pacheco José Ricardo Vaz Osvandre Alves Martins Robson Calvetti Walter Abrahão Integrantes - Contatos • Eduardo Silvestri Ribeiro – www.eduardosilvestri.com.br • Elmar Pacheco – http://geocities.yahoo.com.br/elmarpache/Index.html • José Ricardo Vaz – www.ricardovaz.pro.br • Osvandre Alves Martins – www.comp.ita.br/~osvandre • Robson Calvetti – www.rcalvett.sites.uol.com.br • Walter Abrahão dos Santos – http://geocities.yahoo.com.br/walterabrahao2004/ CE 235-Sistemas Embarcados de Tempo Real Introdução - PVA Objetivo Especificar Temáticas de Estudo de Caso para as disciplinas CES-63, CE-235, CES-32, CE-230 e EE-09 ministradas pelo Prof. Cunha no 2o Semestre de 2004 no ITA. CE 235-Sistemas Embarcados de Tempo Real Introdução - PVA Definição do Problema CE 235-Sistemas Embarcados de Tempo Real Fases do Projeto CE 235-Sistemas Embarcados de Tempo Real Base Line Funcional Papeis Desenvolvidos na Base Line Funcional: 01) Plano de Desenvolvimento de Software; 02) Caso de Desenvolvimento de Software; 03) Plano de Iteração e Iniciação; 04) Plano de Gerenciamento de Requisitos; 05) Visão; 06) Glossário; 07) Solicitação dos Principais Envolvidos; 08) Especificação Suplementar; 09) Lista de Risco; e 10) Modelos de Caso de Uso. CE 235-Sistemas Embarcados de Tempo Real Plano de Desenvolvimento de Software Finalidade Reunir as informações necessárias para os gerentes do projeto PSVA (Protótipo de Sistema de Veículo Autônomo) coordenarem, num nível macro, o esforço de desenvolvimento do Sistema Embarcado de Tempo Real a ser instalado no Protótipo de Veículo Autônomo (PVA). CE 235-Sistemas Embarcados de Tempo Real Plano de Desenvolvimento de Software Alocação de Recursos Iniciação Elaboração Construção Transição Esforço ~5% 20% 65% 10% Programação 10% 30% 50% 10% CE 235-Sistemas Embarcados de Tempo Real Plano de Desenvolvimento de Software Alocação de Recursos Essa distribuição de esforço e de programação, em termos de freqüência relativa de recursos no tempo, pode ser descrita, graficamente, como: CE 235-Sistemas Embarcados de Tempo Real Caso de Desenvolvimento de Software Finalidade Apresentar a maneira como o RUP e sua metodologia de desenvolvimento serão usados para o desenvolvimento do Protótipo de Software de Veículo Autônomo (PSVA). CE 235-Sistemas Embarcados de Tempo Real Caso de Desenvolvimento de Software Artefatos Como Usar Inic Elab Const Trans Detalhes da Revisão Ferramentas Templates/ Exemplos Classe de Análise D N N N I ROSE RT - Modelo de Análise D N N N FI ROSE RT - Modelo de Implantação D P P P FI ROSE RT - Modelo de Dados D N N N FI - Classe de Design D N N N I ROSE RT ou ErWin ROSE RT Modelo de Design D N N N FI ROSE RT - Pacote de Design D P P P FI ROSE RT - Subsistema de Design D P P P FI ROSE RT - Interface D P P P FI ROSE RT - Arquitetura de Referência D P P P FI ROSE RT - Documento de Arquitetura de Software D N N N FE Word ou SoDA rup_sad.dot ou Mentor RUP Realização de Casos de Uso D P P P FI rup_ucrs.dot Cápsula P N P P FI ROSE RT ou Word ROSE RT Evento P N P P FI ROSE RT Protocolo P N P P FI ROSE RT Sinal P N P P FI ROSE RT CE 235-Sistemas Embarcados de Tempo Real - Caso de Desenvolvimento de Software CE 235-Sistemas Embarcados de Tempo Real Plano de Iteração e Iniciação Finalidade Descreve um plano detalhado para a Iteração Preliminar do Projeto PSVA (Protótipo de Sistema de Veículo Autônomo), referente à Fase de Iniciação conforme o Processo Unificado Rational (Rational Unified Process - RUP). CE 235-Sistemas Embarcados de Tempo Real Plano de Iteração e Iniciação Cronograma de Atividades da Fase de Iniciação CE 235-Sistemas Embarcados de Tempo Real Plano de Gerenciamento de Requisitos Finalidade Descreve as diretrizes utilizadas pelo Grupo 4 (G4) da disciplina CE235 – Sistemas Embarcados e de Tempo Real do ITA – Instituto tecnológico de Aeronáutica, e estabelece os documentos, tipos, atributos e rastreabilidade dos seus requisitos, a fim de propiciar o seu gerenciamento apropriado. Ele também serve como documento base para a configuração da ferramenta de gerenciamento de requisitos Rational RequisitePro. CE 235-Sistemas Embarcados de Tempo Real Plano de Gerenciamento de Requisitos Diagrama de Rastreabilidade CE 235-Sistemas Embarcados de Tempo Real Plano de Gerenciamento de Requisitos Atributos dos Requisitos CE 235-Sistemas Embarcados de Tempo Real Visão Finalidade Coletar, analisar e definir as necessidades e características de nível superior do Protótipo de Sistema de Veículo Autônomo – PSVA, do Projeto ITA/CE-235, da matéria CE-235: Sistemas Embarcados de Tempo real , do curso de pós-graduação, do Instituto Tecnológico de Aeronáutica – ITA, capaz de cumprir uma missão que o fará buscar, encontrar, transportar e entregar cargas de forma autônoma em um cenário preestabelecido. CE 235-Sistemas Embarcados de Tempo Real Visão Visão Geral Wi-Fi ACCESSPOINT M.C.M. CE 235-Sistemas Embarcados de Tempo Real Visão Cenário LABT ECdaF CM F noIT A M ódulo5 M 5 M ódulo4 M 4 CE 235-Sistemas Embarcados de Tempo Real M ódulo1 M 1 Visão Sentença de Posição do Produto CE 235-Sistemas Embarcados de Tempo Real Glossário Finalidade Define a terminologia específica do domínio do problema, explicando termos, que poderão ser desconhecidos para os envolvidos no PSVA – Protótipo de Sistema de Veículo Autônomo. Ele será expandido durante todo o Ciclo de Vida do Projeto. CE 235-Sistemas Embarcados de Tempo Real Glossário Termos PSVA Protótipo de Sistema de Veículo Autônomo, sistema embarcado de software de tempo real. PVA Protótipo de Veículo Autônomo, sistema de hardware que abrigará o PSVA. MCM Módulo Central de Monitoramento, sistema que se comunica com o PVA e que proverá os serviços de: Interface de Comunicação RF; Interface web, Relatório das Missões, Interface de Entrada/Saída e Processamento. CE 235-Sistemas Embarcados de Tempo Real Solicitação dos Principais Envolvidos Finalidade Este conjunto de Solicitações dos Principais Envolvidos tem por objetivo explicitar os anseios e as expectativas dos interessados e envolvidos com o Protótipo de Sistema de Veículo Autônomo – PSVA: · Equipe Técnica do PVA (Protótipo de Veículo Autônomo); · Equipe Técnica do MCM (Módulo de Controle e Monitoramento). A partir destas solicitações, serão definidos as características e recursos do Protótipo de Sistema de Veículo Autônomo a ser desenvolvido, para validar os conceitos apresentados na disciplina de Sistemas Embarcados de Tempo Real (CE-235), ministrada pelo prof. Adilson M. da Cunha, no programa de PG-EEC/I do ITA, durante o segundo semestre de 2004. CE 235-Sistemas Embarcados de Tempo Real Solicitação dos Principais Envolvidos Equipe Técnica do PVA Qual é o problema existente atualmente no transporte de pequenas cargas no LabTec da FCMF? Dotar o LabTec da FCMF de um mecanismo autônomo de localização, acondicionamento em containeres e transporte de pequenas cargas distribuídas pelos seus módulos identificados como I, IV e V, que minimize a dificuldade em carregar o veículo tripulado responsável pela entrega destas no âmbito externo ao LabTec. · Qual a Alternativa de Solução Escolhida - ASE? A solução escolhida consiste em modelar um Protótipo de Sistema de Veículo Autônomo capaz de cumprir, de modo monitorado, missões CE 235-Sistemas Embarcados de Tempo Real Especificação Suplementar Finalidade Definir os requisitos não funcionais para um Protótipo de Sistema de Veículo Autônomo – PSVA. Esta Especificação Suplementar lista os requisitos que não foram imediatamente identificados nos Casos de Uso do Modelo de Casos de Uso. As Especificações Suplementares e o Modelo de Casos de Uso, juntos, originaram o conjunto completo de requisitos do PSVA. CE 235-Sistemas Embarcados de Tempo Real Especificação Suplementar Tipos de Requisitos Usabilidade Confiabilidade Desempenho Portabilidade Funcionalidade Restrições de Projeto Requisitos de Sistema de Ajuda e de Documentação de Usuário On-line Componentes Adquiridos Interfaces Requisitos de Licenciamento Observações Legais, de Copyright e Outras Padrões Aplicáveis CE 235-Sistemas Embarcados de Tempo Real Lista de Riscos Finalidade Assinalar os riscos identificados para o PSVA - Protótipo de Sistema de Veículo Autônomo, classificando a importância associada a ações específicas de contingência ou diminuição desses riscos. CE 235-Sistemas Embarcados de Tempo Real Lista de Riscos Lista de Riscos Não Cumprimento de Prazos; Inexperiência de Integrantes da Equipe; Atraso na Obtenção de Recursos; Utilização do Processo Unificado Rational (RUP); Falha na especificação de requisitos; Falha na escolha da tecnologia a ser utilizada; e Alteração na equipe de desenvolvimento. CE 235-Sistemas Embarcados de Tempo Real Modelos de Caso de Uso Finalidade Apresentar uma Visão dos Casos de Uso organizando o Modelo dos Casos de Uso do Protótipo de Sistema de Veículo Autônomo - PSVA. CE 235-Sistemas Embarcados de Tempo Real Modelos de Caso de Uso Visão Geral CE 235-Sistemas Embarcados de Tempo Real Modelos de Caso de Uso Arquiteturalmente Significativos CE 235-Sistemas Embarcados de Tempo Real Base Line Alocada Papeis Desenvolvidos na Base Line Alocada: 01) Caso de Uso Estendido; 02) Diagrama de Seqüência; 03) Diagrama de Classes; 04) Diagrama de Transição de Estado; 05) Diagrama de Colaboração; 06) Diagrama de Estrutura de Cápsula; 07) Geração Automática de Código; CE 235-Sistemas Embarcados de Tempo Real Caso de Uso Estendido Finalidade Refinar a definição dos Casos de Uso. CE 235-Sistemas Embarcados de Tempo Real Caso de Uso Estendido Caso de Uso – EnviarStatus Descrição Este Caso de Uso ocorre periodicamente, a cada X segundos quando um veículo está executando uma missão programada. Estando o PVA estacionado e sem missão atribuída esta comunicação não ocorre. Fluxo Básico O ator timer determina a execução do Use Case InformarStatus. O Ator a cada 2 segundos solicita que seja executado o Use Case. Na execução do Use Case o mesmo deverá enviar as informações de seu status, sendo elas : • Situação Atual • Status de Movimentação • Sensor de Bateria • Sensor de Calibragem • Sensor de Obstáculo • Sensor de Motores CE 235-Sistemas Embarcados de Tempo Real Diagrama de Seqüência Finalidade Especificar a troca de mensagens entre classes/objetos com base nos fluxos de eventos dos Casos de Uso. CE 235-Sistemas Embarcados de Tempo Real Diagrama de Seqüência CE 235-Sistemas Embarcados de Tempo Real Diagrama de Classes Finalidade Especificação de elementos pertencentes ao domínio da aplicação e que são manipulados pelo sistema. CE 235-Sistemas Embarcados de Tempo Real Diagrama de Classes CE 235-Sistemas Embarcados de Tempo Real Diagrama de Transição de Estado Finalidade Ilustrar as mudanças de estado de um determinado objeto quando da execução de uma determinada funcionalidade. CE 235-Sistemas Embarcados de Tempo Real Diagrama de Transição de Estado CE 235-Sistemas Embarcados de Tempo Real Diagrama de Colaboração Finalidade Define uma estrutura de comunicação entre os objetos, pode-se identificar todas as conexões objeto-a-objeto. CE 235-Sistemas Embarcados de Tempo Real Diagrama de Colaboração CE 235-Sistemas Embarcados de Tempo Real Diagrama de Estrutura de Cápsula Finalidade Ilustrar a estrutura de uma cápsula em termos de portas e eventual subcápsulas. CE 235-Sistemas Embarcados de Tempo Real Diagrama de Estrutura de Cápsula CE 235-Sistemas Embarcados de Tempo Real Geração Automática de Código Finalidade Com base na semântica dos Diagramas de Classes beneficiar-se da transcrição "automática" da definição visual de elementos da implementação para código-fonte numa linguagem de programação Específica. CE 235-Sistemas Embarcados de Tempo Real Geração Automática de Código InformarStatus.cpp INLINE_CHAINS void InformadorStatus_Actor::chain2_timeout( void ) { // transition ':TOP:AguardandoInicio:J418A80B7005E:timeout' rtgChainBegin( 2, "timeout" ); exitState( rtg_parent_state ); rtgTransitionBegin(); rtgTransitionEnd(); enterState( 3 ); } INLINE_CHAINS void InformadorStatus_Actor::chain3_StatusTransmitido( void ) { // transition ':TOP:LendoStatus:J418A80D202CF:StatusTransmitido' rtgChainBegin( 3, "StatusTransmitido" ); exitState( rtg_parent_state ); rtgTransitionBegin(); rtgTransitionEnd(); enterState( 2 ); } CE 235-Sistemas Embarcados de Tempo Real Conclusão Sobre o RUP. O Rational Unified Process (RUP) sob o ponto de vista de uma abordagem de desenvolvimento pode ser considerado como uma união de vários conceitos que foram evoluídos durante toda a história da engenharia de software. Conceitos estes organizados e agregados para a viabilidade de produção de software com qualidade, confiabilidade e segurança. CE 235-Sistemas Embarcados de Tempo Real Conclusão Sobre o PVA. Dentro dos requisitos documentados tomando como base a redução do escopo documentada, foram concluídas todas as etapas do processo de Desenvolvimento, solicitado para a matéria CE-235, do projeto de Protótipo de Veículo Autonomo (PVA), visando os conceitos de Sistema Embarcados de Tempo Real. CE 235-Sistemas Embarcados de Tempo Real Recomendações Recomenda-se que os grupos de alunos e ou pesquisadores aumentem os números de iterações das fases utilizadas com a tecnologia CASE fazendo com que os papéis gerados pelos processos e ferramentas sejam mais específicos e elaborados em cada fase consolidada do projeto, tornando assim os resultados mais apurados e consistentes e por conseqüência o sistema com maior garantia de qualidade, confiabilidade e segurança. CE 235-Sistemas Embarcados de Tempo Real