Engenharia de Software para Computação Embarcada Prof. Frederico Ferlini Aula 2
CONTEÚDO Computação Embarcada Fluxo de Projeto Definição Exemplos Desafios de Projeto Metodologias de Projeto Fluxo de Projeto Formato dos Relatórios de Laboratório
Computação Embarcada Definição: Qualquer dispositivo que contenha um computador programável que não seja de propósito geral [Wol08] Resumo: Dispositivo programável cujo o computador é dedicado ao sistema que ele controla O projeto é otimizado observando vantagens características da aplicação: Mais otimizado que um computador de propósito geral
Computação Embarcada Exemplo básico output analog input CPU mem embedded computer © 2008 Wayne Wolf
Computação Embarcada Exemplos: Automóvel Aparelhos eletrônicos Avião: Sistema de frenagem Aparelhos eletrônicos Sistema de segurança (colisão = air bags) Celulares Impressoras Motorização TV Digital Eletrodomésticos Avião: Controlador de vôo Controle de Navegação/ Comunicação ETC...
Computação Embarcada Anos 70 Automóveis: começam a ser construídos com controladores baseados em microprocessador: Misturador ar / combustível Motor (tempos) Emissão de poluente Eficiência do combustível Modos de operação: Warm up Cruzeiro Subida Esportiva História
Computação Embarcada Atualmente ABS Automóveis de ponta possuem mais de 100 PROC CTRL de 4-bits para verificação do uso do cinto de segurança CTRL para computadores de bordo 16/32-bit microprocessadores para o controle do motor História brake sensor ABS hydraulic pump © 2008 Wayne Wolf
(Anti-lock Brake System) (Automatic Stability Control) Computação Embarcada Atualmente Automóveis de ponta possuem mais de 100 PROC CTRL de 4-bits para verificação do uso do cinto de segurança CTRL para computadores de bordo 16/32-bit microprocessadores para o controla do motor História brake sensor ABS hydraulic pump © 2008 Wayne Wolf BMW 850i ABS (Anti-lock Brake System) ASC+T (Automatic Stability Control) Aceleração Tempo de ignição Frenagem Troca de marcha
Computação Embarcada Características Gerais Algoritmos complexos Funcionalidade sofisticadas Aplicações de tempo real Baixo custo Baixo consumo de energia Projetado por equipes pequenas e com deadlines curtos Interface Gráfica Múltiplos Algoritmos Hard Real Time = catastrófico!! Soft Real Time = degradação Janela de mercado de 6 meses é comum
Computação Embarcada Por que usar microprocessadores? Alternativas: FPGAs, ASICs, custom logic... NRE (pesquisa, projeto, desenvolvimento e teste) muito caro. Custo justificável? Muito Eficiente de modo geral Pode ser utilizado para realizar diversas funções Simplifica o projeto de diferentes famílias de um mesmo produto Atualização do firmware = adição de funcionalidades Tecnologia de ponta MELHOR ESCOLHA NA GRANDE MAIORIA DOS CASOS!!
Computação Embarcada PROJETO LISTA DE REQUISITOS FLUXO DE PROJETO Não – funcionais Peso, tamanho, etc. Consumo de energia Confiabilidade Tempo máx. de operação Custo Performance Funcionais Entradas Saídas (Saída em função das entradas) FLUXO DE PROJETO REQUISITOS Especificação Arquitetura Desenvolvimento HW / SW Integração Basicamente são as funcionalidades que o cliente quer!!!
Computação Embarcada PROJETO ESPECIFICAÇÃO O que é necessário para implementar cada item da lista de requisitos Recomendações: ITU-T (ITU’s Telecommunication Standardization Sector) Detalhamento da funcionalidade de cada item. Diagramas de estados, de tempo.... Início da divisão entre HW e SW Requisitos ESPECIFICAÇÃO Arquitetura Desenvolvimento HW / SW Integração
Computação Embarcada PROJETO ARQUITETURA HW e SW separados Componentes de HW CPUs, memórias, periféricos, etc. Componentes de SW Programas e suas funcionalidades... Máquina de estados Interação entre unidades do projeto. Requisitos Especificação ARQUITETURA Desenvolvimento HW / SW Integração
Computação Embarcada PROJETO DESENVOLVIMENTO Começa-se a mexer em código!! Desenvolvimento por unidades Necessidade de mudanças: Especificação e Arquitetura... Processo cíclico Já se define os testes necessário para validar cada unidade Requisitos Especificação Arquitetura DESENVOLVIMENTO HW / SW Integração
Computação Embarcada PROJETO INTEGRAÇÃO Integração das unidades desenvolvidas Aparecimento de novos problemas Teste com todo o sistema Verificação do atendimento dos requisitos Pessoa diferente do desenvolvedor Requisitos Especificação Arquitetura Desenvolvimento HW / SW INTEGRAÇÃO
Computação Embarcada PROJETO LINGUAGENS FERRAMENTAS IBM Rational DOORS UML (Unified Modeling Language) SysML (Systems Modeling Language) AADL (Architecture Analysis & Design Language) … FERRAMENTAS Rational ROSE – IBM UML e SysML TOPCASED- (OpenSource) Airbus UML, SysML e AADL (versão OSATE)... ... IBM Rational DOORS Embraer Mectron Elbit / AEL Boeing ... DOORS é a aplicação lider mundialmente de gerenciamento de requisitos
Computação Embarcada PROJETO LINGUAGENS E FERRAMENTAS Objetivo? IBM Rational DOORS Requisitos Especificação Arquitetura Desenvolvimento HW / SW Integração R: VERIFICAR O ATENDIMENTO DOS REQUISITOS Documentação do SW padrão: MIL-STD-498 IBM Rational DOORS Ligação de cada item desenvolvido com determinado requisito
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Obtém a localização pelo GPS Imprime o mapa com as informações da base de dados local lat: 40 13 lon: 32 19 BR-101 BR-282 - Funcionalidade: Para uso automotivo. Mostra as principais ruas e pontos de interesse. - Interface (usuário): no mínimo tela de 400 x 600 pixel. No máximo três botões. Menu. - Performance: O mapa deve rolar suavemente. Power-up de no máximo 1s. GPS Lock menor que 15 segundos. - Custo: $120 venda = aprox. $30 total de todos os componentes. Caract. Físicas: Deve caber na palma da mão Consumo: 8h com 2x AA.
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Requisitos Nome Mapa digital com localizador GPS Objetivo Mapa com localizador GPS para uso automotivo. Entradas 1 botão liga/desliga, 2 de controle. Saídas Visor LCD 400 X 600 Descrição (Tarefas) -Utiliza sistema de 5-receiver GPS; -Usuário pode escolher entre 3 tipos de resoluções - Sempre mostra latitude e longitude Performance Atualização da tela a cada 25ms quando em movimento Custo de Fabricação $30 Consumo 100 mW Peso/Tamanho 2”X 6”, 12 oz.
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Especificação Formato da informação recebida pelo GPS; Padrão dos dados salvos no banco de dados do mapa; Interface com o usuário; Operações necessárias para satisfazer os requisitos do usuário; Operações de background que servem para manter o funcionamento do sistema. ....
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Arquitetura Os principais componentes que constituem o sistema GPS receiver search engine renderer user interface database display © 2008 Wayne Wolf
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Arquitetura HARDWARE CPU? Memória? Antena?.... GPS receiver CPU panel I/O display frame buffer memory © 2008 Wayne Wolf
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Arquitetura SOFTWARE Principais programas e suas funções... position database search renderer timer user interface pixels © 2008 Wayne Wolf
Computação Embarcada PROJETO Exemplo: Mapa digital com localizador GPS Desenvolvimento Primeiro contato com código... Teste dos componentes separadamente, o máximo que possível Definição dos testes com o sistema integrado Integração Novos bugs Verificação do atendimento dos requisitos Ok? Fechamento de versão
Formato Relatórios Laboratório Levantamento de Requisitos Alto nível Especificação Detalhamento Arquitetura Diagrama de blocos Fluxo do funcionamento Desenvolvimento VHDL Documentação Print Screens da simulação VHDL (Comentado)
brake sensor ABS hydraulic pump © 2008 Wayne Wolf