Universidade do Sul de Santa CatarinaEngenharia Elétrica - Telemática
UN
ISU
L –
2012
/ 2
Engenharia de Software para Computação Embarcada
Prof. Frederico Ferlini
Aula 2
2
1. COMPUTAÇÃO EMBARCADA DEFINIÇÃO EXEMPLOS DESAFIOS DE PROJETO METODOLOGIAS DE PROJETO
2. FLUXO DE PROJETO3. FORMATO DOS RELATÓRIOS DE LABORATÓRIO
CONTEÚDO
3
• 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
4
• Exemplo básicoComputação Embarcada
CPU
mem
input
output analog
analog
embeddedcomputer © 2008 Wayne Wolf
5
• Exemplos: Aparelhos eletrônicos
• Celulares• Impressoras• TV Digital• Eletrodomésticos
Avião:• Controlador de vôo• Controle de Navegação/
Comunicação
ETC...
Automóvel• Sistema de frenagem• Sistema de segurança
(colisão = air bags)• Motorização
Computação Embarcada
6
• 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
Computação Embarcada
HISTÓ
RIA
7
• 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 controle do motor
brake
sensor
brake
sensor
brake
sensor
brake
sensor
ABS hydraulicpump
© 2008 Wayne Wolf
Computação Embarcada
HISTÓ
RIA
8
• 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
brake
sensor
brake
sensor
brake
sensor
brake
sensor
ABS hydraulicpump
© 2008 Wayne Wolf
Computação Embarcada
HISTÓ
RIA
BMW 850i
ASC+T (Automatic Stability Control)
• Aceleração• Tempo de ignição
• Frenagem• Troca de marcha
ABS (Anti-lock Brake System)
9
• 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
Computação Embarcada
Interface Gráfica Múltiplos Algoritmos
Hard Real Time = catastrófico!!Soft Real Time = degradação
Janela de mercado de 6 meses é comum
10
• 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
Computação Embarcada
MELHOR ESCOLHA NA GRANDE MAIORIA DOS CASOS!!
11
Computação Embarcada• PROJETO
LISTA DE REQUISITOS• 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)
Basicamente são as funcionalidades que o cliente quer!!!
REQUISITOS
Especificação
Arquitetura
DesenvolvimentoHW / SW
Integração
FLUXO DE PROJETO
12
• 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
Computação Embarcada
Requisitos
ESPECIFICAÇÃO
Arquitetura
DesenvolvimentoHW / SW
Integração
13
• 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.
Computação Embarcada
Requisitos
Especificação
ARQUITETURA
DesenvolvimentoHW / SW
Integração
14
• 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
Computação Embarcada
Requisitos
Especificação
Arquitetura
DESENVOLVIMENTOHW / SW
Integração
15
• 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
Computação Embarcada
Requisitos
Especificação
Arquitetura
DesenvolvimentoHW / SW
INTEGRAÇÃO
16
• PROJETO LINGUAGENS
• 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)...
• ...
Computação Embarcada
IBM Rational DOORS-Embraer-Mectron-Elbit / AEL-Boeing-...
17
• PROJETO LINGUAGENS E FERRAMENTAS
• Objetivo?
Computação Embarcada
Requisitos
Especificação
Arquitetura
DesenvolvimentoHW / SW
Integração
R: VERIFICAR O ATENDIMENTO DOS REQUISITOS
IBM Rational DOORS
IBM Rational DOORS-Ligação de cada item desenvolvido com determinado requisito
Documentação do SWpadrão: MIL-STD-498
18
• 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
Computação Embarcada
- 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.
lat: 40 13 lon: 32 19
BR-101
BR-2
82
- Caract. Físicas: Deve caber na palma da mão- Consumo: 8h com 2x AA.
19
• PROJETO Exemplo: Mapa digital com localizador GPS
• Requisitos
Computação Embarcada
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 600Descriçã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 movimentoCusto de Fabricação $30Consumo 100 mWPeso/Tamanho 2”X 6”, 12 oz.
20
• PROJETO Exemplo: Mapa digital com localizador GPS
• Especificação
a) Formato da informação recebida pelo GPS;b) Padrão dos dados salvos no banco de dados do mapa;c) Interface com o usuário;d) Operações necessárias para satisfazer os requisitos do
usuário;e) Operações de background que servem para manter o
funcionamento do sistema.....
Computação Embarcada
21
• PROJETO Exemplo: Mapa digital com localizador GPS
• Arquitetura
Os principais componentes que constituem o sistema
Computação Embarcada
GPSreceiver
searchengine renderer
userinterfacedatabase
display
© 2008 Wayne Wolf
22
• PROJETO Exemplo: Mapa digital com localizador GPS
• Arquitetura HARDWARE
CPU? Memória? Antena?....
Computação Embarcada
GPSreceiver
CPU
panel I/O
display framebuffer
memory
© 2008 Wayne Wolf
23
• PROJETO Exemplo: Mapa digital com localizador GPS
• Arquitetura SOFTWARE
Principais programas e suas funções...
Computação Embarcada
position databasesearch renderer
timeruserinterface
pixels
© 2008 Wayne Wolf
24
• 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
Computação Embarcada
25
• 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)
Formato Relatórios Laboratório