Your SlideShare is downloading. ×
0
DESENVOLVIMENTO DE
SISTEMAS
EMBARCADOS

Discentes: Alexandre Augusto Giron
Paulo Roberto de Oliveira

Mestrado em
Ciência ...
AGENDA
 Introdução
 Requisitos do desenvolvimento de Sistemas Embarcados
 Metodologias de desenvolvimento
 Baseada no ...
INTRODUÇÃO
 O que são sistemas embarcados?
 “Sistemas computacionais que processam informação e são
incorporados em um p...
INTRODUÇÃO
 Várias são as aplicações dos sistemas embarcados
 Entretanto, o desenvolvimento desses sistemas possui
diver...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS
 Sistemas embarcados possuem particularidades que os
diferem do dese...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - DISSIPAÇÃO E
CONSUMO DE POTÊNCIA
 Aspecto de grande importância
 ...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - DESEMPENHO
 Tempo de execução das instruções
 Aspecto importante ...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – PRAZO PARA
PROCESSOS
 Muitos processos são executados a todo insta...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - INTERFACES DE
USUÁRIO
 Interação do usuário com o sistema
 Entrad...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - TAMANHO
 Espaço físico necessário
 Design
 Exemplo: Tendência do...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - CUSTO DE
ENGENHARIA





Etapas de desenvolvimento do sistema
D...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - CUSTO DE
PRODUÇÃO
 Gasto obtido em cada unidade do sistema embarca...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - FLEXIBILIDADE
 Aspectos que não aumentam o custo de engenharia
 V...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - PROTOTIPAÇÃO
 Tempo de desenvolvimento gasto até a criação do prot...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - TEMPO DE
DESENVOLVIMENTO
 Consumo de tempo
 Processo de engenhari...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - TEMPO DE
COMÉRCIO
 Consumo de tempo
 Inicia-se após após a criaçã...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - SISTEMA DE
SEGURANÇA DO USUÁRIO
 Deve ser realizada uma análise
 ...
REQUISITOS DO DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS - MANUTENÇÃO
 Aspecto importante, onde se refere a:
 Instabilidade
...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS
 Ciclo de vida de sistemas embarcados
 Níveis de abstração
 Proje...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS

20
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Especificação do produto
 ...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Partição entre hardware e s...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Iteração e implementação
 ...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Projeto detalhado de hardwa...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Integração entre hardware e...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Testes do produto e atualiz...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Consumo de tempo para se re...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – CICLO DE VIDA DE
SISTEMAS EMBARCADOS
 Manutenção e aperfeiçoament...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO
 Metodologia baseada em Níveis de Abstração
...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO





Etapa de Requisitos
Visa a realizar o...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO
 Etapa de Especificação
 Segunda etapa
 Enf...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO
 Etapa de Arquitetura
 Define como será cons...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO
 Etapa de constituição por Componentes
 Estr...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO
 Processo de desenvolvimento de componentes e...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – NÍVEIS DE
ABSTRAÇÃO
 Etapa de Integração do Sistema
 Última etap...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – PROJETO BASEADO
EM PLATAFORMAS
 Metodologia de Projeto baseado em...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – PROJETO BASEADO
EM PLATAFORMAS
 Metodologia de Projeto baseado em...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – COMPARATIVO
ENTRE METODOLOGIAS
 Metodologia baseada no ciclo de v...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – COMPARATIVO
ENTRE METODOLOGIAS
 Metodologia do ciclo de vida divi...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – COMPARATIVO
ENTRE METODOLOGIAS
 Especificação de Requisitos: M. b...
METODOLOGIA DE DESENVOLVIMENTO DE
SISTEMAS EMBARCADOS – COMPARATIVO
ENTRE METODOLOGIAS
 A metodologia baseada no ciclo de...
OBSERVAÇÕES SOBRE O PROJETO BASEADO
EM PLATAFORMAS
 Metodologia de projeto baseado em plataformas permite:
 Agilidade na...
FERRAMENTAS DE APOIO
 Hardware
 Sof tware
 Linguagens

43
FERRAMENTAS DE APOIO
 Hardware
 Placas de desenvolvimento para desenvolvimento de
protótipos
 Conectores de acesso seri...
FERRAMENTAS DE APOIO
 Hardware

45
FERRAMENTAS DE APOIO
 Sof tware

 Recursos:
 Explorador de
Projetos
 Debugging
 Análise de
desempenho
 ....
46
FERRAMENTAS DE APOIO
 Linguagens
 De descrição de Hardware
 De Modelagem

 SysML: linguagem gráfica de modelagem
 Cla...
FERRAMENTAS DE APOIO
 SysML

48
FERRAMENTAS DE APOIO
 Linguagens de descrição de hardware
 Verilog
 VHDL

49
CONCLUSÕES
 O desenvolvimento de Sistemas Embarcados é complexo
 Metodologias específicas podem auxiliar no desenvolvime...
DÚVIDAS?

 Obrigado pela atenção

51
REFERÊNCIAS
 P. MARVEDEL. Embedded System Design. Netherland:
Springer, 2006. ISBN 978-0-387-29237-3.
 J. ENGBLOM. Embed...
REFERÊNCIAS
 F. WAGNER and L. CARRO, “Sistemas Computacionais
Embarcados”. XXII Jornadas de Atualização em Informática.
C...
REFERÊNCIAS
 T. SIMUNIC, L. BENINI, A. ACQUAVIVA , P. GLYNN and G. DE
MICHELI, “Dynamic Voltage Scaling and Power Managem...
Upcoming SlideShare
Loading in...5
×

Desenvolvimento de sistemas embarcados

2,360

Published on

Uma introdução ao desenvolvimento de sistemas embarcados, mostrando (e comparando) metodologias e ferramentas disponíveis para uso.

9 Comments
1 Like
Statistics
Notes
  • Agora sim! Hehe Obrigado pelas sugestões e críticas. Ah sim, a distância entre indústria/universidade não é um problema de hoje. A ideia dos slides era mostrar algumas metodologias existentes na literatura, para um disciplina aqui do mestrado. Mas valeu pelas sugestões.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Outra coisa muito importante de se notar, é sobre os requisitos ou funcionalidades. Sistemas, de uma forma geral, passam por processos de metamorfose de requisitos, sejam eles de tempo, custo, velocidade, funcionalidades, etc, e não apenas durante o ciclo de vida do projeto, aonde considero que as mudanças mais violentas de requisitos podem acontecer, mas também podem continuar a mudar durante o ciclo de vida do produto (o ciclo de vida do projeto 'termina' quando o mesmo vira produto). Então é impossível seguir uma metodologia do tipo top-down/bottom-up.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Um exemplo é o gráfico contido no slide 27. Ele demonstra de forma 'não linear' a quantidade de tempo gasta em cada 'atividade', porém tenta traçar um paralelo linear de custo.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Existem fases e tempos descritos pela literatura escolhida por vocês que não condizem com a realidade. É impossível delimitar, em unidades de tempo ou porcentagem bem definidos as fases de desenvolvimento de software embarcado.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Com base nisso, posso afirmar que a academia está longe de compreender a realidade, pois está alheia ao mercado e seus requisitos.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,360
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
97
Comments
9
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Desenvolvimento de sistemas embarcados"

  1. 1. DESENVOLVIMENTO DE SISTEMAS EMBARCADOS Discentes: Alexandre Augusto Giron Paulo Roberto de Oliveira Mestrado em Ciência da computação
  2. 2. AGENDA  Introdução  Requisitos do desenvolvimento de Sistemas Embarcados  Metodologias de desenvolvimento  Baseada no ciclo de vida  Baseada em níveis de abstração  Projeto baseado em plataformas     Comparativo/Observações sobre as metodologias Ferramentas de apoio ao desenvolvimento Conclusões Referências 2
  3. 3. INTRODUÇÃO  O que são sistemas embarcados?  “Sistemas computacionais que processam informação e são incorporados em um produto maior” (MARVEDEL, 2006)  Vários exemplos no cotidiano 3
  4. 4. INTRODUÇÃO  Várias são as aplicações dos sistemas embarcados  Entretanto, o desenvolvimento desses sistemas possui diversos requisitos  Metodologias e ferramentas de apoio ao desenvolvimento podem ser utilizadas 4
  5. 5. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS  Sistemas embarcados possuem particularidades que os diferem do desenvolvimento de software  Não é uma tarefa simples  Alguns requisitos são normalmente necessários para o desenvolvimento de sistemas embarcados 5
  6. 6. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - DISSIPAÇÃO E CONSUMO DE POTÊNCIA  Aspecto de grande importância  Fonte de energia  Baterias móveis  Precisam ser recarregadas  Consumo x Realimentação  Menor consumo  Menor frequência de realimentação  Exemplos  Telefones celulares  VANT (Veículo Aéreo Não Tripulado) 6
  7. 7. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - DESEMPENHO  Tempo de execução das instruções  Aspecto importante na maioria dos sistemas  Sistemas embarcados  Fator ainda mais importante  Memória  Processamento  Cada vez mais necessitam de maior quantidade de recursos  Câmera fotográfica digital  Smartphone 7
  8. 8. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – PRAZO PARA PROCESSOS  Muitos processos são executados a todo instante  Dados de entrada via teclado  Sinais de áudio e vídeo  Atualização da tela  Prazo de término  Produção de resultados  Também conhecido como requisito de tempo real  Soft real time  Habilidade do sistema de respeitar prazos  Otimizar algumas aplicações  Utilizado em sistemas onde o tempo de resposta não é crítico  Hard real time  Garantir que os prazos serão atendidos  Utilizado em sistemas críticos  Usina nuclear 8
  9. 9. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - INTERFACES DE USUÁRIO  Interação do usuário com o sistema  Entrada de dados  Teclado  Voz  Outras  Usabilidade  Design  Aceitação comercial 9
  10. 10. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - TAMANHO  Espaço físico necessário  Design  Exemplo: Tendência do tamanho dos celulares  Quantidade de memória RAM ( kB) e flash (MB ou GB)  Tamanho do software  Exemplo: Arduíno  Número de milhões de portas lógicas  Maior o número de portas lógicas  Maior o custo do produto final 10
  11. 11. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - CUSTO DE ENGENHARIA     Etapas de desenvolvimento do sistema Debugging Testes Estes gastos não são recorrentes 11
  12. 12. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - CUSTO DE PRODUÇÃO  Gasto obtido em cada unidade do sistema embarcado  Visão de um gestor da empresa 12
  13. 13. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - FLEXIBILIDADE  Aspectos que não aumentam o custo de engenharia  Versão original do produto  Alteração de características  Objetivo principal do sistema não se altera  Funcionalidades adicionais  Exemplo: Micro-ondas 13
  14. 14. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - PROTOTIPAÇÃO  Tempo de desenvolvimento gasto até a criação do protótipo  Hábil para a realização de testes de suas funcionalidades  Pode ser medida em:  Dias  Meses 14
  15. 15. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - TEMPO DE DESENVOLVIMENTO  Consumo de tempo  Processo de engenharia  Construção do protótipo 15
  16. 16. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - TEMPO DE COMÉRCIO  Consumo de tempo  Inicia-se após após a criação do protótipo  Até que o produto esteja disponível no mercado 16
  17. 17. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - SISTEMA DE SEGURANÇA DO USUÁRIO  Deve ser realizada uma análise  Desde uma falha do sistema ou queda acidental  Até questões relacionadas a sua utilização  Exemplo  Capacidade de bloqueio de um telefone celular na ocorrência de um roubo  Correto funcionamento do sistema de freios de um carro  Grande importância quando se trata de sistemas embarcados críticos 17
  18. 18. REQUISITOS DO DESENVOLVIMENTO DE SISTEMAS EMBARCADOS - MANUTENÇÃO  Aspecto importante, onde se refere a:  Instabilidade  Extensões do sistema  Três tipos de manutenção em sistemas embarcados  Software  Ajuste de uma funcionalidade para atender melhor as expectativas do cliente  Dados  Download de vídeos, papéis de parede e músicas em um smartphone  Hardware  Extensões  Cartão de memória adicional  Manutenção  Ocorrência de falhas no dispositivo 18
  19. 19. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS  Ciclo de vida de sistemas embarcados  Níveis de abstração  Projeto baseado em plataformas 19
  20. 20. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS 20
  21. 21. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Especificação do produto  Levar em consideração aspectos de outras áreas além da ciência da computação  Gestão e marketing     Desenvolver um produto que atenda as expectativas do usuário Necessário um time de pesquisa de clientes Análise de requisitos Pesquisar um preço aceitável para o produto 21
  22. 22. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Partição entre hardware e sof tware  Problema de decidibilidade  Hardware  Software  Exemplo  Primeiros processadores x86 (80286, 80386)  Unidade de cálculo de ponto flutuante  Características conflitantes na partição      Preço do produto Alto desempenho Padronização Mercado competitivo Patente  Escolha do processador pode ser um fator de impacto no projeto  Alterar as ferramentas que serão utilizadas 22
  23. 23. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Iteração e implementação  Divergências entre hardware e software que devem ser solucionadas  Quebra de blocos maiores em blocos menores  Visualizar melhor limitações que possam existir  Modelagem de desempenho (Processador e memória)  Ferramentas baseadas em simulação  Benchmarks  Computadores single-board  Microprocessador utilizado no projeto real  Ambiente de desenvolvimento, testes e debugging até o término do modelo real 23
  24. 24. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Projeto detalhado de hardware e sof tware  Também conhecido como co-verificação  Hardware pode ser representador por linguagens de descrição  Verilog  VHDL  Plataforma de hardware virtual  Desenvolvimento de código  Tempo gasto é o mínimo possível  Software do projeto real  Testes de interface entre hardware e software são realizados apenas no projeto real de hardware completamente desenvolvido 24
  25. 25. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Integração entre hardware e sof tware  Ponto importante  Gerência de complexidade  Entendimento do time de software fornecida pelo time de hardware  Debugging não é uma tarefa complexa  Conexão com um computador através de uma interface de comunicação  Outros casos pode se tornar quase impossível (Velocidade)  Em alguns casos é possível integrar um S.O ao hardware  Bugs podem continuar existindo  Sistema executado em velocidade máxima de processamento 25
  26. 26. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Testes do produto e atualizações  Processo importante  Scanner  Gerador de energia nuclear  Mais do que garantir que um sistema não falhará em um momento crítico  Verificar se o sistema está próximo de suas condições ideais  Grandes empresas possuem um time apenas para testes 26
  27. 27. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Consumo de tempo para se resolver um problema em cada fase do projeto 27
  28. 28. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – CICLO DE VIDA DE SISTEMAS EMBARCADOS  Manutenção e aperfeiçoamento de produtos existentes  Na maioria das empresas, são mantidos e atualizados sistemas embarcados  Problema  Grande parte do time não está no projeto desde o início  Necessitam de experiência, habilidades e conhecimentos prévios  Ferramentas específicas são utilizadas  Muitas vezes, estas são muito poderosas  Até demais  Questões de tempo  Fase bastante importante para os clientes 28
  29. 29. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO  Metodologia baseada em Níveis de Abstração  Foi proposta por Wolf (WOLF, 2001)  Guia o desenvolvimento através de etapas de diferentes níveis de abstração 29
  30. 30. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO     Etapa de Requisitos Visa a realizar o levantamento de requisitos Etapa inicial no desenvolvimento Fornece um modelo para captura de requisitos de forma textual  Documento contendo: nome, objetivo, entradas e saídas, funções, Performance/desempenho, custo de fabricação, consumo de potência, tamanho físico e peso  Auxilia no entendimento do sistema  Outros modelos podem ser usados 30
  31. 31. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO  Etapa de Especificação  Segunda etapa  Enfoque nos requisitos (de forma mais precisa que a etapa anterior)  Objetivos:  Deve garantir que os requisitos sejam bem especificados para guiar o desenvolvimento do sistema  UML pode ser utilizada neste processo  SysML frequentemente utilizada no contexto dos sistemas embarcados 31
  32. 32. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO  Etapa de Arquitetura  Define como será construído o sistema  Etapa que realiza o projeto da arquitetura em termos de hardware e sof tware  Diagrama de blocos pode ser utilizado nesta etapa  Durante essa etapa deve-se levar em consideração os requisitos funcionais e não funcionais 32
  33. 33. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO  Etapa de constituição por Componentes  Estruturar o sistema em componentes de hardware e sof tware  Objetivos  Fornecer a conformidade com o projeto da arquitetura e com os requisitos  Desenvolver componentes com atenção na integração dos mesmos e na integração do sistema como um todo  Favorecer o reuso dos componentes desenvolvidos (“Desenvolver para o reuso”) e então diminuir tempo de projeto  Processo de desenvolvimento de componentes estruturado em:  IP Component Provider  IP Component Consumer 33
  34. 34. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO  Processo de desenvolvimento de componentes estruturado em:  IP Component Provider: Criação, classificação para o reuso  IP Component Consumer: Validar e integrar componentes 34
  35. 35. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – NÍVEIS DE ABSTRAÇÃO  Etapa de Integração do Sistema  Última etapa no desenvolvimento  Normalmente é complexa  Necessita de integração otimizada para evitar desperdício de recursos  Testes de integração devem ser realizados  Etapa também define o lançamento do produto 35
  36. 36. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – PROJETO BASEADO EM PLATAFORMAS  Metodologia de Projeto baseado em Plataformas  Define o fluxo do desenvolvimento do sistema sobre uma plataforma base (genérica)  Escolha da plataforma: considerar requisitos e projetos anteriores  Desenvolvimento do sistema sobre a plataforma escolhida  Testes para adaptação e lançamento do produto 36
  37. 37. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – PROJETO BASEADO EM PLATAFORMAS  Metodologia de Projeto baseado em Plataformas  Tende a agilizar o desenvolvimento  Projetos anteriores  Adaptação de produtos lançados de acordo com as necessidades do domínio específico  Considera custos de engenharia e de produção  Não começar um desenvolvimento “do zero” 37
  38. 38. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – COMPARATIVO ENTRE METODOLOGIAS  Metodologia baseada no ciclo de vida de sistemas embarcados X  Metodologia baseada em níveis de abstração 38
  39. 39. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – COMPARATIVO ENTRE METODOLOGIAS  Metodologia do ciclo de vida divide explicitamente o desenvolvimento hardware/software; enquanto que a baseada em níveis dá ênfase na montagem de componentes  M. do Ciclo de vida define fases para o desenvolvimento; de forma análoga, a M. em Níveis define etapas através dos níveis de abstração;  Ambas possuem enfoque à integração do sistema (hardware/software) definindo etapas explícitas. Ciclo de Vida: fase 5 Níveis de Abstração : último nível 39
  40. 40. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – COMPARATIVO ENTRE METODOLOGIAS  Especificação de Requisitos: M. baseada em níveis  Fornece um modelo de formulário de requisitos  Define duas etapas para levantamento e especificação dos requisitos: Forte atenção aos requisitos do sistema  Dessa forma, a metodologia considera que somente com um entendimento claro dos requisitos se torna possível o desenvolvimento do sistema 40
  41. 41. METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS EMBARCADOS – COMPARATIVO ENTRE METODOLOGIAS  A metodologia baseada no ciclo de vida define uma fase específica aos testes e outra à manutenção do sistema.  Por outro lado, a M. baseada em níveis não define uma etapa específica,  mas engloba os testes e manutenção no nível de integração do sistema 41
  42. 42. OBSERVAÇÕES SOBRE O PROJETO BASEADO EM PLATAFORMAS  Metodologia de projeto baseado em plataformas permite:  Agilidade na entrega/desenvolvimento: desenvolvimento sobre plataforma base (genérica)  Evita o “desenvolvimento from the scratch” (ou “do zero”)  Redução de custos: reutilizar projetos anteriores, apenas adaptando os às novas necessidades 42
  43. 43. FERRAMENTAS DE APOIO  Hardware  Sof tware  Linguagens 43
  44. 44. FERRAMENTAS DE APOIO  Hardware  Placas de desenvolvimento para desenvolvimento de protótipos  Conectores de acesso serial, USB, rede  Medição de consumo de potência 44
  45. 45. FERRAMENTAS DE APOIO  Hardware 45
  46. 46. FERRAMENTAS DE APOIO  Sof tware  Recursos:  Explorador de Projetos  Debugging  Análise de desempenho  .... 46
  47. 47. FERRAMENTAS DE APOIO  Linguagens  De descrição de Hardware  De Modelagem  SysML: linguagem gráfica de modelagem  Classificada como um perfil da UML  Suporta análise, especificação, projeto, verificação e validação  Voltada a modelagem de sistemas complexos (compostos de hardware, software, dados, pessoal, procedimentos, instalações, sistemas naturais...) 47
  48. 48. FERRAMENTAS DE APOIO  SysML 48
  49. 49. FERRAMENTAS DE APOIO  Linguagens de descrição de hardware  Verilog  VHDL 49
  50. 50. CONCLUSÕES  O desenvolvimento de Sistemas Embarcados é complexo  Metodologias específicas podem auxiliar no desenvolvimento  Mas independentemente de metodologia utilizada, o desenvolvimento de sistemas embarcados requer  Atenção aos requisitos: consumo de potência, desempenho, custo...  Integração otimizada hardware/software  Utilização de ferramentas de apoio 50
  51. 51. DÚVIDAS?  Obrigado pela atenção 51
  52. 52. REFERÊNCIAS  P. MARVEDEL. Embedded System Design. Netherland: Springer, 2006. ISBN 978-0-387-29237-3.  J. ENGBLOM. Embedded Systems Computer Architecture. Uppsala University. Extended Abstract, ESSES, 2003.  VHDL (2002). “IEEE Standard VHDL Language Reference Manual. IEEE Standard No. 1076-2002”. IEEE, 2002.  Verilog (1995). “IEEE Standard Hardware Description Language Based on Verilog Hardware Description Language. IEEE Standard No. 1364-1995”. IEEE, 1995.  A . S. BERGER, “Embedded System Design: An Introduction to Processes, Tools, and Techniques”. CMP Books, 2002 . 52
  53. 53. REFERÊNCIAS  F. WAGNER and L. CARRO, “Sistemas Computacionais Embarcados”. XXII Jornadas de Atualização em Informática. Campinas: UNICAMP, 2003, v. 1 , p. 45-94.  K. KEUTZER, et al. System Level Design: Orthogonalization of Concerns and Platform-Based Design. IEEE Transactions on Computer- Aided Design of Circuits and Systems, New York, v. 19, n. 12, p. 1523-1543, Dec. 2000.  W. WOLF. Computers as Components - Principles of Embedded Computing System Design. Morgan Kaufmann Publishers, San Francisco, 1 edition, 2001 . 53
  54. 54. REFERÊNCIAS  T. SIMUNIC, L. BENINI, A. ACQUAVIVA , P. GLYNN and G. DE MICHELI, “Dynamic Voltage Scaling and Power Management for Portable Systems”. In: Annual ACM IEEE Design Automation Conference. June, 2001 , Las Vegas.  BeagleBoard.org. BeagleBoard-xM Rev C System Reference Manual. Richardson, TX,2010.  Texas Instruments, Inc. Code Composer Studio (CCStudio) Integrated Development Environment (IDE) v5. Dallas, TX, 2009 .  FRIEDENTHAL, S.; MOORE, A.; STEINER, R. A. Practical Guide to SysML: Systems Model. Morgan Kaufmann OMG Press, 2008. 560p.  R. F. da SILVA, ”SymPLES: uma abordagem de desenvolvimento de linha de produto para sistemas embarcados baseada em SysML”, Dissertação de Mestrado - Universidade Estadual de Maringá (UEM), 2012. 54
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×