O Sistema de Tempo Real
Por: Afonso Carvalho • 25/9/2018 • Seminário • 1.011 Palavras (5 Páginas) • 339 Visualizações
Sistemas em tempo real
(primeiro arquivo de slide)
Sistemas de Tempo Real, o que é?
São sistemas que respondem a estímulos do meio externo com determinado tempo mínimo estipulado de acordo com a aplicação.
Sistemas reativos: respondem a sinais do seu ambiente
Sistemas embarcados: sistema que está embutido a um sistema maior (computador)
APLICAÇÕES:
· Sistema de controle de veículos, metrôs, aeronaves e ferrovias e navios;
· Controle de tráfego para auto estradas, para espaço aéreo, navegação etc;
· Controle de processos para usina de energia, indústria;
· Sistemas médicos para radioterapias, monitoramento de pacientes e desfibramento;
· Jogos de computadores
· Comunicação de satélite, telefone rádio;
· Uso militar diversos.
SOFTWARE EM TEMPO REAL X SOFTWARE CONVENCIONAL
Restrições temporais: além de reproduzir a saída correta, deve ser também no tempo correto;
Concorrência: os sistemas devem lidar com a concorrência física inerente ao mundo externo em que está conectado
Confiabilidade: é a probabilidade de que o sistema executará corretamente uma tarefa em um período de tempo esperado;
Tolerância a falhas: tratar falhas com o menor custo possível através de técnicas para incrementar a confiabilidade e responder de maneira apropriada
Criticalidade: Quanto maior o custo mais crítico é o sistema
Stand-alone: Todo software que é adaptado a uma aplicação isolada
- As interfaces precisam ser projetadas cuidadosamente para evitar erros dos usuários.
- Testar o sistema em um ambiente separado do real (em produção)
Sistemas estritos (rigorosos): deve satisfazer todas restrições, senão o sistema falha
Sistemas tolerantes (não-estritos): pode possuir restrições, mas mesmo assim são considerados bem-sucedidos.
RESTRIÇÕES TEMPORAIS DETERMINISTAS
São restrições que possuem um prazos dentro de um limite.
Ex: rastrear cada avião no espaço, a cada 10 segundos
Hardware para aplicações de tempo real
- Processadores, dispositivos de entrada e saída, controladores, memórias, cache, etc.
- Seu comportamento deve ser previsível, tal que projetistas possam predizer o comportamento das aplicações
- Deve ser confiante e tolerante a falhas
- é freqüentemente necessário que componentes de sistema operam a altas velocidades
Questões de Engenharia de Software
- Preocupa-se com a construção do software
- construído de forma a reduzir custos, visando sempre o melhor para software
Estágios do ciclo de vida do Software
- Requisitos
- Projeto
- Implementação
- Teste
- Manutenção
Elicitação de requisitos: o que o software deve fazer.
Projeto: como o software deve atingir seus requisitos.
Implementação: envolve a construção real, isto é, a programação da aplicação.
Teste: uma tentativa é feita para assegurar experimentalmente, por depuração, a “corretude” do software.
Manutenção: alterações inevitáveis – remoções, adições e modificações devidas a condições mutantes – têm que ser realizadas.
Relação entre as fases de Requisitos (R), Projeto (D) e implementação (I): A implementação I deve satisfazer(C) o projeto D e o projeto D deve satisfazer(C) os requisitos R.
I C D C R
(segundo arquivo de slide)
Arquiteturas de Software
Descrição arquitetônica do sistema, especifica estrutura e o estilo dos elementos, abrangem também os tipos possíveis de componentes de software e como eles interagem entre si.
Processos e Modelos de sistemas baseados em estado: O sistema muda de estado devido a eventos que alteram os valores, entre as variáveis de estado, essa mudança é chamada transição de estado.
Os eventos causadores da mudança de estado, podem ocorrer através da interface com o ambiente, ou por eventos internos.
O modelo mais comum para software em sistema de tempo real é o de processo padrão.
O software que implementa estados, modos e transição é composto por um conjunto de processos interativos.
O processo é o objeto ativo de um sistema e é a unidade lógica de trabalho escalonada pelo S.O, tendo um estado, representado por um descritor de dados ou bloco de processo (BCP).
...