Você está na página 1de 17

Sumrio

Sistemas de Tempo Real: Aplicaes e Tecnologias

Sistemas de Tempo Real:


Aplicaes e Tecnologias

O que tempo real ?


O que um sistema computacional de tempo real ?

Quais as abordagens usadas no desenvolvimento ?

Exemplos de aplicaes

Rmulo Silva de Oliveira


DAS-UFSC

Sistemas crticos e no crticos

I Workshop de Engenharia de Controle e


Automao WECA 2016
Blumenau-SC, 14 de julho de 2016
1

Sumrio

Tempo Real 1/2

Sistemas de Tempo Real: Aplicaes e Tecnologias

O que tempo real ?

O que um sistema computacional de tempo real ?

o tempo do mundo fsico


o tempo do relgio da parede

No tempo simulado

Simulaes meteorolgicas
Vdeogame

Exemplos de aplicaes

Quais as abordagens usadas no desenvolvimento ?


Sistemas crticos e no crticos

No um tempo lgico
O qual fornece uma ordem dissociada do mundo fsico

Tempo Real 2/2

Tempo Real: Relgios Mecnicos 1/3

Como o tempo real medido ?

Relgio o dispositivo que mede a passagem do tempo

Primeiros relgios mecnicos na Europa no sculo XIII


Marcavam apenas as horas
Maioria dos trabalhadores precisava apenas de uma estimativa grosseira das
horas
Visualizar o sol era suficiente para a maioria da populao

Todos os relgios se baseiam em:


Um oscilador mais ou menos estvel
Conectado a um contador de ciclos

Porm, as atividades dos monges Benedetinos seguiam uma rigorosa escala de


horrios (trabalho e orao)
- Cadfael
- O Nome da Rosa

Tempo Real: Relgios Mecnicos 2/3

Tempo Real: Relgios Mecnicos 3/3

Richard of Wallingford (1292-1336)

Abade e matemtico na Abadia de St. Alban (Inglaterra)

Em 1714, o governo Britnico ofereceu um prmio para quem


conseguisse determinar a longitude de um navio no mar
Cerca de US$20M em valores atuais

Uma soluo:

Terra gira 360 em 24 horas


So 15 em 1 hora
Basta um relgio preciso com a hora certa de Londres
John Harrison recebeu o prmio (trabalhou de 1737 a 1773)

Filme Longitude feito para a TV em 2000

Tempo Real: Relgios Astronmicos 1/7

Tempo Real: Relgios Astronmicos 2/7

Como a durao de um dia definida ?


Medio do tempo baseada na rotao da terra

Movimento aparente do Sol no cu


Apropriado para seres biolgicos

O dia solar no constante, varia ao longo do ano


Inclinao do eixo da Terra (vrios movimentos oscilatrios)
Forma elptica da rbita
Atrao gravitacional da Lua
Perturbaes Aleatrias

Sol no ponto aparente mais alto: Trnsito Solar

Trprico de Capricrnio passa em Guarulhos-SP

Pode-se usar o segundo solar mdio de um ano


Dia solar varia +/ 15 minutos em torno do valor mdio anual

Intervalo entre dois trnsitos solares: Dia Solar


1/(24*3600) do Dia Solar: Segundo Solar

10

Tempo Real: Relgios Astronmicos 3/7

UT (Universal Time): Tempo definido em termos da rotao da Terra


em torno do seu eixo, usando o Sol como referncia

UT0

Tempo Real: Relgios Astronmicos 4/7

Tempo solar mdio em Greenwich (Inglaterra)

UT varia

Flutuaes aleatrias (ncleo da Terra)


Terremoto no Japan em 2011 encurtou o dia em 1.8us
Terra gira mais rpido devido redistribuio de massa

Observao tica do transito de estrelas

UT1
UT0 corrigida considerando o movimento polar
Proporcional ao ngulo de rotao da terra, espao como referncia

UT2
Correo emprica para a variao sazonal

Constante desacelerao da rotao da Terra


Devido ao afastamento da Lua

11

12

Tempo Real: Relgios Astronmicos 5/7

Tempo Real: Relgios Astronmicos 6/7

Rotao da terra diminui com o tempo

Variao da durao do dia

400 dias por ano a 300 milhes de anos atrs


Os dias esto ficando mais longos
Dia aumenta em torno de 1,7ms por sculo

13

14

Tempo Real: Relgios Astronmicos 7/7

Tempo Real: Relgios Atmicos 1/5

Qual a incerteza na leitura da UT ?

Em torno de 1ms nos anos 1950


Em torno de 10us atualmente

ET (Ephemeris Time, Efemrides)

Definido em 1950
Baseado no movimento orbital da Terra em torno do Sol
Mais estvel que a rotao da terra em torno de seu eixo
Difcil de medir, criadas ET0, ET1, ET2, etc

Porm, tudo mudou na dcada de 1950


Relgio atmico criado no final da dcada de 1940

Gerador de
microondas
15

Tempo Real: Relgios Atmicos 2/5

tomos possuem frequncias caractersticas


Nuvem de Csio 133 atravessa uma cmara de vcuo
Campo magntico seleciona apenas tomos em um certo estado de
energia
tomos selecionados passam por microondas
Na frequencia exata, tomos mudam estado de energia
Mudana de estado pode ser medida

Oscilao
exata

Csio
133

Sensor de
excitao

Maximiza excitao
16

Tempo Real: Relgios Atmicos 3/5

Relgio atmico de 1955 usando Csio 133


National Physical Laboratory, Reino Unido
Erro menor do que 1 segundo em 300 anos

17

18

Tempo Real: Relgios Atmicos 4/5

Quantos perodos desta oscilao fazem 1 segundo?

Vrios anos gastos para correlacionar a oscilao do gerada pelo


relgio atmico com a hora astronmica

Tempo Real: Relgios Atmicos 5/5

TA(ONRJ), Observatrio Nacional no Rio de Janeiro

Em 1955 com a UT2


Depois com a ET

Definio de segundo atmico: Tempo necessrio para ocorrerem


9.192.631.770 perodos da oscilao obtida do tomo de csio 133

Adotado como unidade fundamental do Sistema Internacional de


Unidades em 1967

Ainda na dcada de 1950 relgios atmicos comerciais


Horas atmicas locais independentes
Necessidade de gerar uma hora atmica mdia
Mdia coordenada pelo Bureau International de lHeure - BIH, Paris-Frana, deu
origem ao TAI em 1972
Mais de 50 laboratrios
Cada laboratrio informa o BIH quantos ticks ocorreram
BIH faz a mdia, produz o International Atomic Time TAI

Em 1988 o BIH foi dissolvido


Definio do TAI passou para o Bureau International des Poids et Mesures

19

20

Tempo Real: UTC 1/4

Tempo Real: UTC 2/4

Problema:
24*3600 segundos do TAI
cerca de 2,5 mS menor que o dia solar mdio

Este relgio atmico corrigido chamado a partir de 1967 de

Erro cumulativo
Quase 1 segundo ao longo de 1 ano

Dia solar mdio est ficando maior


Rotao da terra est ficando mais lenta

Soluo atrasar o TAI de vez enquando para manter a sincronia com


o movimento aparente do sol
Atrasado 1 segundo de cada vez
Sempre as 24:00 de 31 de dezembro (ou 30 de junho)
So os chamados leap seconds

UTC - Universal Time Coordinated

Usando somente o TAI:


Meio-dia do relgio e do sol ficariam diferentes

21

22

Tempo Real: UTC 3/4

Tempo Real: UTC 4/4

Diferena mxima entre UTC e UT1 de 0,950 ms


UTC mantida pelo BIPM
UTC varia conforme a TAI, mas difere por um nmero inteiro de
segundos
Corrige desacelerao da Terra (a qual varia)

Como obter a UTC ?

Receptor GPS

Redes de computadores

At 2015 foram 36 segundos atrasados


ltimo em 30/junho/2015

UTC padro oficial e de fato em todo o planeta

23

24

Tempo Real: UTC via GPS 1/2

GPS - Global Positioning System

Fornece 24 horas por dia, no globo inteiro:

Tempo Real: UTC via GPS 2/2

Sistema de navegao baseado em satlites

GPS1000 Time Receiver World Time Solutions


Preciso de 100 ns da UTC

Posio precisa em 3 dimenses


Tempo preciso, relacionado com o UTC

Receptores para tempo so diferentes dos para navegao


Assumem posio fixa e conhecida
Consideram atrasos na antena, cabo e eletrnica
Enorme variedade de empresas fornecedoras
Diferentes modelos, preos e preciso

25

26

Tempo Real: UTC via Redes de Computadores 1/3

Tempo Real: UTC via Redes de Computadores 2/3

Network Time Protocol (NTP)


Protocolo para Internet, dissemina a hora certa

MC1000 NTP Time Server World Time Solutions


Sincroniza a rede usando protocolos NTP / SNTP

Mais fcil que instalar receptor GPS em todos os computadores


Menos preciso
Baseado em UDP/IP

Existe uma verso simplificada:

Existe uma verso industrial:

Preciso depende de onde est o servidor SNTP consultado

SNTP, Simple Network Time Protocol version 4


PTP, Precision Time Protocol
10ms, 1ms, 1us

27

28

Tempo Real: UTC via Redes de Computadores 3/3

Tempo Real: Relgios em Computadores 1/5

Sincronizao com GPS ou NTP ocorre em intervalos


GPS: a cada segundo
NTP: depende da estabilidade do relgio, > 16 segundos

computador

Como o computador mantem a hora entre ajustes ?


Relgio interno que ajustado de tempos em tempos
Oscilador do relgio interno:
Cristais de quartzo

Receptor
GPS

Rede local

computador

computador

computador
29

30

Tempo Real: Relgios em Computadores 2/5

Cristais de quartzo sob tenso mecnica e eltrica


Oscilam em uma freqncia bem definida
Freqncia depende do tipo de cristal, lapidao e tenso

Relgio em hardware

Tempo Real: Relgios em Computadores 3/5


cristal
Potncia

Conta os ciclos, mantem a hora

Conformao
clock proc.
interrupo
contador
hora&data
31

32

Tempo Real: Relgios em Computadores 4/5

Tempo Real: Relgios em Computadores 5/5

Cristais variam

Na prtica preciso considerar freqncias ligeiramente diferentes

Diferena absoluta entre relgios chamada skew


Diferena nas frequncias chamada drift rate
dC
1r
O drift rate mximo r indica a preciso do timer: 1r
dt
Hora do
computador

x+x.r

Drift rate tpico em torno de 10-5


O quo rpido os relgios se afastam ?
Dois relgios tem a mesma hora
Qual o erro depois de 1 dia ?
skew = 2 10-5 ( 24 60 60 ) = 1,728 segundos

Relgio perfeito

x
x-x.r

t (UTC)
33

34

Resumo

Sumrio

O que o tempo real


Relgios mecnicos
Relgios astronmicos
Relgios atmicos, TAI
UTC (TAI coordenada com UT1)
Como obter UTC via GPS
Como obter UTC via Redes de Computadores
Relgios em computadores

Sistemas de Tempo Real: Aplicaes e Tecnologias

O que tempo real ?

O que um sistema computacional de tempo real ?

Quais as abordagens usadas no desenvolvimento ?

Exemplos de aplicaes
Sistemas crticos e no crticos

35

36

Definio 1/3

Definio 2/3

Sistemas computacionais com requisitos de tempo real:


Submetidos a requisitos de natureza temporal no triviais
Requisitos definidos pelo ambiente fsico
O problema de tempo real (especificao do sistema)
Resultados devem estar corretos lgica e temporalmente

Aspectos temporais
NO esto limitados a uma questo de maior ou menor desempenho
Esto diretamente associados com a funcionalidade
No funciona se no respeitar os requisitos

37

38

Definio 3/3

Exemplos de Aplicaes: Avinica 1/1

Sistemas em geral:

Cockpit dos novos avies da Embraer E175-E2 (2020)

Fazer o trabalho usando o tempo necessrio

Sistemas de tempo real:


Fazer o trabalho usando o tempo disponvel

Em quais mercados podem ser encontrados exemplos de aplicaes


com requisitos de tempo real ?

39

40

Exemplos de Aplicaes: Automotivo 1/1

Exemplos de Aplicaes: Defesa 1/3

Carro moderno possui dezenas de processadores

Injeo eletrnica, freio abs, transmisso automtica, etc

Sala de controle de um navio da marinha


Sonar, Radar, Armamento

41

42

Exemplos de Aplicaes: Defesa 2/3

Exemplos de Aplicaes: Defesa 3/3

Nike Hercules

Mssel terra-ar de dois estgios com combustvel slido


Usado pelos Estados Unidos e OTAN para defesa em mdias e alta altitudes

Nike Hercules
Inicialmente construido em 1959
ltimas unidades na Europa desativadas em 1988

43

44

Exemplos de Aplicaes: Vdeogames 1/2

Exemplos de Aplicaes: Vdeogames 2/2

First-person shooter

Simuladores, esportes

45

46

Exemplos de Aplicaes: Telecomunicaes 1/1

Exemplos de Aplicaes: Indstria 1/3

Central telefnica

Robs

Manufaturas

Computador disfarado

udio e vdeo

47

48

Exemplos de Aplicaes: Indstria 2/3

Exemplos de Aplicaes: Indstria 3/3

Petroqumica

Sistemas grandes
Vrias redes interconectadas
Redes industriais, redes locais, Internet

Setor eltrico

49

50

Exemplos de Aplicaes: Financeiras (Bolsas) 1/2

Boa parte das ordens de compra e venda so emitidas por programas


de computadores (robs)

Quantitative trading a execuo sistemtica de ordens de


compra/venda decidida por modelos quantitativos do mercado

Fontes de dados do mercado geram dezenas de milhares de mensagens


por segundo
Na negociao automtica, um atraso de 1 segundo inaceitvel

Exemplos de Aplicaes: Financeiras (Bolsas) 2/2

DMA (Direct Market Acess) via Conexo Direta Co-location


As ordens do cliente so geradas por software (ATS) que se encontra instalado
em mquina/equipamento hospedado em espao fsico disponibilizado pela
BM&FBOVESPA

51

52

Exemplos de Aplicaes: Vrios Mercados 1/1

Caracterizao 1/3

Veculos

Automao em aeronaves, automveis, sondas espaciais

Defesa

Entretenimento

Processamento ativado por estmulos do ambiente

Radar, sonar, sistema guia em msseis

Telecomunicaes

Indstria

Tempos de Resposta delimitam Estmulos/Respostas


- Processamentos devem terminar dentro de prazos (deadlines)
- Se terminar fora de prazo sistema falha (falha temporal)

Vdeogames, vdeo sob demanda, udio

Forte acoplamento do sistema com o seu Ambiente:

Centrais telefnicas, videoconferncia, groupware

Fluxos de estmulos na execuo so definidos pelo ambiente:


Quase sempre impossvel controlar os estmulos provenientes do ambiente

Controle de processos, robs, aquisio de dados

Financeiro
Transaes em bolsa, negociao automtica

O que elas tem em comum ?


53

54

Caracterizao 2/3

Caracterizao 3/3
ST R
E stm ulo
A m biente

tarefa

Interface

Resposta

Estmulo
Sensor
Sistema
Controlador
Resposta

Sistema Simples: T arefa nica Respo nde ao Ambiente

Ambiente
Controlado

STR

M q u in a 2

Atuadores
ta r e fa

M q u in a 1
E s tm u lo
ta r e fa

ta r e fa

ta r e fa

ta r e fa

A m b ie n t e
R e s p o s ta

S is t e m a C o m p le x o : G r a fo d e T a r e fa s R e s p o n d e a o A m b ie n t e

55

56

Conceitos: Tarefas e Deadlines 1/5

Conceitos: Recorrncia 2/5

Tarefas ( task )

Segmento de cdigo cuja execuo possui atributo temporal prprio (perodo,


deadline, etc)
Exemplo: mtodo em OO, sub-rotina, trecho de um programa

Tarefa Peridica
Tarefa ativada a cada P unidades de tempo
Instantes de chegada podem ser calculados a partir do inicial
Exemplo: controle de processo via lao de realimentao

Deadlines

Instante mximo desejado para a concluso de uma tarefa

Tarefas Espordica
Instantes de chegada no so conhecidos
Existe um intervalo mnimo de tempo entre chegadas
Exemplo: atendimento a boto de alarme

Tarefa Aperidica
Nada sabido quanto as ativaes da tarefa
Exemplo: aparecimento de objeto em tela de radar

57

58

Conceitos: Tipos de Deadlines 3/5

Conceitos: Criticalidade 4/5

Deadline Hard

Perda do deadline pode ter consequncias catastrficas


Exemplo: abrir vlvula em duto de alta presso

Falha temporal pode resultar em conseqncias catastrficas


Necessrio garantir requisitos temporais em projeto
Exemplo: usina nuclear, industria petroqumica, msseis

Deadline Firm
Perda do deadline NO tem consequncias catastrficas
No existe valor em terminar a tarefa aps o deadline
Exemplo: amostrar periodicamente valor fsico

Tempo real crtico ( hard real-time )

Tempo real no crtico ( soft real-time )


Requisito temporal descreve apenas comportamento desejado
Exemplo: multimdia, videogame

Deadline Soft
Perda do deadline NO tem consequncias catastrficas
Existe valor em terminar a tarefa com atraso
Exemplo: movimento de objeto em vdeo game
59

60

Conceitos: Tempo de Resposta 5/5

Tempo de Resposta 1/5

Tarefa: i (task)

Segmento de cdigo cuja execuo possui atributo temporal prprio (perodo,


deadline, etc)
Exemplo: mtodo em OO, funo C, trecho de um programa

Dados:
O cdigo da aplicao
O hardware usado
O sistema operacional
Como saber que nenhum deadline da tarefa i ser perdido ?

Tempo de resposta: Ri (response time)


Intervalo de tempo entre a chegada (arrival) da tarefa e sua concluso

Deadline: Di

Tempo de resposta mximo desejado/aceitvel, especificao

Objetivo: Ri Di

Maioria dos requisitos temporais aparecem como deadlines

Vai depender dos tempos de resposta da tarefa i


Tempos de resposta variam, no so sempre iguais
Precisamos considerar o tempo de resposta no pior caso
Worst-Case Response Time (WCRT)

s vezes existe requisito de simultaneidade


61

62

Tempo de Resposta 2/5

Tempo de Resposta 3/5

Por que a tarefa no exibe sempre o mesmo tempo de resposta ?


Fluxo de controle da prpria tarefa varia

Por que a tarefa no exibe sempre o mesmo tempo de resposta ?


Os tempos do hardware variam

Dados de entrada variam

Estado dos componentes da arquitetura do computador

Afetam o fluxo de controle


IF, FOR

Contedo atual da cache, do pipeline, afetam o tempo de execuo das


instrues de mquina

Estado do sistema (valor das variveis globais) varia


Afeta o fluxo de controle
IF, FOR

Barramentos compartilhados com controladores de perifricos ou


outros processadores
Geram atrasos

Tempo de computao: Ci
WCET Worst-Case Execution Time
Captura variaes do fluxo de controle e do hardware

63

Tempo de Resposta 4/5

Tempo de Resposta 5/5

Por que a tarefa no exibe sempre o mesmo tempo de resposta ?


A influncia que ela sofre de outras tarefa varia

Necessidade de sincronizao (excluso mtua)

Outras tarefas da aplicao com prioridade igual ou superior

64

Mesmo conhecendo:
O cdigo da aplicao
O hardware usado
O sistema operacional

Afeta o tempo de espera por recursos (tempo de bloqueio)

Tempos de resposta variam, no so sempre iguais

Precisamos considerar o tempo de resposta no pior caso


Worst-Case Response Time (WCRT)

Geram interferncia

Outras tarefas do sistema operacional, threads de kernel, tratadores de


interrupo

Gerncia do processador pelo SO consome tempo

Geram interferncia
Troca de contexto, algoritmo de escalonamento
65

66

Resumo

Sumrio

Definio de Sistemas de Tempo Real


Exemplos de Aplicaes

Sistemas de Tempo Real: Aplicaes e Tecnologias

Veculos
Defesa
Entretenimento
Telecomunicaes
Indstria
Financeiro

O que tempo real ?


O que um sistema computacional de tempo real ?

Quais as abordagens usadas no desenvolvimento ?

Exemplos de aplicaes

Sistemas crticos e no crticos

Caracterizao
Conceitos
Tempo de Resposta

67

68

Necessidade de Diferentes Abordagens 1/2

Mercado para tempo real amplo

Sistemas de tempo real variam enormemente


Sistema de emergncia em usina petroqumica
Controle de temperatura do freezer
Videogame

Necessidade de Diferentes Abordagens 2/2

Tipos de Criticalidade
Elevada criticalidade, exige certificao, ex: avinica
Crtico, porm testes so suficientes, ex: rel de proteo eltrica
No crtico, tolera perdas eventuais de deadlines, ex: videogame

Tipos de Sistema Operacional


No usa SO, hardware simples, aplicao pequena (lao + trat. interrupes)
Microkernel, hardware mdio sem MMU, aplicao multitarefa
Linux, hardware complexo, aplicao grande requer servios de SO

Diferentes abordagens so necessrias

Cdigo fonte
Em geral disponvel
Liberdade limitada para o design, cdigo legado, bibliotecas compradas

69

70

Abordagens de Escalonamento

Abordagem com Garantia 1/9

Existem duas grandes abordagens de escalonamento para sistemas de


tempo real na perspectiva acadmica

Sistemas com garantia

Sistemas com melhor esforo


Abordagem de Escalonamento

Com Garantia

Melhor Esforo

71

Deadlines so garantidos na construo do software


Previsibilidade determinista
Anlise feita antes da execuo
Carga precisa ser limitada e conhecida em projeto
( Hiptese de Carga )
Suposto um limite para faltas
( Hiptese de Faltas )
Para dar garantia precisa considerar o pior caso:
Do comportamento do software (fluxos de execuo, etc)
Do comportamento do hardware (tempos das instrues, etc)

72

Abordagem com Garantia 2/9

Abordagem com Garantia 3/9

Necessrio conhecer o comportamento do programa no pior caso

Necessrio conhecer o comportamento do hardware no pior caso

Isto significa

Isto geralmente significa

Pior fluxo de controle para cada tarefa (if, while)


Piores dados de entrada
Pior cenrio de sincronizao entre tarefas (excluso mtua, etc)
Pior combinao de eventos externos (interrupes, sensores, etc)
Pior tudo

Pior combinao de eventos externos (interrupes, sensores, etc)


Determinar os estados da memria cache
Determinar os estados do pipeline
Determinar o comportamento dos barramentos
Determinar o comportamento temporal seguro do hardware em relao ao pior
caminho do software
Compor os estados em uma anlise de pior caso
Sempre de forma segura (pessimista)

73

74

Abordagem com Garantia 4/9

Anlise usualmente dividida em duas etapas

Tempo de Computao C

Abordagem com Garantia 5/9

Vantagens
Determina previamente que todos os deadlines sero cumpridos
Necessrio para aplicaes crticas certificadas
Teoria serve de base para abordagens sem garantia

Desvantagens
Necessrio conhecer exatamente a carga
Necessrio reservar recursos para o pior caso
Gera enorme sub-utilizao do hardware (mais caro)
Difcil determinar o pior caso em solues COTS (commercial offthe-shelf)

Quanto tempo esta tarefa de software levaria para executar se estivesse sozinha
no computador (nica tarefa, nenhuma interrupo) ?

Para garantia necessrio o WCET (Worst-Case Execution Time)

Tempo de Resposta R
Quanto tempo esta tarefa de software leva para executar, considerando ela
prpria e todas as demais atividades do sistema ?

Necessrio conhecer o WCET de todas as tarefas, suas taxas de


recorrncia, e como elas interagem
Objetivo WCRT (Worst-Case Response Time)
75

76

Abordagem com Garantia 6/9

Abordagem com Garantia 7/9

Existem duas formas de escalonamento para obter garantia

Executivo cclico
Prioridades + Anlise de escalonabilidade

Abordagem de escalonamento

Durante a execuo:
Pequeno programa l a grade e dispara a tarefa aproprida
Quando a grade termina ela novamente repetida

Vantagem: Comportamento completamente conhecido


Desvantagem: Escalonamento muito rgido, tamanho da grade,
funciona melhor com tudo peridico, apenas interrupes de timer

Com Garantia

Executivo
Cclico

Prioridades
+Anlise

77

Todo o trabalho de escalonamento feito em projeto


Resultado uma grade de execuo ( time grid )
Grade determina qual tarefa executa quando
Garantia obtida atravs de uma simples inspeo da escala

78

Abordagem com Garantia 8/9

Abordagem com Garantia 9/9

Existem duas formas de escalonamento para obter garantia

Executivo cclico
Prioridades + Anlise de escalonabilidade

Abordagem de escalonamento

Na execuo:
Escalonador dispara as tarefas conforme as prioridades

Vantagens: Suporta tarefas espordicas com facilidade


Desvantagens: Existem anlises apenas para sistemas simples

Com Garantia

Executivo
Cclico

Prioridades
+Anlise

Cada tarefa recebe uma prioridade


Executa sempre a tarefa de prioridade mais alta
Anlise matemtica antes da execuo determina escalonabilidade
Complexidade da anlise depende do modelo de tarefas

Usado em aplicaes que exigem garantia mas tambm requerem


flexibilidade para acomodar tarefas espordicas, sistemas maiores

79

80

Necessidade de Diferentes Abordagens

Abordagem com Melhor Esforo 1/2

No existe garantia de que todos os deadlines sero cumpridos


O Melhor Esforo ser feito neste sentido

Capaz de fornecer um previso probabilista

Existem duas grandes abordagens de escalonamento para sistemas de


tempo real na perspectiva acadmica
matemtica de escalonamento

Sistemas com garantia

Sistemas com melhor esforo

Simulao, testes, etc

No possvel cumprir todos os deadlines


No uma falha do projeto
uma situao natural uma vez que no existe garantia antecipada

Abordagem de escalonamento

Com Garantia

Existe a possibilidade de Sobrecarga ( overload )


Sobrecarga:

Melhor Esforo

81

82

Abordagem com Melhor Esforo 2/2

Questo fundamental: Como tratar a sobrecarga ?

Resumo at agora

Em sobrecarga ATRASA algumas tarefas


Em sobrecarga DIMINUI a preciso de algumas tarefas
Em sobrecarga NO EXECUTA algumas tarefas
Em sobrecarga AUMENTA O PERODO de algumas tarefas

Abordagens com Garantia em Projeto


Projeta o hardware para o pior caso de tudo
Mais complexo e mais caro

Abordagens com Melhor Esforo


No existe garantia, pode haver sobrecarga
Mais simples e mais barato

Vantagens desta abordagem


No necessrio conhecer o pior caso
Sistemas mais baratos, no so projetados para o pior caso
No necessrio conhecer a carga exatamente

Desvantagens
A princpio qualquer deadline poder ser perdido

83

Tempo de resposta das tarefas varia


Necessrio diferentes abordagens para o escalonamento tempo real
Principal classificao com respeito a garantia

84

Abordagens: Perspectiva da Engenharia

Sistema de tempo real com garantia provada 1/3

Literatura oferece vrias maneiras para

Verificar a escalonabilidade
Escalonar os sistemas

Na prtica a coisa um pouco mais complicada

Entram aspectos econmicos


Entram aspectos do desenvolvimento como um todo e no s tempo real
Entram as limitaes das propostas acadmicas

Safety-critical applications
No tolera nenhuma perda de deadline
A perda de um deadline representa uma falha do sistema
Requer algum tratamento de exceo forte
Tolerncia a faltas via replicao ativa
Tolerncia a faltas passiva via propriedade construtiva (eletro-mecnica)
Reinicia
Desliga

Na prtica existem 3 cenrios

85

86

Sistema de tempo real com garantia provada 2/3

Sistema de tempo real com garantia provada 3/3

Safety-critical applications

Anlise de escalonabilidade com garantia


Ferramenta para determinar WCET
Necessita arquitetura determinista, analisvel
Microcontrolador de pequeno ou mdio porte
Software simples, microkernel ou tudo na aplicao

Certificao o maior custo (30x mais caro que software comum)

Tudo isto:

No tolera nenhuma perda de deadline

Tarefas crticas em satlites


Tarefas crticas em avies
Tarefas crticas em carros

Sistemas crticos em avies o grande motivador da rea


Comea a ser importante para carros

Necessita prova matemtica de que jamais perde um deadline

Junta tudo, verifica o conjunto

Restringe o espectro de processadores possveis


Desenvolvimento caro (ferramentas, design, verificao)
Justificvel apenas para safety-critical systems com processo de certificao ou
quando uma falha pode quebrar a empresa (freio do carro)

Certificao de agncia fiscalizadora


87

88

Sistema de tempo real com garantia testada 1/3

Sistema de tempo real com garantia testada 2/3

No tolera nenhuma perda de deadline


A perda de um deadline representa uma falha do sistema
Requer algum tratamento de exceo forte

No tolera nenhuma perda de deadline

Mas no geralmente safety-critical


as vezes at !!!

Sistemas de gerao/transmisso de energia eltrica

Inversores eltricos
Muitas tarefas automotivas
Equipamentos mdicos

A perda de um deadline representa uma falha do sistema

Tolerncia a faltas via replicao ativa


Tolerncia a faltas passiva via propriedade construtiva (eletro-mecnica)
Reinicia
Desliga

Rels de proteo, reguladores de tenso e frequncia, etc.

Verificao por teste (que jamais perde um deadline)

Safety-critical systems, mas so lentos, fcil cumprir deadlines

89

90

Sistema de tempo real com garantia testada 3/3

Necessita arquitetura quase determinista


Cdigo simples, quase determinista

WCET obtido atravs de medies

No tem certificao
nfase em testes de stress

Sistema de tempo real sem garantia 1/3

Chamado soft real-time system, best-effort

Tolera a perda de deadlines se estas forem suficientemente raras

O que raro ?
Depende da especificao do sistema:

No utiliza algoritmos recursivos, por exemplo

Busca as condies nas quais deadlines poderiam ser perdidos

Microkernel determinista ou tudo na aplicao

Folgas grandes para as tarefas crticas

Tarefa no pode perder x deadlines seguidos


Tarefa no pode perder mais que x deadlines em y ativaes
Tarefa no pode perder mais que x deadlines em y segundos
Etc, a lista grande

91

92

Sistema de tempo real sem garantia 2/3

Sistema de tempo real sem garantia 3/3

A perda de um deadline no representa a falha do sistema


A perda de um deadline isolado no requer tratamento de exceo

Arquitetura qualquer, depende dos requisitos da aplicao


Desde de pequeno microcontrolador at PC multicore

No gera a falha do sistema

Controle realimentado em aplicaes industriais no crticas

A inrcia da planta mascara a perda de um deadline (existem limites)

Muitos exemplos no mundo industrial e domstico

Testes principalmente em condies normais


Em geral usa microkernel, mas
pode ser usado desde nada at Linux, de tempo real ou no
Depende das funcionalidades da aplicao

Controle de um forno industrial


Liga/desliga de chaves em fbrica (manufatura)
Linha branca
Controlador semafrico
Centrais telefnicas

Design e testes dependem de quanto deadline pode perder sem isto ser
percebido como uma falha

Verificao por teste (perde deadlines de forma aceitvel)


93

94

Resumo

Sumrio

Com garantia provada

Sistemas de Tempo Real: Aplicaes e Tecnologias

No pode perder deadline nunca, necessrio certificao


Anlise de Escalonabilidade, Verificao formal, Testes estatsticos
Exemplo: sistemas avinicos

Com garantia testada

O que tempo real ?


O que um sistema computacional de tempo real ?

Quais as abordagens usadas no desenvolvimento ?

Exemplos de aplicaes

No pode perder deadline nunca, no precisa certificao


Testes mostrando que no perde deadline
Exemplo: Inversor eltrico, rel de proteo eltrica

Sistemas crticos e no crticos

Sem garantia
Precisa estipular servio mnimo (percentual perdido, atraso mximo, etc)
Testes mostrando que bom o suficiente
Exemplo: Central telefnica, controle realimentado de processo lento

No tempo real, requisito temporal trivial


Folha de pagamentos

95

96

Sistemas de Tempo Real:


Aplicaes e Tecnologias
Rmulo Silva de Oliveira
DAS-UFSC

I Workshop de Engenharia de Controle e


Automao WECA 2016
Blumenau-SC, 14 de julho de 2016
97

Você também pode gostar