Sunteți pe pagina 1din 23

Sistemas de Tempo-Real

Notas de curso realizado em Agosto de 2006 na


Universidade Federal do Rio Grande do Norte, Natal, Brasil

Francisco Vasques
Faculdade de Engenharia da
Universidade do Porto
1. Introduo aos Sistemas de Tempo-Real http://www.fe.up.pt/~vasques

Plano das Aulas

Introduo aos Sistemas de Tempo-Real


Motivao para o estudo de STR

Definies

Concepes Erradas

Classificao

Pontos Chave para a Concepo de STR

Desafios de Investigao

Escalonamento de Tempo-Real

Protocolos de Comunicao de Tempo-Real

Sistemas de Tempo-Real: Introduo 2

Page 1
1
Motivao para o estudo de STR

Sistemas de Tempo-Real (STR)


Sistemas caracterizados por estarem sujeitos a requisitos associados passagem do
tempo.

mbito dos STR


... desde controladores de pequenos electrodomsticos, at sistemas de controlo de
trfego areo ou ferrovirio...

... desde controladores robticos at aplicaes de vdeo-conferncia...

Assero fundamental
A utilizao de sistemas computacionais para o controlo de actividades com requisitos
temporais, requer a seleco / utilizao de metodologias adequadas para o seu
correcto desenvolvimento.

Sistemas de Tempo-Real: Introduo 3

Motivao para o estudo de STR

Prticas correntes em STR (insuficientes)


Considerar como suficiente a utilizao de um Sistema Operativo de Tempo-Real,
que suporte interrupes, concorrncia e mecanismos de temporizao com a
granularidade adequada;

Determinar o nvel de prioridades de tarefas a partir da sua importncia relativa (em


termos de funcionalidade), ignorando as restries temporais associadas sua
computao
Este um dos principais problemas associados s prticas correntes na
concepo de Sistemas de Tempo-Real.

Sistemas de Tempo-Real: Introduo 4

Page 2
2
Motivao para o estudo de STR

Prticas correntes em STR (insuficientes)


Caso no seja utilizado um Sistema Operativo de Tempo-Real, a utilizao de
linguagens de baixo nvel para efectuar temporizaes particulares aumenta a
complexidade global da aplicao e dificulta a integrao dos seus diferentes
componentes.

Consequncia
A utilizao de metodologias e ferramentas convencionais para o desenvolvimento de
sistemas de tempo-real pode ter como consequncia comportamento temporalmente
imprevisvel das aplicaes desenvolvidas, no oferecendo uma adequada garantia de
correcto funcionamento.

Sistemas de Tempo-Real: Introduo 5

Motivao para o estudo de STR

reas de aplicao dos STR:


Diferentes nveis de requisitos em termos de disponibilidade, fiabilidade,
manutenibilidade, segurana e/ou integridade de dados

Telecomunicaes/Comunicaes de dados: Comutao telefnica; Vdeo-conferncia;


CSCW; Aplicaes Multimdia;

Aeroespacial: Avinica; Satlites;

Drive-By-Wire: Controlo de motor, ABS, segurana, conforto, etc.

Defesa: Controlo de msseis; Radar; Sonar;

Automao Industrial: Controlo de processos / manufactura;

Sector Financeiro: Transaces em bolsa; Sistemas bancrios on-line;

Transportes: Sinalizao ferroviria;

Sistemas de Tempo-Real: Introduo 6

Page 3
3
Plano das Aulas

Introduo aos Sistemas de Tempo-Real


Motivao para o estudo de STR

Definies

Concepes Erradas

Classificao

Pontos Chave para a Concepo de STR

Desafios de Investigao

Sistemas de Tempo-Real: Introduo 7

Definies
de Instrumentao

Homem-Mquina
Interface

Interface

Objecto Sistema
Controlado Computacional Operador

Sistema de Tempo-Real
Um Sistema de Tempo-Real um sistema computacional reactivo, i.e., que reage a
estmulos externos (incluindo passagem do tempo) em intervalos de tempo impostos
pelo seu ambiente (operador e objecto controlado);

Um Sistema de Tempo-Real pode ser caracterizado por ter, em geral, um


funcionamento contnuo que lhe permite reagir a estmulos externos.

Sistemas de Tempo-Real: Introduo 8

Page 4
4
Definies

de Instrumentao

Homem-Mquina
Interface

Interface
Objecto Sistema
Controlado Computacional Operador

Sistema de Tempo-Real
A correco de um sistema de tempo-real depende no s do resultado lgico das
computaes efectuadas, mas tambm do instante de tempo em que os resultados so
produzidos [Stankovic, 1988].

Um Sistema de Tempo-Real no um sistema rpido, mas sim um sistema previsvel.

Sistemas de Tempo-Real: Introduo 9

Definies
de Instrumentao

Homem-Mquina
Interface

Interface

Objecto Sistema
Controlado Computacional Operador

Sistemas genricos vs. Sistemas de Tempo-Real


Executar uma determinada tarefa no menor intervalo de tempo possvel
objectivo de um general purpose system

vs.

Nunca ultrapassar o intervalo de tempo pr-determinado para executar uma


determinada tarefa
objectivo de um STR (a consequncia da perda de uma meta temporal pode ser
drstica)

Sistemas de Tempo-Real: Introduo 10

Page 5
5
Definies

de Instrumentao

Homem-Mquina
Interface

Interface
Objecto Sistema
Controlado Computacional Operador

Sistemas Embebido (Embedded System)


um sistema no qual a parte fsica e a parte computacional esto fortemente
integradas, interagindo atravs de sensores e actuadores para desempenhar uma
funo especfica;
Um Sistema Embebido tambm um sistema computacional reactivo, i.e., que reage a
estmulos externos em intervalos de tempo impostos pelo seu ambiente;
Exemplos:
Pacemaker e desfribilhador;
Leitor de cartes inteligentes;
Receptor GPS.
Sistemas de Tempo-Real: Introduo 11

Definies
de Instrumentao

Homem-Mquina
Interface

Interface

Objecto Sistema
Controlado Computacional Operador

Sistemas Embebido (Embedded System)


Um sistema embebido (quase) sempre um sistema de tempo-real;
Contra exemplo: Um PDA que suporte uma aplicao ldica.
Nem todos os sistemas de tempo-real so sistemas embebidos:
Sistemas de controlo de trfego areo;
Sistemas de negociao bolsista.

Sistemas de Tempo-Real: Introduo 12

Page 6
6
Definies

de Instrumentao

Homem-Mquina
Interface

Interface
Objecto Sistema
Controlado Computacional Operador

Parmetros Temporais
Os requisitos temporais de um sistema de tempo-real so impostos pelo seu ambiente,
assim como a execuo das suas aplicaes tambm frequentemente controlada
pelo ambiente:
impossibilidade do sistema computacional controlar a cadncia e/ou a durao
dos estmulos provenientes do seu ambiente;
tempos de resposta requeridos ao sistema computacional serem impostos pelo
ambiente.

Sistemas de Tempo-Real: Introduo 13

Definies
de Instrumentao

Homem-Mquina
Interface

Interface

Objecto Sistema
Controlado Computacional Operador

Parmetros Temporais
Exemplo de requisitos temporais impostos pelo ambiente de um sistema de tempo-real:
Meta temporal para finalizao de uma tarefa (melhor caso e pior caso)

E
E S S
F min
max

A ultrapassagem de uma meta temporal (deadline) corresponde a uma avaria


temporal (quando o servio prestado no est em conformidade com a especificao).

Sistemas de Tempo-Real: Introduo 14

Page 7
7
Definies

de Instrumentao

Homem-Mquina
Interface

Interface
Objecto Sistema
Controlado Computacional Operador

Parmetros Temporais
Exemplo de requisitos temporais impostos pelo ambiente de um sistema de tempo-real:
Sincronizao entre instantes de produo de resultados:
Ex. Sincronizao Som Imagem
S1
S1 S2
E
F S2
max

Sistemas de Tempo-Real: Introduo 15

Definies
de Instrumentao

Homem-Mquina
Interface

Interface

Objecto Sistema
Controlado Computacional Operador

Parmetros Temporais
Exemplo de requisitos temporais impostos pelo ambiente de um sistema de tempo-real:
Cadncia de produo:
Ex. Regularidade de apresentao de imagens num vdeo

E S S
F min
max

Sistemas de Tempo-Real: Introduo 16

Page 8
8
Definies

de Instrumentao

Homem-Mquina
Interface

Interface
Objecto Sistema
Controlado Computacional Operador

Parmetros Temporais
Tempo de Resposta: Intervalo entre o instante em que uma ou mais entradas
modificam o seu valor e o instante em que o sistema computacional reage a essas
modificaes, atravs de uma modificao do valor das suas sadas.

Sistemas de Tempo-Real: Introduo 17

Definies

Parmetros Temporais
Tempo de Resposta

1s

100 ms
Sistemas
de
10 ms Automao
Controladores Industrial
1 ms robticos
Controlo
100 s Sistemas Telemetria
de redes
de voz e
de udio Simulao
10 s
de voo
1 s

Complexidade das
aplicaes

Sistemas de Tempo-Real: Introduo 18

Page 9
9
Plano das Aulas

Introduo aos Sistemas de Tempo-Real


Motivao para o estudo de STR

Definies

Concepes Erradas

Classificao

Pontos Chave para a Concepo de STR

Desafios de Investigao

Sistemas de Tempo-Real: Introduo 19

Concepes Erradas sobre STR

Tempo-real significa execuo rpida (errado!)


It does not matter so much whether wrong scheduling decisions or, at best poor
scheduling decisions, are made quickly or not, G. Le Lann (1990)

Os requisitos temporais podem ser crticos e no ser curtos (ex. controlo de


temperatura de uma caldeira).

Caso um processador no preencha os requisitos de um STR, ento bastar


utilizar um processador mais rpido (errado!)
A potncia de clculo uma condio necessria mas no suficiente para a garantia
dos requisitos temporais (conforme se ver ao longo desta disciplina).

Sistemas de Tempo-Real: Introduo 20

Page 10
10
Concepes Erradas sobre STR

No necessria fundamentao cientfica para a concepo /


desenvolvimento de Sistemas de Tempo-Real (errado!)
Poderia ser verdade h 25 anos (!), mas quanto maior a complexidade dos sistemas,
maior a necessidade de uma forte fundamentao terica para a sua concepo /
desenvolvimento;
Escalonamento de tempo-real; verificao formal; etc.

Sistemas de Tempo-Real: Introduo 21

Concepes Erradas sobre STR

O ambiente de um STR tipicamente esttico (errado!)


Existe um cada vez maior nmero de aplicaes de tempo-real com ambientes
dinmicos...

A utilizao de um computador para suporte de um STR implica a


programao de device drivers (errado!)
Existem j linguagens de alto nvel que integram gesto de polticas de
escalonamento, como por exemplo Ada05;

Existem Sistemas Operativos de Tempo-Real que...

Sistemas de Tempo-Real: Introduo 22

Page 11
11
Concepes Erradas sobre STR

No vale a pena discutir como garantir o desempenho de tempo-real de um


sistema devido s imperfeies do:
software (que sempre ter bugs);
hardware (que sempre ter falhas)
ambiente de operao (para o qual nunca se conhecero a priori as reais
condies de operao)

(errado!) conforme se ver ao longo da disciplina!

Sistemas de Tempo-Real: Introduo 23

Plano das Aulas

Introduo aos Sistemas de Tempo-Real


Motivao para o estudo de STR

Definies

Concepes Erradas

Classificao

Pontos Chave para a Concepo de STR

Desafios de Investigao

Sistemas de Tempo-Real: Introduo 24

Page 12
12
Classificao dos Sistemas de Tempo-Real

Sistema Avaria- Sistemas de


Seguro (Fail-Safe) Sinalizao
STR crticos Ferroviria
(hard-RT)
Sistema Sistemas
Avaria-Operacional de Controlo
(Fail-Operational) de Voo
Sistemas de
Tempo-Real
Sistema com Sistemas de
Elevada Comutao
Disponibilidade Telefnica
STR no crticos
(soft-RT) Sistema com Sistemas
Elevada Bancrios
Integridade On-Line

Sistemas de Tempo-Real: Introduo 25

Classificao dos Sistemas de Tempo-Real

Sistema Crtico vs. Sistema No-Crtico


Considera-se um STR como sendo crtico caso o no cumprimento de uma meta
temporal (deadline) tenha consequncias graves para a utilidade do sistema (prejuzo
causado vrias ordens de grandeza superior ao benefcio decorrente da sua correcta
execuo);
Necessidade de obteno de garantias em fase de concepo;

Utilidade

r d t

Sistemas de Tempo-Real: Introduo 26

Page 13
13
Classificao dos Sistemas de Tempo-Real

Sistema Crtico vs. Sistema No-Crtico


Considera-se um STR como sendo no-crtico caso esse no cumprimento de metas
temporais tenha unicamente consequncias ligeiras para a utilidade do sistema;

Enquanto que num sistema crtico as metas temporais so de cumprimento


obrigatrio, num sistema no-crtico as metas temporais descrevem o comportamento
temporal desejado para o sistema (por exemplo numa aplicao de vdeo-conferncia)

Utilidade

r d t

Sistemas de Tempo-Real: Introduo 27

Classificao dos Sistemas de Tempo-Real

Num Sistema de Tempo-Real no-crtico so aceitveis as seguintes


ocorrncias:
uma meta temporal (deadline) ocasionalmente ultrapassada (estando definido o
nmero mximo de ultrapassagens por intervalo de tempo);
a prestao de um servio pode estar ocasionalmente atrasada (estando definido
o atraso mximo aceitvel).

As aplicaes interactivas podem ser consideradas, na generalidade dos casos,


aplicaes no-crticas em termos temporais.
apesar de tipicamente serem apresentadas como exemplo de aplicaes de
tempo-real!

Sistemas de Tempo-Real: Introduo 28

Page 14
14
Classificao dos Sistemas de Tempo-Real

Sistema Avaria- Sistemas de


Seguro (Fail-Safe) Sinalizao
STR crticos Ferroviria
(hard-RT)
Sistema Sistemas
Avaria-Operacional de Controlo
(Fail-Operational) de Voo
Sistemas de
Tempo-Real
Sistema com Sistemas de
Elevada Comutao
Disponibilidade Telefnica
STR no crticos
(soft-RT) Sistema com Sistemas
Elevada Bancrios
Integridade On-Line

Sistemas de Tempo-Real: Introduo 29

Classificao dos Sistemas de Tempo-Real

Sistema Avaria-Seguro vs. Sistema Avaria-Operacional


Caso existam um ou mais estados seguros de funcionamento do objecto controlado,
em caso de avaria o sistema computacional deve evoluir para um desses estados
(Fail-Safe);

Caso no existam estados seguros de funcionamento, o sistema deve manter um nvel


mnimo de funcionalidade com segurana (Fail-Operational System);

Nota: um estado seguro de funcionamento funo do objecto controlado e no do


sistema computacional.

Sistemas de Tempo-Real: Introduo 30

Page 15
15
Classificao dos Sistemas de Tempo-Real

Sistema Avaria- Sistemas de


Seguro (Fail-Safe) Sinalizao
STR crticos Ferroviria
(hard-RT)
Sistema Sistemas
Avaria-Operacional de Controlo
(Fail-Operational) de Voo
Sistemas de
Tempo-Real
Sistema com Sistemas de
Elevada Comutao
Disponibilidade Telefnica
STR no crticos
(soft-RT) Sistema com Sistemas
Elevada Bancrios
Integridade On-Line

Sistemas de Tempo-Real: Introduo 31

Classificao dos Sistemas de Tempo-Real

Sistemas de Tempo-Real No-Crticos


Os STR no crticos podem ser classificados em funo de parmetros que influenciem
decisivamente a utilidade do sistema (parmetros que, em caso de incumprimento,
provocam um prejuzo vrias ordens de grandeza superior ao benefcio decorrente da
correcta execuo do STR). Por exemplo:
Elevada disponibilidade de servio, no caso de um sistema de comutao
telefnica;
Elevada integridade na manipulao de dados, no caso de um sistema bancrio
interactivo.

Sistemas de Tempo-Real: Introduo 32

Page 16
16
Classificao dos Sistemas de Tempo-Real

Classificao Ortogonal:
Sistemas de Resposta Garantida vs. Sistemas de Melhor Esforo
Considera-se um sistema como sendo de Resposta Garantida (Guaranteed
Response) caso a sua concepo seja baseada na adequabilidade de recursos, ou
seja, na garantia da existncia de recursos computacionais suficientes para suportar os
cenrios mximos de carga e de falhas;

Sistema determinstico, no que diz respeito previsibilidade temporal;

A probabilidade de avaria de um sistema de resposta garantida igual no


cobertura dos pressupostos (ou seja, igual probabilidade de os pressupostos de
carga e de falhas no estarem correctos).

Sistemas de Tempo-Real: Introduo 33

Classificao dos Sistemas de Tempo-Real

Classificao Ortogonal:
Sistemas de Resposta Garantida vs. Sistemas de Melhor Esforo
Considera-se um sistema como sendo de Melhor Esforo caso a sua concepo seja
baseada em estratgias de alocao dinmica de recursos, combinadas com
argumentos probabilsticos acerca da simultaneidade na ocorrncia de cenrios
mximos de carga e/ou de de falhas;

Sistema probabilstico no que diz respeito previsibilidade temporal .

Sistemas de Tempo-Real: Introduo 34

Page 17
17
Classificao dos Sistemas de Tempo-Real

Vantagens / Desvantagens de um Sistema de Resposta Garantida


O cumprimento das metas temporais garantido na fase de concepo, no havendo
a necessidade de sobrecarregar o processamento on-line com o clculo de testes de
escalonabilidade;

Vantajoso para aplicaes de elevada criticidade, devido ao determinismo inerente;

Requer na fase de concepo um conhecimento exacto dos pressupostos de carga e


de falhas, o que poder ser de difcil exequibilidade;

Implica uma alocao de recursos para o pior caso (carga mxima), gerando uma
grande sub-utilizao de recursos computacionais;

Sistemas de Tempo-Real: Introduo 35

Plano das Aulas

Introduo aos Sistemas de Tempo-Real


Motivao para o estudo de STR

Definies

Concepes Erradas

Classificao

Pontos Chave para a Concepo de STR

Desafios de Investigao

Sistemas de Tempo-Real: Introduo 36

Page 18
18
Pontos chave para a concepo de aplicaes

Determinismo de execuo: Previsibilidade


Devero ser conhecidos todos os clculos efectuados para a determinao da carga
imposta sobre o sistema computacional (aplicao e sistema operativo);

Devero ser conhecidos os tempos de execuo das aplicaes suportadas (no pior
caso, e de uma forma no subestimada)
S ser possvel caso o hardware utilizado tenha tempos de execuo
previsveis.

Sistemas de Tempo-Real: Introduo 37

Pontos chave para a concepo de aplicaes

Determinismo de execuo: Previsibilidade


A correcta seleco da ordem de execuo das tarefas/funes uma das funes
mais relevantes num STR:
Esta seleco dever ser efectuada atravs da utilizao de algoritmos de
escalonamento adequados, para os quais existam provas matemticas da sua
correcta execuo.

Dever ser obtida uma prova de correcto funcionamento do STR (garantia dos
requisitos temporais) em tempo de concepo, a partir dos pressupostos de carga e de
falhas.
A utilizao de actividades de teste no suficiente, pois estas no garantem a
verificao em casos extremos de funcionamento.

Sistemas de Tempo-Real: Introduo 38

Page 19
19
Pontos chave para a concepo de aplicaes

Limite previsibilidade de um STR


Na fase de concepo de um STR, a sua previsibilidade depende de um conjunto de
pressupostos relativos ao ambiente:
Pressupostos de Carga: definio da carga mxima do sistema computacional,
atravs da especificao da taxa mxima de transaces entre o sistema
computacional e o ambiente;
Pressupostos de Falhas: definio do tipo e frequncia de falhas que o sistema
deve suportar (tolerar);

fundamental que os pressupostos relativos ao ambiente estejam de acordo com a


realidade de funcionamento (Cobertura de Pressupostos).

Sistemas de Tempo-Real: Introduo 39

Plano das Aulas

Introduo aos Sistemas de Tempo-Real


Motivao para o estudo de STR

Definies

Concepes Erradas

Classificao

Pontos Chave para a Concepo de STR

Desafios de Investigao

Sistemas de Tempo-Real: Introduo 40

Page 20
20
Desafios de Investigao

reas de Investigao em STR:


Especificao e Verificao Formal
Incorporao da varivel tempo na especificao/verificao de sistemas;
Investigao na rea de fronteira entre os sistemas sncronos e os sistemas
assncronos;
Necessria anlise quantitativa (perda de metas temporais, taxas de avarias, etc.)
e no s qualitativa (a que tradicionalmente efectuada na rea da verificao);
Necessrias metodologias eficazes para a resoluo do problema de exploso de
estados.

Anlise de Desempenho
Baseada unicamente em simulao e teste. Necessria anlise formal para
sistemas dinmicos e ambientes imprevisveis.

Sistemas de Tempo-Real: Introduo 41

Desafios de Investigao

reas de Investigao em STR:


Sistemas Operativos de Tempo-Real
Problema da multiplicidade (e opacidade) de opes:
Para sistemas crticos: VxWorks;
Para sistemas no-crticos: Windows CE;
Muitos outros para diferentes domnios de aplicao.

Linguagens de Programao de Tempo-Real


Suporte gesto do tempo;
Suporte anlise de escalonabilidade;
Suporte modularidade e re-utilizao de software;
Suporte para programao distribuda;
Suporte para tolerncia a falhas.

Sistemas de Tempo-Real: Introduo 42

Page 21
21
Desafios de Investigao

reas de Investigao em STR:


Engenharia de Software
Tradicionalmente, s os aspectos funcionais so endereados;
Necessrio tambm considerar:
Tempo, Confiana no Funcionamento, QoS
Evolutibilidade;
Modularidade;
Adaptatibilidade e configurabilidade.

Sistemas de Tempo-Real: Introduo 43

Desafios de Investigao

reas de Investigao em STR:


Bases de Dados Distribudas de Tempo-Real
Necessidade de relaxamento de critrios de serializao global;
Controlo de concorrncia de tempo-real.

Tolerncia a Falhas
O tratamento de erros/falhas deve considerar as restries temporais das
aplicaes.

Teoria de Escalonamento de Tempo-Real


Tema j bem estudado!

Arquitectura de Computadores para Sistemas de Tempo-Real


Sistemas cada vez mais distribudos;
Arquitecturas tolerantes a falhas.

Sistemas de Tempo-Real: Introduo 44

Page 22
22
Desafios de Investigao

reas de Investigao em STR:


Sistemas Multimedia de Tempo-Real
Necessria uma especificao de requisitos (previsibilidade) adequada;
Focalizao em aspectos relacionados com a garantia de QoS e o escalonamento
das comunicaes.

Protocolos de Comunicao de Tempo-Real


Escalonamento de comunicaes integrado com o escalonamento de tarefas nos
ns, por forma a fornecer solues de escalonamento global;
Solues para roteamento dinmico de tempo-real;
Comunicaes tolerantes a falhas e seguras.

Sistemas de Tempo-Real: Introduo 45

Page 23
23

S-ar putea să vă placă și