sistemas embarcados qualidade de • são sistemas...

10
Qualidade de Software Aula 04 - QS - Sistemas Embarcados Prof. Ms. Luiz Alberto Contato: [email protected] Prof. Luiz Alberto - Aula - QS - Sistemas Embarcados Sistemas Embarcados São sistemas computacionais que estão inseridos em máquinas ou em sistemas maiores Embutidos em equipamentos eletrônicos: telefones celulares, microondas, forno microondas,carros, automação de escritório.... Encontrado em quase todas as aplicações que necessitam de algum tipo de controle.... –1– Prof. Luiz Alberto - Aula - QS - Sistemas Embarcados Áreas de Aplicação produtos de consumo: – telefones celulares, pagers, câmaras digitais, aparelho de DVD, vídeo games portáteis, calculadores, etc; • eletrodomésticos: – forno de microondas, secretárias eletrônicas, equipamentos de segurança, termostatos, máquinas de lavar e sistemas de iluminação; –2– Prof. Luiz Alberto - Aula - QS - Sistemas Embarcados Áreas de Aplicação Automação de escritório: – copiadoras, impressoras e scanners; • Automóveis: – controle de transmissão, injeção eletrônica, suspensão ativa, freio ABS. –3–

Upload: others

Post on 05-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Qualidade de

Software

Aula 04 - QS - Sistemas

Embarcados

Prof. Ms. Luiz Alberto

Contato: [email protected]

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Sistemas Embarcados

• São sistemas computacionais que estão inseridos em máquinas ou em sistemas maiores

• Embutidos em equipamentos eletrônicos:– telefones celulares, microondas, forno microondas,carros, automação

de escritório....

• Encontrado em quase todas as aplicações que necessitam de algum tipo de controle....

– 1 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Áreas de Aplicação

• produtos de consumo: – telefones celulares, pagers, câmaras digitais, aparelho

de DVD, vídeo games portáteis, calculadores, etc;

• eletrodomésticos: – forno de microondas, secretárias eletrônicas,

equipamentos de segurança, termostatos, máquinas de lavar e sistemas de iluminação;

– 2 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Áreas de Aplicação

• Automação de escritório: – copiadoras, impressoras e scanners;

• Automóveis: – controle de transmissão, injeção eletrônica,

suspensão ativa, freio ABS.

– 3 –

Page 2: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Caracterização

• São usados para controlar sistemas de diferentes tipos: máquinas domésticas, fábricas, carros, jogos etc.

• O software é embutido no hardware do sistema e com ele interage

• O tempo de resposta o diferencia de outros sistemas.

• É tipo de sistema mais comum, com grande impacto econômico.

– 4 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Características

• Funcionalidade única, executada repetidamente• Entrada/Saída intensivo • Executa tarefas em paralelo• Restrições de projeto mais rígidas:

– Custo, tamanho, peso, desempenho, potência dissipada, etc.

• Tempo real: – O tempo para fornecer resultados é determinado pelo tempo que o

ambiente pode esperar.– Sistemas em que têm aspectos temporais na especificação.

• Sistemas reativos– Reagem continuamente a estímulos externos

– 5 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Arquitetura Básica

• Arquitetura de Hardware– Forte comunicação com o ambiente

– Forte restrição de recursos, tamanho, potência, peso...

• Arquitetura de Software– Tratamento rápido de interrupção

– Sistemas operacionais de tempo real

– Softwares eficientes em tamanho e desempenho

– 6 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Geralmente:

• O software que executa em um computador e controla outras máquinas é um sistema embarcado de tempo real.

• Recebe eventos (sinais) gerados pelo hardware e emite sinais de controle para o hardware em resposta a esses eventos.

• A resposta pode estar condicionada a restrições de tempo.

• Nem todo sistema embarcado é de tempo real e vice-versa.

– 7 –

Page 3: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Engenharia de Sistemas Embarcados

• Deve considerar em detalhes o projeto e o desempenho do hardware do sistema.

• É preciso decidir que recursos deve ser implementado em software e que parte de hardware

• Custos e consumo de energia são críticos.

• É necessário decidir se serão usados processadores de prateleira ou se deverá ser projetado e construído um novo hardware.

– 8 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Projeto de Sistemas Embarcados • Um processo top down pode ser difícil de usar.

• Decisões de baixo nível relacionadas ao hardware precisam ser tomadas no início do projeto, o que diminui a flexibilidade do projeto.

• Os sistemas são geralmente reativos e baseados numa abordagem estímulo-resposta.

• O estímulo é uma entrada e deve produzir uma resposta, que é uma saída e geralmente é dirigido a atuadores

– 9 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Sistemas de tempo real

• As linguagens de programação precisam incluir recursos de baixo nível. Ex. C.

• Java vem sendo atualizada para incluir vários mecanismos que permitam o uso em sistemas de tempo real. – O mecanismo básico são as threads

– 10 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Projeto de Sistemas: Atividades Principais • Seleção da plataforma (Hardware e SO)

• Identificar os estímulos/respostas

• Analisar restrições temporais (timing) para cada estímulo (restrições de tempo)

• Alocar estímulo e processamento a processos concorrentes

• Projeto de processos (concorrentes), de acordo com a arquitetura do sistema.

– 11 –

Page 4: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Projeto de Sistemas: Atividades Principais • Projetar os algoritmos para fazer o

processamento necessário

• Projeto de dados

• Programação de processo: projetar um sistema de alocação (scheduling) que permita atender às restrições temporais.

– 12 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Algumas considerações

• Coordenação de processos (semáforos, regiões críticas.

• Análises teóricas para avaliar se as restrições temporais serão atendidas. Isso pode ser difícil

• Linguagens OO podem não ser eficientes para implementar um STR.

– 13 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Algumas considerações

• Os processos podem executar com diferentes velocidades.

• Isso pode ser resolvido implementando trocas de informações por meio de “buffers” compartilhados e uso de exclusão mútua para controlar o acesso ao buffer.

– 14 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Modelagem de STR • A resposta aos estímulos muitas vezes

dependem do estado do sistema – uso de diagramas de estado

• UML: statecharts

• Um modelo de estado considera que em qualquer momento o sistema está em um dos vários estados possíveis. Os estímulos causam a transição para outros estados. – Exemplo: uma bomba de gasolina automática

– 15 –

Page 5: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Modelagem de STR

– 16 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Sist. Operacional de Tempo Real

• Responsáveis pelo gerenciamento do processo e pela alocação de recursos (processador e memória).

• Muitos sistemas embutidos funcionam com um SOTR

• Os SOTR podem ser muito simples ou grandes e complexos.

• Em geral possuem: relógio de tempo real, tratador de interrupções, alocador (scheduler) gerenciador de recurso e despachador

– 17 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Exemplo: sistema de alarme contra roubos para edifícios comerciais • Sensores de movimento em salas (200)

• Sensores em janelas (50)

• Sensores de porta (30)

• Chama um telefone da polícia e sintetiza voz para indicar onde foi ativado o alarme

• liga alarme sonoro

• Acende luzes ao redor do sensor ativado

• Tem back-up de energia e monitora a queda de energia, mudando para a conjunto de baterias.

– 18 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Estímulos

• Há duas categorias: Falha de energia e alarme de intrusos

• Lista de estímulos-respostas – Interrupção por falha de energia (50ms)

– Alarme de porta (2/s)

– Alarme de janela (2/s)

– Detector de movimentos (2/s)

– Alarme sonoro (após 0.5s)

– Interruptor de luzes (após 0.5s)

– Comunicação (após 2s)

– Sintetizar voz (após 4s)

– 19 –

Page 6: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Estímulos

– 20 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Metodologia de Projeto

• Principais diferenças entre o projeto de S.E. e projeto de aplicações para desktops– Requisitos não-funcionais são fundamentais: preço, tamanho, peso,

potência,...– Flexibilidade: plataforma não definida, vários tipos de S.O., controle total

da máquina.– Grande preocupação com previsibilidade no uso de recursos– Sistema muito restrito: eficiência no uso de recursos é fundamental

– 21 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Exemplo

• Projeto de um controle remoto de televisão (infra-vermelho)– Controle simples com 3 botões:

• Liga/desliga

• Seleção de canais

– Opera com bateria

– Deve ser leve

– Controla a televisão por infravermelho

– Protocolo de comunicação com a televisão• Proprietário

• Uso de ROM fornecida pelo cliente

– Satisfazer as especificações temporais fornecidas pelo cliente:• Código de assinatura

• Comando

– 22 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Exemplo: Definição do Hw e Sw

• Processador:– Microcontrolador de 8 bits

• Sistema Operacional:– Não há necessidade

• Linguagem de programação: – C

• Bibliotecas de software:– Nenhuma

• Componentes de Hardware:– Botões– LED infravermelho

– 23 –

Page 7: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

• Como o sistema vai satisfazer requerimentos do usuário dadas as restrições de projeto– Revisar a análise– Especificar componentes de hardware– Definir Interface de hardware– Especificar subsistemas de software– Definir interfaces de software– Especificar processos de início e final– Especificar tratamento de erros– Verificar resultados da etapa de design

Requisitos do cliente

– 24 – Prof. Luiz Alberto -

Hardware

Algoritmo

Layout

Program Convolution

SEQ i=0 FOR 2

PAR

IF (x[i]>= 0 c:= x[i],

x[i]<0 c:= x[i]/2)

IF (x[i+1]>= 0 d:= x[i+1],

x[i+1]<0 d:= x[i+1]/2)

PAR j=0 FOR 4

e[j]:= x[f(i,j)]

PAR

w := k*e[i]

PAR j= 0 FOR 4

y[j] := y[j] + e[j]*(c+d)

Características

- alto desempenho- pequeno tamanho- alto custo- pouco flexível

Hardware

Alternativas de implementação

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Program Convolution

SEQ i=0 FOR 2

PAR

IF (x[i]>= 0 c:= x[i],

x[i]<0 c:= x[i]/2)

IF (x[i+1]>= 0 d:= x[i+1],

x[i+1]<0 d:= x[i+1]/2)

PAR j=0 FOR 4

e[j]:= x[f(i,j)]

PAR

w := k*e[i]

PAR j= 0 FOR 4

y[j] := y[j] + e[j]*(c+d)

SW

HW

HW

Microprocessador

Circuitos

específicos

Hardware/Software

Alternativas de implementação

– 26 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Linguagens Empregadas

• Segundo uma pesquisa

– 49% assembly– 33% C– 5% Basic– 3% Pascal– 9% outras linguagens

• A previsibilidade no uso de recursos e tempo de execução é fundamental para sistemas críticos

– 27 –

Page 8: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Linguagens orientadas a objetos

• Linguagens orientadas a objeto– ciclo de desenvolvimento mais rápido

– melhores métodos de estruturação e modularização

– reutilização de objetos

– Java, não há um modelo definido para o escalonamento das threads. Inviabiliza tempo real

– 28 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

• C e Assembly– Excelente controle do hardware e do tempo de execução

– Alta performance

– Dificuldades no desenvolvimento

– Assembly:

• Difícil modularização e reutilização

Linguagens imperativas

– 29 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Sistemas Embarcados

• Desafios– Confiabilidade

– Robustez

– Performance

– Complexidade do sistema

– Gerenciamento de requisitos

– Otimização

– Gerenciamento de projetos global

– Verificação e ferramentas

– 30 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

O futuro dos sistemas embarcados - Automóveis

• Os carros hoje têm:– freios ABS (Anti-Break System),

– ignição eletrônica,

– injeção eletrônica,

– suspensão ativa,

– computador de bordo,

– painel digital (com conta-giros, velocímetro, marcador de combustível, etc),

– aparelho de som digital,

– ar-condicionado inteligente (que desliga se o motor for requisitado para umaultrapassagem, por exemplo),

– controle de tração,

– air-bag,

– alarme contra roubo,

– entre outros, e todos estes equipamentos são computadorizados.

– 31 –

Page 9: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

O futuro dos sistemas embarcados - Automóveis

• Além disso, estuda-se o uso de carros autônomoscapazes de se auto-guiar, os quais aliados arodovias inteligentes que trocam informações entreos diversos carros, ajuda-os a controlar a distânciaentre eles e a velocidade, de modo a que secomportem efetivamente como um trem

– 32 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Conclusões

• Falhas em software embarcado são mais graves

• Mais software, mais sistemas, mais falhas

• Diversos desafios• Qualidade

• Escolha de métodos baseada no contexto• Riscos

• Oportunidades de pesquisa!

– 33 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Conclusões

• Sistemas de tempo real estão ligados a monitoramento e controle

• O tempo é fator crítico – Hard e soft real time

• Software envolvido neste sistema necessita características específicas – Ex: SO com suporte a multitarefa é necessário

• Projeto de Sistemas de Tempo real – Devem levar em conta as restrições de tempo

– Padrões Arquiteturais

– 34 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Exercício

1. Usando exemplos, explique por que, geralmente, os sistemas de tempo real precisam ser implementados usando processos concorrentes.

2. O que diferencia o projeto de Sistema Embarcados do projeto de aplicativos para computadores?

3. Mencione pelo menos 5 restrições de projeto comuns em Sistema Embarcados?

4. Quais as vantagens e desvantagens de usar Software e/ou Hardware para implementar um Sistema Embarcados?

5. O que vem mudando na forma de projetar Sistema Embarcados ao longo do tempo?

– 35 –

Page 10: Sistemas Embarcados Qualidade de • São sistemas …professorluizalberto.com.br/site/images/2020-2/Aula_QS... · 2020. 8. 24. · • SOMMERVILLE, Ian. Engenharia de Software -Ed

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Referência

• SOMMERVILLE, Ian. Engenharia de Software -Ed. Prentice Hall, 2019. 10ª Edição– Capitulo 21 – Engenharia de

Software de Tempo Real

– 36 – Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Referência

– 37 –

Prof. Luiz Alberto -Aula - QS - Sistemas Embarcados

Atividade em Equipe

• Objetivo: desenvolver um projeto de um sistema embarcado para permitir a compra de lojas em um shopping sem vendedores e caixa.

• Trabalho em dupla e deve ser apresentado na próxima aula

• Especificar:– Tipo de Sistema

– Principais requisitos de Software e Hardware

– Definição dos profissionais envolvidos

– Técnicas para garantir a qualidade

– Medidas de avaliação da Qualidade

– Prazo e custo estimado

– Definir como será garantido a disponibilidade, confiabilidade, proteção e segurança do sistema (escolher duas mais importantes)

• Apresentação: considerar que existem um grupo de investidores e vocês tentarão convencê-los a comprar o projeto

– 38 –