Você está na página 1de 35

Programacao de Sistemas em Tempo Real

BCC 722

Profa : Aline X. Fidencio


Baseado no material do Prof. Eduardo Luz

Sala 19 - ICEB III


Introducao
a
Sistemas de Tempo Real
Introducao
Introducao

Conceitos:
A regiao externa ao sistema e chamada de entorno.

Tudo que passa do entorno do sistema para o sistema, e e


possvel agir sobre, e chamado de entrada.

Tudo que passa do sistema para o entorno e chamado de


sada do sistema.

A tarefa e definida como uma acao capaz de transformar


uma ou mais entradas em uma sada do sistema.

O conjunto de tarefas que o sistema deve desempenhar e


chamado de requisitos funcionais.

Os requisitos funcionais de um sistema sao definidos


durante a especificacao de requisitos
Sistema de Informacao

Informacao: dados que foram transformados


(processados) em uma forma inteligvel e que transmitem
um valor (utilidade) para quem os recebe.

Sistema de Informacao: e um conjunto de componentes


inter-relacionados que coleta, processa, armazena e
distribui informacoes.
Sistema de Computacao

Um Sistema de Computacao pode ser visto como um


subsistema dos Sistemas de Informacao.

Definicao: Conjunto de partes integradas que coordenam


os dispositivos de E/S e memoria para realizacao do
processamento de dados.

Sistema de Computacao: HARDWARE + SOFTWARE


Sistema de Tempo Real

O que sao Sistemas de Tempo Real?

Um sistema e de tempo real quando o tempo em que suas


sadas sao produzidas importa.

A real-time system is any information processing system


which has to respond to externally generated input stimuli
within a finite and specified period.

The correctness depends not only on the logical result but


also the time it was delivered.

Failure to respond is as bad as the wrong response! .


Sistemas de Tempo Real

Exemplos:

Radar

Sistema de Videoconferencia

Sistema de Aquisicao de Dados

Desfibrilador

Airbag

etc
Sistemas de Tempo Real
Exemplos:

Sistema de Controle de Vazao


Sistemas de Tempo Real

Exemplos:
Sistemas de Tempo Real
Exemplos:
Sistemas de Tempo Real
Exemplos:
Caractersticas dos Sistema de Tempo Real
Tempo de resposta - capacidade de prever com confidencia o
tempo de resposta no pior caso para os sistemas; eficiencia e
importante, mas previsao e essencial.

Extrema confiabilidade e seguranca - falha no controle pode


resultar em perda de vidas, danos ao meio ambiente e perda
economica.

Concorrencia - no mundo real, eventos acontecem ao mesmo


tempo. Em STR, deve-se modelar as entidades levando-se em
conta um possvel paralelismo.

Interacao - capacidade de interagir facilmente com o hardware


de proposito especial. Assim, e preciso ser possvel programar
os dispositivos de uma maneira abstrata e confiavel.
Sistema de Tempo Real

Classificacao

Reativos - sao aqueles nos quais o escalonamento e feito


a partir da interacao do sistema com o meio. (um sistema
de disparo reage ao pressionar do botao pelo piloto)

Embutidos - sao aqueles sistemas de propositos


especficos estudados em BCC 425.
Sistema de Tempo Real

Classificacao

Hard real-time - sistemas nos quais e absolutamente


imperativo que as respostas ocorram dentro de prazo de
entrega solicitado (sistema de controle de voo)

Soft real-time - sistemas nos quais os prazos de entrega


sao importantes, mas continuarao funcionando
corretamentese os prazos nao forem atendidos
ocasionalmente (sistema de aquisicao de dados)

Real real-time - sistemas que sao hard real-time e que os


tempos de respostas sao curtos (sistema de guia de mssil)

Firm real-time - sistemas que sao soft real-time mas que


nao existe benefcio de entregas de servico com atraso.
(sistema de controle de navegacao)
Arquitetura Conceitual

Modelo de um Sistema Embutido


Arquitetura Conceitual
Hardware Layer

Processador Embarcado

Memorias (ROM, RAM, etc.)

Dispositivos de I/O:
Rede e comunicacao

Input (teclado, mouse, controle remoto, etc.)

Output (touch screen, LEDs, impressoras, etc.)

Armazenamento (discos, CD, DVD, etc.)

Depuracao (BDM, JTAG, porta serial)

Barramentos (PCI, IDE, USB, etc.)


Arquitetura Conceitual

Hardware Layer

Fonte de Alimentacao
Resistores
Capacitores
Indutores
Transistores
Diodos
Chaves
Reles
Sensores
Arquitetura Conceitual

System Software Layer


Arquitetura Conceitual
O SO e um conjunto de bibliotecas de software com dois
propositos principais em um Sistema Embarcado:
Prover maior nvel de abstracao.
Gerenciar os varios recursos de software e hardware do
sistema, atraves de um kernel (gerenciamento de
processos, memoria e I/O).
Arquitetura Conceitual

Embedded SOs
Arquitetura Conceitual

Application Software Layer


Projeto de Sistemas de Tempo Real

Multi-objetivo Multi-disciplinar
Requisitos de Tempo Eletronica
Seguranca Computacao
Custo Mecanica
Tecnicas de Controle

Ciclo de Vida
Requisitos
Projeto
Implementacao
Manufatura
Logstica
Desafios no Projeto de Sistemas de Tempo Real

Quais as caractersticas de Hardware necessarias?


Sera necessario um Hardware poderoso?

Quais as caractersticas de Software necessarias?

Quais os deadlines e como atende-los?


Hardware ou Software mais eficiente?

Quao crtico e o consumo de energia?


Como minimizar o custo de energia?

Usar bateria ou nao?


Processo de Desenvolvimento de um Produto
Analise de Requisitos

Compreensao do domnio: os analistas de requisitos


devem conhecer a fundo o domnio da aplicacao.

Coleta de requisitos: processo de interacao com o


usuario da aplicacao para descobrir os requisitos
necessarios.

Classificacao de requisitos: organizacao dos requisitos


em grupos coerentes.

Verificacao de requisitos: os requisitos devem ser


constantemente verificados para descobrir se estao
completos.
Projeto

A fase de projeto envolve todo o esforco de concepcao e


modelagem da aplicacao.
Projeto do Hardware
Qual sera utilizado?
Qual processador?
Qual memoria?
Projeto do Software
Qual linguagem de programacao?
Tem interface com o usuario?
Como o Software sera implementado? POO?
Abordagem de Projeto
Top-down: inicia com uma descricao abstrata e vai ate a
descricao mais detalhada.
Bottom-up: inicia dos componentes menores e vai ate o
todo (sistema final)
Implementacao

Hardware
Ferramentas CAD

Kits de prototipacao
Dispositivos programaveis (FPGA)

Elementos de hardware (USB, Ethernet, PCI, LEDs, botoes,


LCD, display de 7 segmentos)
Software
Utilizacao de IDEs

Execucao integrada com o kit de prototipacao


Verificacao & Validacao
Mostrar que o sistema esta de acordo com a especificacao
e que ele atende as expectativas de clientes e usuarios.

A verificacao visa assegurar que o programa esta correto,


isto e, nao possui erros de execucao.

A validacao visa assegurar que o programa esta fazendo


aquilo que foi definido na sua especificacao.

Formas de V&V:
Inspecao analtica e revisao de modelos.
Inspecao de documentos e codigo fonte.
Analise de desempenho.
Analise de confiabilidade.
Analise de robustez.
Analise de usabilidade.
Manutencao

Dura para sempre.


Futuro dos Sistemas de Tempo Real

A cada dia mais presentes no nosso dia-a-dia

A cada dia ganhando mais espaco na academia e na


industria.

Adquirem cada vez mais importancia.

O mercado de embarcados e maior que o de desktops e


deve continuar crescendo exponencialmente.
Futuro dos Sistemas Embutidos

Embutidos vs nao Embutidos


Futuro dos Sistemas de Tempo Real

<http://www.telecomengine.com/article/future-iot-embedded-systems-and-real-time-operating-systems-rtos-0>
Em um futuro proximo...

https://pt.slideshare.net/SrikanthKS2/embedded-systems-the-past-present-and-the-future
FIM

Você também pode gostar