DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

30
DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem

Transcript of DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

Page 1: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Sistemas em Tempo Real

Módulo 4: Modelagem

Page 2: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Ementa:

4. Modelagem de Sistemas em Tempo Real: Estados; Transições; Processos de Estados Finitos; Modelando processos concorrentes.

Roteiro

Page 3: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

- Modelagem: foco na estrutura e nos aspectos temporais do comportamento do sistema;- Distinção entre características relevantes e não relevantes;- Levantamento dos elementos estruturais do sistema;- Controle lógico e controle temporal;- Estado interno e estado histórico de um nó:s-state e h-state;

Introdução

Page 4: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O propósito do modelo

- Capacidade limitada das informações do mundo real;- Premissas: considerações sobre entendimento e simplificações utilizadas na construção do modelo;- A probabilidade que uma premissa assumida durante o processo de modelagem se refletirá no mundo real é chamada de Cobertura de Premissa (assumption coverage);

Introdução

Page 5: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O propósito do modelo

- Premissas importantes na modelagem do sistema: hipótese de carga e hipótese de falha;

- hipótese de carga: todo sistema computacional tem uma capacidade finita de processamento. A hipótese de carga considera o máximo de carga que o sistema pode processar, o pico de carga;

Introdução

Page 6: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O propósito do modelo

- hipótese de falha: um sistema de computação tolerante a falhas é projetado para suportar as falhas cobertas pela hipótese de falha, ou seja, o conjunto de premissas que relatam o tipo a freqüência de falhas que o sistema supostamente manipulará;- Se a falha ocorrida do mundo real não foi coberta pela hipótese de falha, mesmo um perfeito sistema tolerante a falha irá falhar;

Introdução

Page 7: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O que é relevante?

- Noção de tempo: a progressão física do tempo requer a maior atenção de sistema de tempo real;- Duração das ações: tempo decorrido do estímulo até a resposta da ação;- Duração da ação, duração mínima- pior caso de execução (WECT)- Jitter: diferença entre o WECT e a duração mínima de uma ação;

Modelagem de Sistemas em Tempo Real

Page 8: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O que é relevante?

- Freqüência de ativação: número máximo de ativações de uma unidade por unidade de tempo;- Este número pode ser determinado considerando as restrições físicas do sistema, partindo da capacidade finita a partir dos parâmetros físicos do sistema;

Modelagem de Sistemas em Tempo Real

Page 9: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O que NÃO é relevante?

- São os atributos do sistema que podem ser descartados sem perda de propósito do modelo;- Representação: foco na análise temporal e nas variáveis de tempo real;

Exemplo: um sensor de temperatura

Modelagem de Sistemas em Tempo Real

Amostragem/

Conversão

Processamento

Page 10: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

O que NÃO é relevante?

- Detalhes de transformações de dados: descrever em passos mais abstratos:

- Um dada entrada- Algoritmo em execução- Resultados processados;- Modificação de parâmetros internos;- Recursos para o funcionamento do

algoritmo

Modelagem de Sistemas em Tempo Real

Page 11: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Os elementos estruturais:

- Tarefa: S-TaskC-Task

- Nó- Estrutura de um nó- FTU- Cluster

Modelagem de Sistemas em Tempo Real

Page 12: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Os elementos estruturais:

- Tarefa: Execução seqüencial de comandos. Inicia-se com leitura de dados, processamento dos mesmos e termina com produção de resultados;

- S-Task: quando uma tarefa não necessita nenhum ponto de sincronização;- C-Task: quando uma tarefa tem ponto de sincronização, como por exemplo um semáforo;

Modelagem de Sistemas em Tempo Real

Page 13: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Os elementos estruturais:

- Nó: é um estrutura microprocessada auto-contida com hardware, interface de comunicação, software e que processa uma determinada operação para o sistema;

- O nó é uma das mais importantes abstraçoes num sistema de tempo real distribuído;

Modelagem de Sistemas em Tempo Real

Page 14: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Os elementos estruturais:

- Estrutura de um nó: é composta pelo hardware do nó, como processador, interfaces e memória. O software do nó é dividido em 2 partes:

- i-state: estrutura de dado estática, como código de inicialização, geralmente armazenado em ROM;

- h-state: estrutura de dados dinâmica, muda conforme processamento do sistema, geralmente armazenado em RAM;

Modelagem de Sistemas em Tempo Real

Page 15: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Os elementos estruturais:

- Estruturas estáticas, como ROM, necessitam menos silício que memórias RAM. Portanto, implementações que fazem uso de ROM normalmente são mais robustas. Esta prática deve ser levada em consideração principalmente no projeto de sistemas embarcados [KOPETZ 1997];

Modelagem de Sistemas em Tempo Real

Page 16: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Os elementos estruturais:

- FTU: Abstração de um conjunto de nós replicados, que implementam tolerância a falhas por replicação.

- Cluster: compreende um conjunto de FTUs que cooperam para formar um serviço tolerante a falhas.

Modelagem de Sistemas em Tempo Real

Page 17: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Exemplo Ilustrativo

Um UAV (Unmanned Air Vehicle) é um veículo aéreo não tripulado que realiza atividades através de controle autônomo ou remoto. Esta categoria de aeronave vem sendo cada vez mais utilizada, tanto em aplicações civis (mapeamento de regiões, estudos climáticos etc.) quanto em aplicações militares (coleta de informações sobre forças inimigas e suas instalações, reconhecimento de armas químicas e biológicas, lançamento de mísseis);

Modelando processos concorrentes

Page 18: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Modelando processos concorrentes

Ilustração de um UAV

Page 19: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UAV (Unmanned Air Vehicle)

O tipo de UAV modelado no exemplo aqui descrito é conhecido como préprogramado, pois é completamente autônomo, capaz de realizar vôos completos entre dois pontos previamente conhecidos e reagir adequadamente em situações não previstas sem necessidade de intervenção humana.

Modelando processos concorrentes

Page 20: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UAV (Unmanned Air Vehicle)

De forma simplificada, dois sistemas computacionais básicos fazem parte do exemplo: o Sistema de Controle de Navegação (SCN) e o Sistema de Controle de Atitude (SCA).

O SCN é responsável por criar/gerenciar umconjunto de metas que viabilizem a partida e a chegada ao destino. Um exemplo de meta pode ser sobrevoar uma certa área, a certa altura, seguindo uma determinada rota de vôo. O SCN, portanto, necessita de informações sobre a posição relativa da aeronave a cada instante.

Modelando processos concorrentes

Page 21: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UAV (Unmanned Air Vehicle)

O SCA interage com sensores e/ou atuadores para cumprir a meta independentemente das perturbações externas (e.g., mudança de velocidade do vento) que possam ocorrer.

Para efeito de ilustração, o sistema SCN é composto de três tarefas (gps, vrf e ctl) enquanto que o SCA contém apenas uma tarefa (atd).

Modelando processos concorrentes

Page 22: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UAV (Unmanned Air Vehicle)

A tarefa gps é periódica e responsável pela leitura por GPS dos dados de localização.

A tarefa vrf, também periódica, se encarrega de verificar se a rota que está sendo feita corresponde à rota estabelecida. O procedimento de verificação pode assimrequisitar a ativação da tarefa de controle (ctl) caso seja necessário.

Modelando processos concorrentes

Page 23: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UAV (Unmanned Air Vehicle)

Quando acionada, ctl tem por finalidade estabelecer nova meta que deverá ser obedecida pelo SCA. Por exemplo, ctl pode alterar ou ajustar alguns parâmetros de definição de rota de vôo como, por exemplo, direção e altura. Note que ctl é esporádica e o tempo mínimo entre duas ativações consecutivas é igual ao período de vrf.

Os parâmetros de definição de rota de vôo são lidos pelo sistema SCA, através da tarefa atd. Isso significa que acomunicação entre ctl e atd é aqui modelada por compartilhamento de recursos.

Modelando processos concorrentes

Page 24: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UAV (Unmanned Air Vehicle)

Com base nestes parâmetros e nas informações dos sensores do UAV, o SCA deve ser capaz de determinar os posicionamentos adequados dos atuadores para que a meta determinada pelo SCN seja cumprida. É importante observar que, mesmo que não haja alteração dos parâmetros de rota de vôo, pode haver a necessidade de se executar atd (outros eventos, tais como mudança na velocidade ou direção do vento, por exemplo, podem requerer seu processamento).

Modelando processos concorrentes

Page 25: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UPPALL

O UPPAAL é uma ferramenta para modelagem, simulaçãoe verificação de sistemas de tempo-real. Esta ferramenta está disponível gratuitamente para fins não comerciais. Para a apresentação do UPPAAL, serão modeladas algumastarefas do exemplo do UAV definido na seção anterior.

Modelando processos concorrentes

Page 26: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UPPALL -

Um sistema é modelado no UPPAAL através de uma variante dos autômatos com tempo (timed automata). Um autômato com tempo é um autômato finito incrementado com um conjunto finito de relógios contínuos. Neste modelo, as transições são assumidas como instantâneas, podendo, entretanto, o tempo evoluir enquanto o autômato permanece em um de seus estados.

Modelando processos concorrentes

Page 27: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UPPALL

A cada transição é possível associar três elementos:

um guarda, que é uma condição de valores de relógio. A transição somente pode ser realizada se os valores atuais dos relógios satisfizerem a condição descrita;

um rótulo ou nome de ação similar aos existentes nos autômatos tradicionais. Condições de sincronização podem ser representadas por ações que descrevam leitura (nomeCanal?) e escrita (nomeCanal!) em canais;

Modelando processos concorrentes

Page 28: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UPPALL

um conjunto reset composto por uma coleção de relógios, que serão reiniciados quando a transição for executada.

A cada estado pode também ser associado um conjunto de condições de valores de relógios que deve sempre ser respeitado pelo sistema, chamado de invariantes de estados.

Modelando processos concorrentes

Page 29: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

UPPALL

Na figura a seguir, apresentada a seguir, a expressão

local >= T_VRF

representa um guarda (onde >= significa na sintaxe de UPPAAL), a variável controle! Representa um rótulo de ação e a expressão tmpExec := 0 representa um elemento de um conjunto reset. A condição tmpExec <= C_VRF é um invariante para o estado Calc.

Modelando processos concorrentes

Page 30: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 4: Modelagem.

DETI - UFCSistema em Tempo Real Jarbas Silveira

Modelando processos concorrentes

Modelagem da Tarefa vrf do UAV