• Nenhum resultado encontrado

5.3 Estudos de Caso dos Modelos de NCSs com Offset Dinâmico, Relógios e Bar-

5.3.1 Verificação simbólica

As propriedades a serem verificadas são descritas na linguagem de especificação no forma- lismo da ferramenta UPPAAL, onde: Sj, Cj e SCj equivalem, respectivamente, aos autômatos

tarefa aquisição, tarefa controle e tarefa aquisição e controle de uma malha j; N_Escalon, F im_Ciclo e T x_F im são lugares e Resp_F , Resp_SC e Resp_CA relógios locais equiva- lentes aos seus autômatos.

1. O sistema é livre de deadlock? A[] not deadlock

2. O deadline fim a fim da malha j é satisfeito? A[] not Sj.N_Escalon

3. Qual o tempo de resposta fim a fim no pior caso da malha j? sup{Sj.F im_Ciclo} : Sj.Resp_F

4. Qual o tempo de resposta fim a fim no melhor caso da malha j? inf {Sj.F im_Ciclo} : Sj.Resp_F

5. Qual o tempo de resposta no pior caso da mensagem sensor-controlador da malha j? sup{Sj.T x_F im} : Sj.Resp_SC

6. Qual o tempo de resposta no melhor caso da mensagem sensor-controlador da malha j? inf {Sj.T x_F im} : Sj.Resp_SC

7. Qual o tempo de resposta no pior caso da mensagem controlador-atuador da malha j? sup{SCj.T x_F im} : SCj.Resp_CA

8. Qual o tempo de resposta no melhor caso da mensagem controlador-atuador da malha j? inf {SCj.T x_F im} : SCj.Resp_CA

9. Qual o tempo de resposta no pior caso da mensagem controlador-atuador da malha j? sup{Cj.T x_F im} : Cj.Resp_CA

10. Qual o tempo de resposta no melhor caso da mensagem controlador-atuador da malha j? inf {Cj.T x_F im} : Cj.Resp_CA

A propriedade 1 é usada para verificar se existe deadlock no modelo e a propriedade 2 para verificar se o deadline fim a fim de cada malha será satisfeito. Isso ocorrerá, se e somente se, o lugar N_Escalon nunca for alcançado para todo caminho. As propriedades 3 e 4 são usadas para determinar, respectivamente, os tempos de resposta fim a fim no pior e melhor caso das malhas

j em qualquer um dos três modelos. As propriedades 5 e 6 são usadas para determinar, respec- tivamente, os tempos de resposta da mensagem sensor-controlador no pior e melhor caso das malhas j nos modelos das arquiteturas S-CA e S-C-A. As propriedades 7 e 8 são usadas para determinar, respectivamente, os tempos de resposta da mensagem controlador-atuador no pior e melhor caso das malhas j no modelo da arquitetura SC-A. As propriedades 9 e 10 são usadas para determinar, respectivamente, os tempos de resposta da mensagem controlador-atuador no pior e melhor caso das malhas j no modelo da arquitetura S-C-A. Os resultados dos tempos de resposta das mensagens sensor-controlador e controlador-atuador, no pior caso, respectiva- mente, para os modelos S-CA e SC-A, serão comparados com os resultados obtidos via técnica analítica de Davis et al. (2007) (Ver seção 3.4.3 no Capítulo 3) adaptada para NCSs CAN. En- quanto que, os resultados dos tempos de resposta fim a fim, no pior caso, para o modelo S-C-A, serão comparados com os resultados obtidos via técnica analítica de Henderson, Kendall e Rob- son (2001) corrigida4com o trabalho de Davis et al. (2007). Programas em linguagem C foram

desenvolvidos para determinar os tempos de resposta via as técnicas analíticas de Davis et al. (2007) e Henderson, Kendall e Robson (2001).

Inicialmente, consideramos o NCS apenas com três malhas de controle (0, 1 e 2). A taxa de transmissão foi igual a 500 Kbits/s. Para todos os três modelos, foi verificada a ausência de deadlocke a propriedade 2 foi satisfeita para todas as malhas de controle do sistema. Portanto, os requisitos de tempo do sistema foram satisfeitos. O tempo gasto para verificação dessas propriedades, em cada modelo, foi de aproximadamente 20 s.

Para o modelo da arquitetura SC_A (Figura 5.3), as propriedades 3, 4, 7 e 8 foram verifica- das (tempo de verificação igual a 20 s) e os resultados são apresentados na Tabela 5.3. Para o modelo da arquitetura S_CA (Figura 5.4), as propriedades 3, 4, 5 e 6 foram verificadas (tempo de verificação igual a 20 s) e os resultados são apresentados na Tabela 5.4. Finalmente, para o modelo da arquitetura S_C_A (Figura 5.5) as propriedades de 3, 4, 5, 6, 9 e 10 foram verificadas (tempo de verificação igual a 14 min) e os resultados são apresentados na Tabela 5.5.

Tabela 5.3: Tempos de resposta das malhas de controle (Mj) para o NCS CAN na arquitetura

SC-A em ms. CMC Analítica Mj RmaxMj R min Mj R max

mcaj Rminmcaj RMmaxj

0 3,926 3,704 3,445 3,223 3,926

1 3,917 3,505 3,505 3,024 3,917

2 3,917 3,505 3,436 3,024 3,917

4A análise de Henderson, Kendall e Robson (2001) é baseada no trabalho incompleta de Tindell e Burns

Tabela 5.4: Tempos de resposta das malhas de controle (Mj) para o NCS CAN na arquitetura S-CA em ms. CMC Analítica Mj RmaxMj R min Mj R max mscj Rminmscj RmaxMj 0 3,926 3,704 0,894 0,672 3,926 1 3,917 3,505 1,084 0,672 3,917 2 3,917 3,505 1,084 0,672 3,917

Tabela 5.5: Tempos de resposta das malhas de controle (Mj) para o NCS CAN na arquitetura

S-C-A em ms. CMC Analítica Mj RmaxMj R min Mj R max

mscj Rminmscj Rmmaxcaj Rminmcaj RmaxMj R

min Mj

0 4,300 3,856 0,894 0,672 2,925 2,703 4,300 3,856

1 4,291 3,657 1,084 0,672 2,916 2,504 4,481 3,657

2 4,291 3,657 1,084 0,672 2,916 2,504 4,481 3,657

Veja que os resultados obtidos nas Tabelas 5.3 e 5.4 são idênticos para os tempos de resposta fim a fim no pior e melhor caso. Esses resultados (apenas pior caso) são também idênticos aos obtidos por meio da análise de Davis et al. (2007). Observe na Tabela 5.3, que os tempos de resposta fim a fim no pior caso para cada malha j (Rmax

Mj ) equivale ao tempo de resposta no

pior caso da mensagem controlador-atuador (Rmax

mcaj) mais o tempo de computação da tarefa de

atuação (Cmax

aj ). Por exemplo, para a malha j = 0, R

max Mj = R

max

mcaj + Camaxj = 3,445 + 0,481 =

3,926 µs. Uma análise semelhante pode ser feita para os tempos de resposta fim a fim no melhor caso e para os resultados apresentados na Tabela 5.4.

Para os resultados obtidos a partir do modelo da arquitetura S_C_A (ver Tabela 5.5), observe que o tempo de resposta fim a fim no pior caso para a malha 0 equivale a soma dos tempos de resposta no pior caso das mensagens e do tempo de computação da tarefa de atuação (Rmax

M0 =

0,894 + 2,925 + 0,481 = 4,300 ms). Esse resultado é compatível com a análise de escalonamento holístico (HENDERSON; KENDALL; ROBSON, 2001). O tempo de resposta Rmax

msc1 = 0,894 µs

equivale a soma do tempo de computação da tarefa de aquisição (0,520 ms), atraso bloqueio no pior caso mais o intervalo entre mensagens (0,184 + 0,006 = 0,190 ms) e tempo de transmissão da mensagem no pior caso (0,184 ms). O valor de Rmax

mca1 = 2,925 ms pode ser obtido de forma

semelhante, ou seja, a soma do tempo de computação da tarefa de controle (2,551 ms), atraso de bloqueio no pior caso mais o intervalo entre mensagens (0,184 + 0,006 = 0,190 ms) e o tempo de transmissão da mensagem no pior caso (0,184 ms). O resultado dos tempos de resposta da malha 1 indicam, aparentemente, que os cenários de pior caso para as mensagens msc1 e

resposta fim a fim das malhas 2 e 3 não correspondem a soma dos tempos de resposta no pior caso das mensagens e do tempo de computação da tarefa de atuação. Nas malhas de controle 1 e 2, a soma desses tempos (1,084 + 2,916 + 0,481 = 4,481 ms) é 0,190 ms maior que o tempo de resposta fim a fim obtido via a técnica de verificação de modelos (Rmax

M3 = 4,291 ms).

Portanto, para NCSs com a arquitetura apresentada nessa seção, a análise de escalonamento holístico atual resulta em tempos de resposta fim a fim pessimistas. No cenário de melhor caso, observamos que os tempos de resposta das mensagens mscj(R

min

mscj) são iguais aos obtidos

usando a análise dos tempos de resposta no melhor caso das mensagens CAN de Henderson, Kendall e Robson (2001), ou seja, a soma do tempo de computação da tarefa de aquisição (0,520 ms) e do tempo de transmissão no melhor caso (0,152 ms). Esse é um cenário onde a mensagem não sofre bloqueio e interferência de outras mensagens. Um resultado semelhante é obtido para as mensagens mcaj.

Não foi possível verificar as propriedades para mais de três malhas de controle, devido uma explosão do espaço de estados. Para resolver esse problema foi utilizada a verificação estatística do modelo. Na seção seguinte apresenta-se os resultados obtidos utilizando essa abordagem.