Engenharia de Software para Computação Embarcada

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

AUTOMAÇÃO DE ESCRITÓRIOS
Noções de Sistemas Operacionais
Rational Unified Process
Engenharia de Software
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
Análise de Casos de Uso.
Rational Unified Process(RUP)
Pontifícia Universidade Católica do Rio Grande do Sul
AULA 1: Introdução a Sistemas Embarcados
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
William Stallings Arquitetura e Organização de Computadores 8a Edição
Introdução à Informática
Metodologia de Desenvolvimento de Software
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Informática Industrial
Professora: Aline Vasconcelos
Projetos de Sistemas Embutidos
April 05 Prof. Ismael H. F. Santos - 1 Modulo II CheckStyle Professor Ismael H F Santos –
Maria Aparecida Castro Livi
SISTEMA DE MONITORAÇÃO VEICULAR VIA GPRS
Wiimote no Windows e Linux + Gotcha
Sistemas Operacionais
Sistemas Digitais Microprocessados
Esquema básico do hardware
Auditoria de Segurança da Informação
Componentes do Computador e noções de Arquitetura de Computadores
Professor Victor Sotero
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
Introdução a Programação JAVA
Análise de Casos de Uso Alexandre Motnteiro.
DIAGRAMA DE COMPONENTES
Compressor Elétrico CPB
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Sistemas Operacionais
Engenharia de Requisitos
DFD – Data Flow Diagram Diagrama de Fluxo de Dados
Engenharia de Software para Computação Embarcada
Engenharia de Software para Computação Embarcada
Engenharia de Software para Computação Embarcada
Visão Geral do RUP.
Cap 4 – Métricas do Processo e Projeto de Software
Universidade São Marcos Curso: Gestão de Negócios Internacionais
SISTEMAS OPERACIONAIS
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Sistemas Operacionais
Desenvolvimento de um Telefone IP Baseado em um Processador Blackfin
Extranet GRD – Guia de Remessa de Documentos
Arquitetura de computadores
Arquitetura do Software
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Noções de Software Escola Almirante Soares Dutra
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
Técnicas e Projeto de Sistemas
Organização e Arquitetura de Computadores
Capítulo 1 Introdução 1.1 O que é um sistema operacional

ÁREA DE TRABALHO DO WINDOWS
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Organização e Arquitetura de Computadores
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Qualidade de Software Aula 4
Requisitos de Software
Lojas de Informática e eletrônicos
ECA-703 AUTOMAÇÃO DE SISTEMAS ELÉTRICOS
Transcrição da apresentação:

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