Escolar Documentos
Profissional Documentos
Cultura Documentos
Software II
2021/2
[ Sistemas Embarcados e de Tempo
Real ]
Métodos, técnicas e ferramentas para o desenvolvimento de sistemas de software que foram
aplicados com sucesso no passado não são tão facilmente aplicáveis hoje em dia.
Software executado em redes de dispositivos móveis embarcados apresentam propriedades
que nem sempre são necessárias para sistemas mais tradicionais:
• Desempenho otimizado;
• Robustez;
• Distribuição;
• Dinâmico;
• Mobilidade;
1. Examinaremos as principais propriedades dos sistemas de software no
mundo embarcado, com recursos limitados, móveis e altamente
distribuídos.
Definição do Problema
Especifica o que o software deve fazer.
Determina exatamente o que o cliente e o usuário desejam.
Pode incluir o desenvolvimento de um contrato com o cliente, dependendo do tipo de
produto que está sendo desenvolvido.
Dificuldades incluem: o cliente pedindo o produto errado, o cliente sem conhecimento,
o que limita a eficácia das especificações (ambíguas, inconsistentes e incompletas)
Arquitetura / Design
Arquitetura – preocupada com a seleção de Design – preocupa-se com a modularização e
elementos arquitetônicos, interações e detalhamento de interfaces, algoritmos e
restrições para fornecer uma estrutura que procedimentos, e tipos de dados para suportar a
atenda os requisitos e seja base para o arquitetura e satisfazer os requisitos.
projeto.
O sistema é decomposto em módulos de Desenvolve especificações de módulo (algoritmos,
software com interfaces. tipos de dados), mantém um registro de decisões de
design e rastreabilidade e especifica como o produto
de software deve executar suas tarefas.
Dificuldades incluem a falta de comunicação entre os projetistas de módulos e o desenvolvimento
de um design que pode ser inconsistente, incompleto, ambíguo.
Implementação
Equipe de desenvolvimento implementa módulos e componentes assim como verifica
se eles atendem as especificações.
Módulos são agrupados de acordo com o design.
A implementação especifica como o produto de software realiza suas tarefas.
Dificuldades incluem erros de interação de módulos e a ordem de integração que pode
influenciar a qualidade e a produtividade.
• Desenvolvimento de software para sistemas embarcados → desenvolvimento
baseado em componentes;
• Aplicável a componentes reutilizáveis;
• Componentes adaptáveis e extensíveis a contextos variados;
• Abordagem alterada de
Integração → Implantação para Implantação → Integração;
Existem diferentes formas e modelos de componentes de software:
• Ao contrário dos sistemas desktop projetados para executar uma função geral,
os sistemas embarcados são restritos em sua aplicação.
Que características deve possuir o software do sistema embarcado?
• Executados em ambientes reativos e limitados pelo tempo.
• Em um sistema com uma restrição em tempo real, é inaceitável ter a ação ou resposta
correta após um determinado prazo: o resultado deve ser produzido dentro do prazo ou o
sistema irá degradar ou falhar completamente.
Geralmente, os sistemas em tempo real mantêm uma interação contínua com seu ambiente
[ Tipos de Sistemas de Tempo Real ]
A exatidão do cálculo depende não somente de seus resultados mas também do tempo em
que suas saídas são geradas.
1. A arquitetura é adequada?
2. Os elementos de processamento são poderosos o suficiente?
3. As velocidades de comunicação são adequadas?
4. O sistema de agendamento está disponível?
Recuperação de Falhas
• Capazes de detectar e superar falhas no ambiente.
• Eventos são imprevisíveis, é quase impossível testar todas as possíveis combinações e
sequências.
Exemplos de falhas internas e externas que devem ser detectadas e gerenciadas por sistemas
em tempo real incluem:
• Falhas do processador
• Falhas na placa
• Falhas de link
• Comportamento inválido do ambiente externo
• Falha de conectividade
Diferenças que tornam os sistemas embarcados únicos são:
1. Eficiência energética.
2. Requisitos personalizados de tensão/potência.
3. Segurança.
4. Confiabilidade (funcionar sem falhas por dias, meses e anos).
5. Ambiente (suporte para uma ampla faixa de temperatura, vedados de produtos químicos e
tolerantes à radiação).
6. Interação eficiente com o usuário (menos botões, tela sensível ao toque, etc.).
7. Integrado com design em uma abordagem de co-design HW / SW.
ANA2001 – Análise de Sistemas e de Requisitos
Software II
2021/2