especificação, verificação e implementação de um ...pregnier/pub/mscslides.pdf · motivação...

97
Motivação Protocolo Implementação ESPECIFICAÇÃO,VERIFICAÇÃO E I MPLEMENTAÇÃO DE UM PROTOCOLO DE COMUNICAÇÃO DETERMINÍSTICA BASEADO EM ETHERNET Paul Regnier Mestrado em Mecatrônica Departamento de Ciências da Computação Instituto de Matemática - UFBA Apoio FAPESB - TIC 2630-2006 Orientador: George Lima (PhD) Defesa de dissertação Paul Regnier DoRiS - Comunicação determinística em SOTR

Upload: lamtram

Post on 13-Dec-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

ESPECIFICAÇÃO, VERIFICAÇÃO E IMPLEMENTAÇÃODE UM PROTOCOLO DE COMUNICAÇÃO DETERMINÍSTICA

BASEADO EM ETHERNET

Paul Regnier

Mestrado em MecatrônicaDepartamento de Ciências da Computação

Instituto de Matemática - UFBA

Apoio FAPESB - TIC 2630-2006

Orientador: George Lima (PhD)

Defesa de dissertação

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 2: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

ROTEIRO

1 MOTIVAÇÃOO problemaEthernet e Tempo Real

2 PROTOCOLOModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 IMPLEMENTAÇÃOSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 3: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

ROTEIRO

1 MOTIVAÇÃOO problemaEthernet e Tempo Real

2 ProtocoloModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 ImplementaçãoSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 4: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

MODELO

SISTEMA DISTRIBUÍDO

Sistema: Um conjunto de estações compartilhando ummesmo barramento de comunicação (grafo conexo).Protocolo: mensagens, relógios (e/ou temporizadores) eprocessamentoRestrições: Não existe memória compartilhada, nemrelógio global

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 5: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

OBJETIVOS

COMUNICAÇÃO DETERMINÍSTICA

I Atender aos requisitos temporais das aplicações(Timeliness)

I Garantir a confiabilidade da comunicação (tolerância afalhas).

COMUNICAÇÃO EFICIENTE

I Otimizar e flexibilizar o uso da bandaI Contemplar a diversidade dos dispositivosI Permitir a reconfiguração do sistema

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 6: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

ROTEIRO

1 MOTIVAÇÃOO problemaEthernet e Tempo Real

2 ProtocoloModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 ImplementaçãoSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 7: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

CSMA/CDCARRIER SENSE MULTIPLE ACCESS WITH COLLISION DETECTION

MECANISMOS

Carrier Sense ⇒ Detecção do estado do meioJam ⇒ Detecção de colisão

Estado do meio ∈ {livre, ocupado, jam}

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 8: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

CSMA/CDCARRIER SENSE MULTIPLE ACCESS WITH COLLISION DETECTION

MECANISMOS

Carrier Sense ⇒ Detecção do estado do meioJam ⇒ Detecção de colisão

Estado do meio ∈ {livre, ocupado, jam}

AÇÕES DE UMA ESTAÇÃO EXECUTANDO O CSMA/CDSe Meio = livre Então transmitir imediatamenteSe Meio = ocupado Então esperar a próxima interrupção de

EOF e transmitir imediatamenteSe Meio = jam Então entrar em estado de Back-Off

para um tempo aleatório

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 9: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

ESPERA ⇒ SINCRONIZAÇÃO ⇒ COLISÃO

Espera

Est. C

Est. B

Back−Off

Transmissão

Est. A

Tempo

Colisão !

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 10: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

Switched-Ethernet

VANTAGENS

• Canais de comunicação ponto-a-ponto, sem colisão• Políticas de prioridades nas filas

PROBLEMAS

• Gerenciamento de filas• Atrasos na switching fabric nem sempre determinísticos• Comunicação um-para-todos menos eficiente

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 11: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

Switched-Ethernet

VANTAGENS

• Canais de comunicação ponto-a-ponto, sem colisão• Políticas de prioridades nas filas

PROBLEMAS

• Gerenciamento de filas• Atrasos na switching fabric nem sempre determinísticos• Comunicação um-para-todos menos eficiente

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 12: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

O problemaEthernet e Tempo Real

ESGOTAMENTO DA MEMÓRIA TAMPÃO DO SWITCH

perdidas

Transmissão

Est. C

Mensagens

Fila

cheiarecebe

Est. B para C

Est. A para C

de A e B

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 13: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ROTEIRO

1 MotivaçãoO problemaEthernet e Tempo Real

2 PROTOCOLOModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 ImplementaçãoSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 14: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM TDMA

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

TIME DIVISION MULTIPLE ACCESS

(TDMA)• Intervalos periódicos de tempo

alocados a cada estação.• Problemas: Sincronização dos

relógios, desperdício

EXEMPLOS

TTP over Ethernet, RTnet

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 15: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM TDMA

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

TIME DIVISION MULTIPLE ACCESS

(TDMA)• Intervalos periódicos de tempo

alocados a cada estação.• Problemas: Sincronização dos

relógios, desperdício

EXEMPLOS

TTP over Ethernet, RTnet

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 16: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM TDMA

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

TIME DIVISION MULTIPLE ACCESS

(TDMA)• Intervalos periódicos de tempo

alocados a cada estação.• Problemas: Sincronização dos

relógios, desperdício

EXEMPLOS

TTP over Ethernet, RTnet

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 17: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM TDMA

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

TIME DIVISION MULTIPLE ACCESS

(TDMA)• Intervalos periódicos de tempo

alocados a cada estação.• Problemas: Sincronização dos

relógios, desperdício

EXEMPLOS

TTP over Ethernet, RTnet

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 18: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM TDMA

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1 21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

21

Time

: Slot Time

P1

P2

P3

P4

2 3 4 1

TIME DIVISION MULTIPLE ACCESS

(TDMA)• Intervalos periódicos de tempo

alocados a cada estação.• Problemas: Sincronização dos

relógios, desperdício

EXEMPLOS

TTP over Ethernet, RTnet

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 19: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM MESTRE / ESCRAVO

M

A

B

D

C

E

F

M

A

B

D

C

E

F

M

A

B

D

C

E

F

MESTRE - ESCRAVO

• O “mestre” atribui os direitosde acesso ao meio

• Problemas: ponto de falhas,sobrecarga

EXEMPLOS

FTT, Ethernet Powerlink

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 20: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM MESTRE / ESCRAVO

M

A

B

D

C

E

F

M

A

B

D

C

E

F

M

A

B

D

C

E

F

MESTRE - ESCRAVO

• O “mestre” atribui os direitosde acesso ao meio

• Problemas: ponto de falhas,sobrecarga

EXEMPLOS

FTT, Ethernet Powerlink

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 21: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM MESTRE / ESCRAVO

M

A

B

D

C

E

F

M

A

B

D

C

E

F

M

A

B

D

C

E

F

MESTRE - ESCRAVO

• O “mestre” atribui os direitosde acesso ao meio

• Problemas: ponto de falhas,sobrecarga

EXEMPLOS

FTT, Ethernet Powerlink

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 22: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM DO BASTÃO CIRCULANTE

D

A

E

F

B (t < THT)

C

(t = THT)

A

E

F

B

C

D

(t < THT)

D

A

E

F

B

C

(t = THT)

C

D

A

E

F

B

(t < THT)

C

D

A

E

F

B

BASTÃO CIRCULANTE

• Bastão (explícito ou não) ⇒direito de acesso ao meio

• Problemas: Sobrecarga,perda do bastão, variabilidade

EXEMPLOS

Profinet, P-Net, RT-Net(combinação de Bastão Temporal(TTP) e / ou controlemestre-escravo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 23: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM DO BASTÃO CIRCULANTE

D

A

E

F

B (t < THT)

C

(t = THT)

A

E

F

B

C

D

(t < THT)

D

A

E

F

B

C

(t = THT)

C

D

A

E

F

B

(t < THT)

C

D

A

E

F

B

BASTÃO CIRCULANTE

• Bastão (explícito ou não) ⇒direito de acesso ao meio

• Problemas: Sobrecarga,perda do bastão, variabilidade

EXEMPLOS

Profinet, P-Net, RT-Net(combinação de Bastão Temporal(TTP) e / ou controlemestre-escravo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 24: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM DO BASTÃO CIRCULANTE

D

A

E

F

B (t < THT)

C

(t = THT)

A

E

F

B

C

D

(t < THT)

D

A

E

F

B

C

(t = THT)

C

D

A

E

F

B

(t < THT)

C

D

A

E

F

B

BASTÃO CIRCULANTE

• Bastão (explícito ou não) ⇒direito de acesso ao meio

• Problemas: Sobrecarga,perda do bastão, variabilidade

EXEMPLOS

Profinet, P-Net, RT-Net(combinação de Bastão Temporal(TTP) e / ou controlemestre-escravo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 25: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM DO BASTÃO CIRCULANTE

D

A

E

F

B (t < THT)

C

(t = THT)

A

E

F

B

C

D

(t < THT)

D

A

E

F

B

C

(t = THT)

C

D

A

E

F

B

(t < THT)

C

D

A

E

F

B

BASTÃO CIRCULANTE

• Bastão (explícito ou não) ⇒direito de acesso ao meio

• Problemas: Sobrecarga,perda do bastão, variabilidade

EXEMPLOS

Profinet, P-Net, RT-Net(combinação de Bastão Temporal(TTP) e / ou controlemestre-escravo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 26: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGEM DO BASTÃO CIRCULANTE

D

A

E

F

B (t < THT)

C

(t = THT)

A

E

F

B

C

D

(t < THT)

D

A

E

F

B

C

(t = THT)

C

D

A

E

F

B

(t < THT)

C

D

A

E

F

BBASTÃO CIRCULANTE

• Bastão (explícito ou não) ⇒direito de acesso ao meio

• Problemas: Sobrecarga,perda do bastão, variabilidade

EXEMPLOS

Profinet, P-Net, RT-Net(combinação de Bastão Temporal(TTP) e / ou controlemestre-escravo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 27: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ABORDAGENS NÃO CONTEMPLADAS

1 Com modificações do Hardware (EtherCAT, PRI, ...)2 Com garantias temporais probabilísticas (suavização do

tráfego, janelas temporais)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 28: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DINÂMICAS DE PROCESSAMENTO LENTAS / RÁPIDAS

2

3

1

: Mensagens críticas

: Meio ocupado

Tempo

: Processamento pelas estações lentas

PROPRIEDADE FUNDAMENTAL

Enquanto as estações lentas processam as mensagenscríticas, as estações rápidas utilizam a banda comcomunicação não crítica

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 29: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ROTEIRO

1 MotivaçãoO problemaEthernet e Tempo Real

2 PROTOCOLOModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 ImplementaçãoSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 30: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - A DOUBLE RING SERVICE FOR RTS

MODELO COMPUTACIONAL

• Cada estação hospeda um servidor DoRiS• Conjuntos de tarefas e de processos representados por

instâncias únicas• TaskSet = {T1, T2, . . . , TnServ} e

ProcSet = {P1, P2, . . . , PnServ}• Estações lentas versus rápidas• Tamanho das mensagens críticas (64B) � tamanho

máximo das mensagens não críticas (1500B)• Modelo de comunicação publish-subscribe

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 31: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - ESTRUTURA TEMPORAL (TDMA) Volta

chips

C-RdM-Rd

ciclo ciclo

chip chip chip

Ciclo de DoRiS (nServ ∗ ∆C)

SE SR

WH WS

• Tempo dividido emrodadas: M-Rd e C-Rd

• Ciclo: alternância dechips (∆C )

• Chip: janela crítica (WH )e não crítica (WS )

• WH (2∆E ): slotelementar (SE ) e dereserva (SR )

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 32: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

UM chip DoRiS (∆E )

Janela não-críticas

Dis

tânc

ia

Slot de reservaSlot elementar∆S ∆S

m(T1) m(T7) m(P2) m(P5) m(P7)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 33: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - PROPRIEDADE FUNDAMENTAL

MENSAGENS ELEMENTARES

• Obrigatórias: cada servidor envia uma mensagemelementar em cada ciclo

⇒ pulso descentralizado com período ∆C

CONSEQÜÊNCIAS

Periodicidade ⇒ Determinismo e Sincronismo

INFORMAÇÕES NAS MENSAGENS ELEMENTARES

• Flexibilidade do anel crítico: mecanismo de reserva• Gerenciamento do grupo de processos (novo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 34: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - PROPRIEDADE FUNDAMENTAL

MENSAGENS ELEMENTARES

• Obrigatórias: cada servidor envia uma mensagemelementar em cada ciclo

⇒ pulso descentralizado com período ∆C

CONSEQÜÊNCIAS

Periodicidade ⇒ Determinismo e Sincronismo

INFORMAÇÕES NAS MENSAGENS ELEMENTARES

• Flexibilidade do anel crítico: mecanismo de reserva• Gerenciamento do grupo de processos (novo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 35: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - PROPRIEDADE FUNDAMENTAL

MENSAGENS ELEMENTARES

• Obrigatórias: cada servidor envia uma mensagemelementar em cada ciclo

⇒ pulso descentralizado com período ∆C

CONSEQÜÊNCIAS

Periodicidade ⇒ Determinismo e Sincronismo

INFORMAÇÕES NAS MENSAGENS ELEMENTARES

• Flexibilidade do anel crítico: mecanismo de reserva• Gerenciamento do grupo de processos (novo)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 36: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - O MECANISMO DE RESERVA

• Mensagens elementares carregam uma lista de reserva• Cada servidor mantém um vetor de reserva• Uma tarefa pode reservar todos os slots livres do próximo

ciclo.• Sempre tem um slot livre no horizonte de uma tarefa

MECANISMO DE TOLERÂNCIA A FALHAS

Uma tarefa só pode enviar mais de uma reserva se ela recebeuas nServ mensagens elementares que precede o seu chip.

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 37: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - O MECANISMO DE RESERVA

• Mensagens elementares carregam uma lista de reserva• Cada servidor mantém um vetor de reserva• Uma tarefa pode reservar todos os slots livres do próximo

ciclo.• Sempre tem um slot livre no horizonte de uma tarefa

MECANISMO DE TOLERÂNCIA A FALHAS

Uma tarefa só pode enviar mais de uma reserva se ela recebeuas nServ mensagens elementares que precede o seu chip.

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 38: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - GERENCIAMENTO DINÂMICO DO GRUPO DE

PROCESSOS

• Mensagens elementares carregam um bit 0 ou 1• Cada servidor mantém a lista dos processos• Na recepção de uma mensagem elementar, cada servidor

atualiza a composição do grupo

MECANISMO DE TOLERÂNCIA A FALHAS

• Em caso de falhas de omissão na recepção de umamensagem elementar, um servidor perde o direito deenviar mensagens não-críticas

• Depois de uma janela WS vazia, todos os servidoresatualizam o grupo para o conjunto vazio

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 39: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

DoRiS - GERENCIAMENTO DINÂMICO DO GRUPO DE

PROCESSOS

• Mensagens elementares carregam um bit 0 ou 1• Cada servidor mantém a lista dos processos• Na recepção de uma mensagem elementar, cada servidor

atualiza a composição do grupo

MECANISMO DE TOLERÂNCIA A FALHAS

• Em caso de falhas de omissão na recepção de umamensagem elementar, um servidor perde o direito deenviar mensagens não-críticas

• Depois de uma janela WS vazia, todos os servidoresatualizam o grupo para o conjunto vazio

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 40: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ROTEIRO

1 MotivaçãoO problemaEthernet e Tempo Real

2 PROTOCOLOModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 ImplementaçãoSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 41: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

LÓGICA TEMPORAL DE AÇÕES - TLA+ Elementos TLA+

LINGUAGEM DE ESPECIFICAÇÃO FORMAL

• Teoria dos conjuntos e lógica temporal• Propriedades temporais de sistemas concorrentes e

distribuídos• TLC: verificador automático de modelos

VANTAGENS

• Estrutura modular ⇒ escrita por incrementos sucessivos• Similaridades com um código de programas

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 42: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ESPECIFICAÇÃO DE DoRiS

O tempo: mais uma variável ⇒ Número de estados aumenta

MODELO TEMPORAL

• Representação inteira ⇔ Incrementos discretos• Temporizadores sem desvios nem atrasos ⇔ relógio global

FÓRMULA PRINCIPAL

Spec ∆= Init ∧ 2[Next ∨ Tick ]vars ∧ Liveness

• Init é o conjunto dos estados iniciais• 2[Next ∨ Tick ]vars é a relação de sucessão• Liveness é uma condição de evolução do sistema

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 43: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ESPECIFICAÇÃO DE DoRiS

O tempo: mais uma variável ⇒ Número de estados aumenta

MODELO TEMPORAL

• Representação inteira ⇔ Incrementos discretos• Temporizadores sem desvios nem atrasos ⇔ relógio global

FÓRMULA PRINCIPAL

Spec ∆= Init ∧ 2[Next ∨ Tick ]vars ∧ Liveness

• Init é o conjunto dos estados iniciais• 2[Next ∨ Tick ]vars é a relação de sucessão• Liveness é uma condição de evolução do sistema

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 44: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ESPECIFICAÇÃO DE DoRiS

AS AÇÕES PRINCIPAIS

Next ∆= ∨ ∃ t ∈ TaskSet : SendElem(t) ∨ SendRese(t)

∨ ∃p ∈ ProcSet(Shared .proc) : SendSoft(p)∨ ∃msg ∈ Shared .medium : Receive(msg)

Tick ∆= NextTick ∨ NextChip

• SendElem , SendRese e SendSoft : as 3 açõesde envio de mensagens (elementar, de reserva enão-crítica)

• Receive : ação de recepção de um mensagem• NextTick e NextChip : ação de passagem do tempo

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 45: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

ESPECIFICAÇÃO DE DoRiS

AS AÇÕES PRINCIPAIS

Next ∆= ∨ ∃ t ∈ TaskSet : SendElem(t) ∨ SendRese(t)

∨ ∃p ∈ ProcSet(Shared .proc) : SendSoft(p)∨ ∃msg ∈ Shared .medium : Receive(msg)

Tick ∆= NextTick ∨ NextChip

• SendElem , SendRese e SendSoft : as 3 açõesde envio de mensagens (elementar, de reserva enão-crítica)

• Receive : ação de recepção de um mensagem• NextTick e NextChip : ação de passagem do tempo

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 46: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

PROPRIEDADES TEMPORAIS (INÍCIO)

AUSÊNCIA DE COLISÃO

Send(q)∆=

∨ ∧ q ∈ TaskSet∧ (ENABLED SendElem(q) ∨ ENABLED SendRese(q))

∨ ∧ q ∈ ProcSet(Shared .proc)∧ ENABLED SendSoft(q)

CollisionAvoidance ∆=

∀p, q ∈ TaskSet ∪ ProcSet(Proc) :2(ENABLED (Send(p) ∧ Send(q)) ⇒ (p = q))

NoCollisionAvoidance ∆=

∃p, q ∈ TaskSet ∪ ProcSet(Proc) :3((p 6= q) ∧ ENABLED (Send(p) ∧ Send(q)))

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 47: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

PROPRIEDADES TEMPORAIS (CONT.)

CORREÇÃO DO ANEL CRÍTICO

HardRingCorrectness ∆=

∧ ∀ t ∈ TaskSet :∧ 2(Len(TaskState[taskId(t)].msg) ≤ 3)∧ 23(ENABLED SendElem(t))

∧ 2(ENABLED NextChip⇒ History .elem = Shared .chipCount)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 48: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

PROPRIEDADES TEMPORAIS (CONT.)

CORREÇÃO DO MECANISMO DE RESERVA

ReservationSafety ∆=

2 ∀ chip, j ∈ Task : ∧ ENABLED SendRese(T [j])∧ Shared .chipCount = chip

⇒ ∧ TaskState[j].res[chip] = j∧ ∀ i ∈ Task \ {j} :

TaskState[i].res[chip] ∈ {j , − 1}

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 49: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Modelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

PROPRIEDADES TEMPORAIS (FIM)

JUSTIÇA NO ANEL NÃO-CRÍTICO

SoftRingFairness ∆=

∧ ∀ i ∈ Proc :2(i ∈ Shared .proc ⇒

(ProcState[i].list 6= 〈〉⇒ 3(i = ProcState[i].token)))

∧ 23(∀ i ∈ Proc \ Failed :i ∈ Shared .proc ⇒ Len(ProcState[i].list) = 0)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 50: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

ROTEIRO

1 MotivaçãoO problemaEthernet e Tempo Real

2 ProtocoloModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 IMPLEMENTAÇÃOSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 51: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

MOTIVAÇÃO PARA O USO DE LINUX

• SO de código livre e aberto com boa aceitação nosambientes de pesquisa acadêmica

• Grande variedade de aplicações (multimídia, banco dedados, sistemas embarcadas...)

LINUX NÃO É DETERMINÍSTICO

Resolução temporal, escalonamento (resolução do tick),interrupção

AVALIAÇÃO DE 3 PLATAFORMAS

• LINUXStd: Linux - 2.6.23.9• LINUXPrt: Linux - 2.6.23.9 - PREEMPT-RT (rt12)• LINUXXen: Xenomai - 2.4-rc5 - Linux 2.6.19.7

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 52: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

MOTIVAÇÃO PARA O USO DE LINUX

• SO de código livre e aberto com boa aceitação nosambientes de pesquisa acadêmica

• Grande variedade de aplicações (multimídia, banco dedados, sistemas embarcadas...)

LINUX NÃO É DETERMINÍSTICO

Resolução temporal, escalonamento (resolução do tick),interrupção

AVALIAÇÃO DE 3 PLATAFORMAS

• LINUXStd: Linux - 2.6.23.9• LINUXPrt: Linux - 2.6.23.9 - PREEMPT-RT (rt12)• LINUXXen: Xenomai - 2.4-rc5 - Linux 2.6.19.7

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 53: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

MOTIVAÇÃO PARA O USO DE LINUX

• SO de código livre e aberto com boa aceitação nosambientes de pesquisa acadêmica

• Grande variedade de aplicações (multimídia, banco dedados, sistemas embarcadas...)

LINUX NÃO É DETERMINÍSTICO

Resolução temporal, escalonamento (resolução do tick),interrupção

AVALIAÇÃO DE 3 PLATAFORMAS

• LINUXStd: Linux - 2.6.23.9• LINUXPrt: Linux - 2.6.23.9 - PREEMPT-RT (rt12)• LINUXXen: Xenomai - 2.4-rc5 - Linux 2.6.19.7

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 54: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIAS DE INTERRUPÇÃO E DE ATIVAÇÃO

Processos

placa de redeEventosIRQs

kernelModo

usuárioModo

TEth

tempo

t1

NA ESTAÇÃO DE MEDIÇÃO EM

• t1: chegada de um pacote enviado por ED ⇒ TEth

• t2: TEth escreve na Porta Paralela ⇒ TPP

• t3: TPP escalona τ ⇒ τ

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 55: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIAS DE INTERRUPÇÃO E DE ATIVAÇÃO

Latirq

placa de redeEventosIRQs

kernelModo

usuárioModo

TEth TPP

tempo

Processos

t1 t2porta paralela

NA ESTAÇÃO DE MEDIÇÃO EM

• t1: chegada de um pacote enviado por ED ⇒ TEth

• t2: TEth escreve na Porta Paralela ⇒ TPP

• t3: TPP escalona τ ⇒ τ

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 56: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIAS DE INTERRUPÇÃO E DE ATIVAÇÃO

Latativ

placa de redeEventosIRQs

kernelModo

usuárioModo

TEth TPP

tempo

Processos

t1 t2 t3porta paralela

τ

TPP

Latirq

NA ESTAÇÃO DE MEDIÇÃO EM

• t1: chegada de um pacote enviado por ED ⇒ TEth

• t2: TEth escreve na Porta Paralela ⇒ TPP

• t3: TPP escalona τ ⇒ τ

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 57: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

METODOLOGIA EXPERIMENTAL

01

EMED EC

Porta Paralela

DISPOSITIVO

• Estação de medição EM : tarefa de tempo real τ

• Estação de disparo ED: envia pacotes Ethernet com umafreqüência fixa de 20Hz para a estação EM

• Estação de carga EC : provoca carga de interrupção naestação EM

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 58: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

ESTRESSES DO SO DA ESTAÇÃO EM

CARGA DO PROCESSADOR E DE E/S

while "true"; dodd if=/dev/hda2 of=/dev/null bs=1M count=1000find / -name ”*.c” | xargs egrep includetar -cjf /tmp/root.tbz2 /usr/src/linux-xenomaicd /usr/src/linux-preempt; make clean; make

done

ESTRESSES DE INTERRUPÇÕES

Fluxo de pacotes de 64 bytes na freqüência de 200kHz entreEM (servidor) e EC (cliente) (100.000 interrupções porsegundos)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 59: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

ESTRESSES DO SO DA ESTAÇÃO EM

CARGA DO PROCESSADOR E DE E/S

while "true"; dodd if=/dev/hda2 of=/dev/null bs=1M count=1000find / -name ”*.c” | xargs egrep includetar -cjf /tmp/root.tbz2 /usr/src/linux-xenomaicd /usr/src/linux-preempt; make clean; make

done

ESTRESSES DE INTERRUPÇÕES

Fluxo de pacotes de 64 bytes na freqüência de 200kHz entreEM (servidor) e EC (cliente) (100.000 interrupções porsegundos)

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 60: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE INTERRUPÇÃO (INÍCIO)

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxStd - Sem cargaVM: 8.9, DP: 0.3, Min: 8.7, Max: 18.4

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxStd - Com cargaVM: 10.4, DP: 1.9, Min: 8.8, Max: 67.7

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 61: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE INTERRUPÇÃO (CONT.)

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxPrt - Sem cargaVM: 21.5, DP: 1.7, Min: 20.3, Max: 45.1

0.0

50.0

100.0

150.0

200.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxPrt - Com cargaVM: 58.5, DP: 26.4, Min: 17.2, Max: 245.9

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 62: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE INTERRUPÇÃO LINUXPrt OPÇÃO IRQF NODELAY

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxPrt - Sem cargaVM: 8.9, DP: 0.2, Min: 8.8, Max: 16.7

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60La

tênc

iaem

µs

Tempo de observação em s

LinuxPrt - Com cargaVM: 10.6, DP: 1.6, Min: 8.9, Max: 35.8

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 63: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE INTERRUPÇÃO (FIM)

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxXen - Sem cargaVM: 9.0, DP: 0.1, Min: 8.8, Max: 11.1

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

40.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxXen - Com cargaVM: 10.2, DP: 0.1, Min: 8.8, Max: 20.8

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 64: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE ATIVAÇÃO (INÍCIO)

0.0

5.0

10.0

15.0

20.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxStd - Sem cargaVM: 4.6, DP: 0.4, Min: 4.4, Max: 16.2

0.0

50.0

100.0

150.0

200.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxStd - Com cargaVM: 37.3, DP: 48.2, Min: 4.6, Max: 617.5

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 65: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE ATIVAÇÃO (CONT.)

0.0

5.0

10.0

15.0

20.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxPrt - Sem cargaVM: 2.1, DP: 0.2, Min: 1.2, Max: 9.4

0.0

5.0

10.0

15.0

20.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxPrt - Com cargaVM: 3.8, DP: 2.8, Min: 1.1, Max: 27.4

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 66: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LATÊNCIA DE ATIVAÇÃO (FIM)

0.0

5.0

10.0

15.0

20.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxXen - Sem cargaVM: 2.1, DP: 0.5, Min: 1.8, Max: 8.4

0.0

5.0

10.0

15.0

20.0

0 10 20 30 40 50 60

Latê

ncia

emµ

s

Tempo de observação em s

LinuxXen - Com cargaVM: 8.7, DP: 0.3, Min: 1.8, Max: 18.7

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 67: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

ROTEIRO

1 MotivaçãoO problemaEthernet e Tempo Real

2 ProtocoloModelos de soluçõesDoRiS - A Double Ring Service for RTSEspecificação formal em TLA+

3 IMPLEMENTAÇÃOSistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 68: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

XENOMAI: INTERFACE RTDM (DE KISZKA)

Modos usuário e kernel

RTDM

Controladores de dispositivos

HAL

Aplicações XENOMAI

• Real Time Driver Model• Hardware Abstraction Layer

ADEOS

Adaptative Domain Environmentfor Operating Systems

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 69: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

LOCALIZAÇÃO DO RTNET

Geren.

RTDM

Controladores de dispositivos

Aplicações

HALRTnet

REAL TIME NET

• Gerenciamento dememória (rtskb)

• Emissão e recepção demensagens por tarefas

• ARP estático,mecanismos defragmentação

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 70: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

ESTRUTURA EM CAMADA DO RTNET

Virtual NIC

Pilha de rede Linux

CONFIG RTDM

GerenciamentoAplicações

de tempo real

RTMAC

Aplicações demelhor esforço

Disciplinas (TDMA, NoMAC, DoRiS)

NIC & Hardware

Núcleo RTnet (stack manager, rtskb), RTcap

Controladores de dispositivos, Loopback, HAL

UDP/IP, ICMP, ARP, IP, RTcfg

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 71: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

SINCRONIZAÇÃO DO ANEL CRÍTICO Estrutura temporal

PROBLEMA: DETERMINAR O INSTANTE DE INÍCIO DOS chips• Na emissão: latências de interrupção, rotina de emissão

de mensagens e placa de rede• No meio: latências de transmissão e de propagação• Na recepção: latências na placa de rede (DMA) e de

interrupção

SUPOSIÇÕES

• Diferenças dos tempos de propagação desprezíveis• Diferenças entre as latências nas estações recebedores

desprezíveis

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 72: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

MEDIDA DE ∆E Estrutura temporal

mB

B

C

t0 t2t1 t3A

mA

∆ ∆E∆E

mA

SINCRONIZAÇÃO

• Propriedades dacomunicaçãoum-para-todos

• B e C recebem mA nomesmo instante t1

• Na recepção de mB, Cdeduz∆E = (t3 − t1)−∆

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 73: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

RESULTADOS EXPERIMENTAIS

• 3 computadores (nServ = 3) e ∆C = 500µs• Pentium IV de 2.4 Ghz e 512 MB de memória• Rede switched-Ethernet 100Mbps (comprimentos ' 5m)

MEDIDAS DE ∆E

Média de 25µs com desvios máximos de 3µs (latências deinterrupção - ' 10µs e no switch)

TAXAS DE TRANSFERÊNCIA

• 1Mbps para a comunicação crítica (determinística)• 46Mbps para a comunicação não crítica

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 74: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

RESULTADOS EXPERIMENTAIS

• 3 computadores (nServ = 3) e ∆C = 500µs• Pentium IV de 2.4 Ghz e 512 MB de memória• Rede switched-Ethernet 100Mbps (comprimentos ' 5m)

MEDIDAS DE ∆E

Média de 25µs com desvios máximos de 3µs (latências deinterrupção - ' 10µs e no switch)

TAXAS DE TRANSFERÊNCIA

• 1Mbps para a comunicação crítica (determinística)• 46Mbps para a comunicação não crítica

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 75: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

RESULTADOS EXPERIMENTAIS

• 3 computadores (nServ = 3) e ∆C = 500µs• Pentium IV de 2.4 Ghz e 512 MB de memória• Rede switched-Ethernet 100Mbps (comprimentos ' 5m)

MEDIDAS DE ∆E

Média de 25µs com desvios máximos de 3µs (latências deinterrupção - ' 10µs e no switch)

TAXAS DE TRANSFERÊNCIA

• 1Mbps para a comunicação crítica (determinística)• 46Mbps para a comunicação não crítica

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 76: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

COMPARAÇÃO NOMAC VERSUS DORIS

SEM COMUNICAÇÃO NÃO-CRÍTICA

Comunicação crítica de período de 500µs ⇒ desvios máximosde 3µs em ambos os caso

COM COMUNICAÇÃO NÃO-CRÍTICA

• NoMAC ⇒ variabilidade de aproximadamente 160µs• DoRiS ⇒ variabilidade idêntica ao caso anterior

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 77: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

COMPARAÇÃO NOMAC VERSUS DORIS

SEM COMUNICAÇÃO NÃO-CRÍTICA

Comunicação crítica de período de 500µs ⇒ desvios máximosde 3µs em ambos os caso

COM COMUNICAÇÃO NÃO-CRÍTICA

• NoMAC ⇒ variabilidade de aproximadamente 160µs• DoRiS ⇒ variabilidade idêntica ao caso anterior

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 78: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

CONCLUSÃO

UM MESTRADO: 3 FACETAS

1 Concepção de um protocolo de comunicação de temporeal

2 Especificação e verificação formal em TLA+3 Implementação no SOTR Xenomai / Linux

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 79: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

PERSPECTIVAS

1 Acrescentar a implementação de DoRiS com omecanismo de reserva

2 Realizar o estudo experimental de DoRiS com cenários decomunicação de redes industriais (falhas)

3 Gerenciamento dinâmico da composição e reconfiguraçãodo grupo de servidor

4 DoRiS: distribuído, descentralizado e determinístico,compartilha um único barramento, tolerante às falhas deomissão e de paradas ⇒ redes sem fios ?

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 80: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

MotivaçãoProtocolo

Implementação

Sistema Operacional de Tempo RealDoRiS na camada RTnet do Xenomai

PUBLICAÇÕES

P. Regnier, G. M. LimaDeterministic integration of hard and soft real-timecommunication over shared-EthernetProc. of Workshop of Tempo Real, 2006

P. Regnier, G. M. Lima, L. P. BarretoAvaliação do determinismo temporal no tratamento deinterrupções em plataformas de tempo real LinuxAccepted for publication by WSO, 2008

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 81: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ROTEIRO

4 APÊNDICEElementos de bibliografiaEspecificação formal

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 82: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ELEMENTOS DE BIBLIOGRAFIA I

L. LamportSpecifying Systems: The TLA+ language and tools forhardware and software engineersAddison Wesley, 2002

D. P. Bovet, M. CesatiUnderstanding the Linux KernelO’Reilly (3rd), 2005

J. Corbet and A. Rubini and G. Kroah-HartmanLinux Device DriversO’Reilly (3rd), 2005

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 83: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ELEMENTOS DE BIBLIOGRAFIA II

J.-D. DecotignieEthernet-based real-time and industrial communicationsProc. IEEE (Special issue on industrial communicationsystems), 93(6):1102-1117, 2005

F. B. Carreiro, J. A. Fonseca and P. PedreirasVirtual Token-Passing Ethernet - VTPEProc. FeT2003 5th IFAC Int. Conf. on Fieldbus Systemsand their Applications, 2003

F. B. Carreiro, J. A. Fonseca and P. PedreirasVirtual Token-Passing Ethernet - VTPEProc. FeT2003 5th IFAC Int. Conf. on Fieldbus Systemsand their Applications, 2003

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 84: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ELEMENTOS DE BIBLIOGRAFIA III

J. Kiszka and B. Wagner and Y. Zhang and J. BroeninkRTnet-A Flexible Hard Real-Time Networking FrameworkProc. of the 10th IEEE International Conference onEmerging Technologies and Factory Automation, 2005

I P. Gerum, K. Yaghmour et al.Xenomaihttp://www.xenomai.org, last access jan. 08

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 85: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ROTEIRO

4 APÊNDICEElementos de bibliografiaEspecificação formal

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 86: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

LÓGICA TEMPORAL DE AÇÕES Volta

Em TLA+, um sistema é representado por um conjunto deconstantes e variáveis

DEFINIÇÕES

Estado ∆= Atribuição de valores as variáveis

Comportamento ∆= Seqüência (infinita) de estados

Predicado ∆= Fórmula que contém variáveis de

um estado sóPasso P : i → f ∆

= seqüência de dois estados conse-cutivos i e f

Transição ∆= Fórmula com valores de variáveis

dos estados i e fAção ∆

= Função de transição booleana

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 87: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ELEMENTOS DA LINGUAGEM TLA+ (INÍCIO) Volta

DEFINIÇÕES

• O operador ′ (linha) define o estado no qual a variável v éconsiderada

v : valor de v no estado iv ′: valor de v no estado f

EXEMPLOS

• Seja P : i → f um passo tal que v = 0 em i e v = 1 em f• [v ′ − v ] é uma função de transição que vale 1 em P⇒ A função de transição [v ′ = v + 1] é uma ação verdadeira

em P

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 88: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ELEMENTOS DA LINGUAGEM TLA+ (FIM) Volta

OPERADOR 2

Num comportamento Σ,uma ação A é verdadeira,ou seja, 2[A]vars

⇔ ∀P : i → f de Σ que alteraas variáveis vars, A é ver-dadeira em P

RELAÇÃO DE SUCESSÃO

A relação de sucessão associada a um passo P : i → f é oconjunto das ações que são definidas sobre P.

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 89: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ENVIO DE MENSAGENS ELEMENTARES Volta

SendElem(t)∆

=∧ Shared .medium = {}∧ Shared .chipTimer = 0∧ let i

= taskId(t)flag

= if ProcState[i ].list 6= 〈〉 then 1 else 0in ∧ Shared .chipCount = i

∧ let resSet∆

= reservation(i)in ∧ Shared ′ = [Shared except

!.macTimer = delta,

!.medium = {[id 7→ i , type 7→ “hard”,

res 7→ resSet , procFlag 7→ flag ]}]∧ TaskState ′ = [TaskState except

![i ].res = [j ∈ Task 7→ if j ∈ resSet then i else @[j ]],![i ].cons = 1]

∧ ProcState ′ = [ProcState except

![i ].token = if flag = 0 then − 1 else @]∧ History ′ = [History except !.elem = @ + 1]

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 90: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ENVIO DE MENSAGENS DE RESERVA Volta

SendRese(t)∆

=∧ Shared .medium = {}∧ Shared .chipTimer = delta

∧ let i∆

= taskId(t)in ∧ TaskState[i ].res[Shared .chipCount ] = i

∧ Shared ′ = [Shared except

!.macTimer = delta,

!.medium = {[id 7→ i , type 7→ “hard”, res 7→ { − 1}]}]∧ TaskState ′ = [j ∈ Task 7→ [TaskState[j ] except

!.res[Shared .chipCount ] = − 1]]∧ History ′ = [History except !.rese = @ + 1]∧ unchanged ProcState

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 91: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

ENVIO DE MENSAGENS NÃO-CRÍTICAS Volta

SendSoft(p)∆

=∧ 2 ∗ delta ≤ Shared .chipTimer

∧ Shared .chipTimer ≤ deltaChip

∧ Shared .medium = {}∧ let i

= procId(p, Proc)lenTX

= lenMsg(i)d

= Shared .chipTimer + lenTX

NoMsg∆

= i ∈ Failed ∨ d > deltaChip

in ∧ i = ProcState[i ].token∧ Shared ′ = [Shared except

!.macTimer = if NoMsg then Infinity else lenTX ,

!.medium = if NoMsg then @ else {[id 7→ i , type 7→ “soft”]}]∧ ProcState ′ = [ProcState except

![i ].token = if NoMsg then @ else next(i , Shared .proc),![i ].list = if d > deltaChip ∨@ = 〈〉 then @ else Tail(@),![i ].count = if NoMsg then @ else @ + 1]

∧ unchanged 〈TaskState, History〉

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 92: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

RECEPÇÃO DE MENSAGENS NÃO-CRÍTICAS Volta

Receive(m)∆

=∧ Shared .macTimer = 0∧ case m.type = “hard” → RecvHard(m)

2 m.type = “soft” → RecvSoft(m)

RecvSoft(m)∆

=∧ let lastSoft

= ∧ 2 ∗ delta ≤ Shared .chipTimer

∧ Shared .chipTimer ≤ deltaChip

∧ ∀ j ∈ Proc : ProcState[j ].token = − 1in Shared ′ = [Shared except

!.medium = {},!.macTimer = if lastSoft then Infinity else @,

!.proc = if lastSoft then {} else @]∧ ProcState ′ = [j ∈ (Proc \ Shared .proc) ∪ {m.id} 7→ ProcState[j ]] @@

[j ∈ Shared .proc \ {m.id} 7→ [ProcState[j ] except

!.token = next(@, Shared .proc),!.count = @ + 1]]

∧ unchanged 〈TaskState, History〉

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 93: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

RECEPÇÃO DE MENSAGENS CRÍTICAS Volta

RecvHard(m)∆

=∧ case m.res 6= { − 1} ∧m.procFlag = 1

→ ∧ Shared ′ = [Shared except !.medium = {},!.proc = @ ∪ {m.id}]

∧ unchanged ProcState

2 m.res 6= { − 1} ∧m.procFlag = 0→ ∧ Shared ′ = [Shared except !.medium = {},

!.proc = @ \ {m.id}]∧ ProcState ′ =

[i ∈ (Proc \ Shared .proc) ∪ NoRecvSet(m) 7→ ProcState[i ]] @@[i ∈ Shared .proc \NoRecvSet(m) 7→ [ProcState[i ] except

!.token = if m.id = ProcState[i ].tokenthen next(m.id , Shared .proc)else @]]

2 m.res = { − 1}→ ∧ Shared ′ = [Shared except !.medium = {}]

∧ unchanged ProcState

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 94: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

RECEPÇÃO DE MENSAGENS CRÍTICAS (FIM) Volta

∧ TaskState ′ =[i ∈ NoRecvSet(m) 7→ TaskState[i ]] @@[i ∈ Task \NoRecvSet(m) 7→ [TaskState[i ] except

! .msg = Append(@, m),! .execTimer = if Len(TaskState[i ].msg) = 0 then pi else @,

! .cons = if m.res 6= { − 1} then @ + 1 else @,

! .res = if m.res = { − 1}then [j ∈ Task 7→ if j = m.id then − 1 else @[j ]]else [j ∈ Task 7→ if j ∈ m.res then m.id else @[j ]]]]

∧ unchanged History

NoRecvSet(m)∆

= if Shared .chipCount ∈ {2, 4} then {m.id , 3} else {m.id}

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 95: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

PASSAGEM DO TEMPO Volta

NextTick∆

=let noRese

= ∧ Shared .medium = {}∧ Shared .chipTimer = delta

∧ ∀ i ∈ Task : TaskState[i ].res[Shared .chipCount ] 6= i

noSoft∆

= ∧ 2 ∗ delta ≤ Shared .chipTimer

∧ Shared .chipTimer ≤ deltaChip

∧ Shared .medium = {}∧ ∀ j ∈ Proc : ProcState[j ].token = − 1

tmp∆

= min({TaskState[i ].execTimer : i ∈ Task} ∪{deltaChip − Shared .chipTimer})

d∆

= case noRese → min({delta, tmp})2 noSoft → min({tmp})2 other → min({Shared .macTimer , tmp})

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 96: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

PASSAGEM DO TEMPO (FIM) Volta

in ∧ d > 0∧ Shared ′ = [Shared except

!.chipTimer = @ + d ,

!.macTimer = case noRese → @2 noSoft → Infinity

2 @ = Infinity → Infinity

2 other → @− d ]∧ TaskState ′ = [i ∈ Task 7→ [TaskState[i ] except

!.msg = if TaskState[i ].execTimer − d = 0 then Tail(@) else @,

!.execTimer = if @− d = 0then if Len(TaskState[i ].msg) > 1

then pi

else Infinity

else if @ = Infinity then @ else @− d ]]∧ unchanged 〈ProcState, History〉

1

Paul Regnier DoRiS - Comunicação determinística em SOTR

Page 97: Especificação, Verificação e Implementação de um ...pregnier/pub/MScSlides.pdf · Motivação Protocolo Implementação O problema Ethernet e Tempo Real ROTEIRO 1 MOTIVAÇÃO

ApêndiceElementos de bibliografiaEspecificação formal

TEMPO CIRCULAR Volta

NextChip∆

=∧ Shared .medium = {} ∧ Shared .chipTimer = deltaChip

∧ let Overflow∆

= ∃ j ∈ Shared .proc : Len(ProcState[j ].list) > 14TimeCircle

= Shared .cycleCount = horiz

NextCycle∆

= Shared .chipCount = nServ

in ∧ Shared ′ = [Shared except !.macTimer = 0,!.chipCount = (@ % nServ) + 1,!.chipTimer = if Overflow then − 1 else 0,!.cycleCount = if TimeCircle then 1

else if NextCycle then @ + 1 else @]∧ ProcState ′ = [j ∈ (Proc \ Shared .proc) 7→ ProcState[j ]] @@

[j ∈ Shared .proc 7→ [ProcState[j ] except !.count = 0,!.token = if ProcState[j ].count = 0 then (@ % nServ) + 1 else @,

!.list = if NextCycle then @ ◦ list(j , Shared .cycleCount) else @]]∧ if NextCycle then History ′ = [elem 7→ 0, rese 7→ 0]

else unchanged History

∧ unchanged TaskState

1

Paul Regnier DoRiS - Comunicação determinística em SOTR