A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas em Tempo Real Módulo 4: Modelagem Jarbas Silveira

Apresentações semelhantes


Apresentação em tema: "Sistemas em Tempo Real Módulo 4: Modelagem Jarbas Silveira"— Transcrição da apresentação:

1 Sistemas em Tempo Real Módulo 4: Modelagem Jarbas Silveira
4 horas de aula : 2 x 20 minutos de exercício e 3 e 20 min de exposição. Necessário: 80 transparências. 1.o tempo: 2 horas e 15 min (135min) Transparências Programação: 30 minutos : famílias 40 minutos : arquitetura 60 minutos : Clocks Intervalo 2.o tempo: 2 horas e 15 min (135min) Programação: 20 minutos : exercícios sobre clocks 60 minutos : inicialização 20 20 minutos : exercícios sobre inicialização 30 minutos : características especiais 20 Jarbas Silveira

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

3 Introdução - 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; Jarbas Silveira

4 Introdução 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); Jarbas Silveira

5 Introdução 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; Jarbas Silveira

6 Introdução 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; Jarbas Silveira

7 Modelagem de Sistemas em Tempo Real
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; Jarbas Silveira 7

8 Modelagem de Sistemas em Tempo Real
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; Jarbas Silveira 8

9 Amostragem/Conversão
Modelagem de Sistemas em Tempo Real 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 Sensor Amostragem/Conversão Processamento Jarbas Silveira 9

10 Modelagem de Sistemas em Tempo Real
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 Jarbas Silveira 10

11 Modelagem de Sistemas em Tempo Real
Os elementos estruturais: - Tarefa: S-Task C-Task - Nó - Estrutura de um nó - FTU - Cluster Jarbas Silveira 11

12 Modelagem de Sistemas em Tempo Real
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; Jarbas Silveira 12

13 Modelagem de Sistemas em Tempo Real
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; Jarbas Silveira 13

14 Modelagem de Sistemas em Tempo Real
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; Jarbas Silveira 14

15 Modelagem de Sistemas em Tempo Real
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]; Jarbas Silveira 15

16 Modelagem de Sistemas em Tempo Real
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. Jarbas Silveira 16

17 Modelando processos concorrentes
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); Jarbas Silveira 17

18 Modelando processos concorrentes
Ilustração de um UAV Jarbas Silveira 18

19 Modelando processos concorrentes
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. Jarbas Silveira 19

20 Modelando processos concorrentes
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 um conjunto 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. Jarbas Silveira 20

21 Modelando processos concorrentes
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). Jarbas Silveira 21

22 Modelando processos concorrentes
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 assim requisitar a ativação da tarefa de controle (ctl) caso seja necessário. Jarbas Silveira 22

23 Modelando processos concorrentes
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 a comunicação entre ctl e atd é aqui modelada por compartilhamento de recursos. Jarbas Silveira 23

24 Modelando processos concorrentes
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). Jarbas Silveira 24

25 Modelando processos concorrentes
UPPALL O UPPAAL é uma ferramenta para modelagem, simulação e 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 algumas tarefas do exemplo do UAV definido na seção anterior. Jarbas Silveira 25

26 Modelando processos concorrentes
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. Jarbas Silveira 26

27 Modelando processos concorrentes
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; Jarbas Silveira 27

28 Modelando processos concorrentes
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. Jarbas Silveira 28

29 Modelando processos concorrentes
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. Jarbas Silveira 29

30 Modelando processos concorrentes
Modelagem da Tarefa vrf do UAV Jarbas Silveira 30


Carregar ppt "Sistemas em Tempo Real Módulo 4: Modelagem Jarbas Silveira"

Apresentações semelhantes


Anúncios Google