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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Introdução a Algoritmos
Metodologia de testes Nome: Gustavo G. Quintão
Modelagem de Estados.
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
Identificando requisitos
Objetivos e princípios da OO
Unidades de Execução e de Controle Sistemas Digitais.
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
Agentes de Software e Pesquisa em Defesa
Introdução à Informática
Viviane Torres da Silva
Os Sistemas Multi-agente Viviane Torres da Silva
Professora: Aline Vasconcelos IF Fluminense
Modelagem e simulação de sistemas
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Prof. MSc Sofia Mara de Souza AULA3
COMO FUNCIONA A SIMULAÇÃO
ESTRUTURA DE COMUNICAÇÃO DE DADOS
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
UML - Unified Modeling Language
Diagrama de Estados.
Paradigmas de programação
Tópicos em Sistemas Distribuídos
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
ANÁLISE DE REQUISITOS DE ENGENHARIA DE SOFTWARE
UML - Unified Modeling Language
REDUNDÂNCIA POR SOFTWARE
Diagrama de Atividades
Princípios do SCO.
Introdução a Programação
Arquitetura Cliente /Servidor
Sistemas Distribuídos
Thelma Elita Colanzi Lopes
Conteúdo Processos e threads Partes do processo
Sistemas Distribuídos
Programação Orientada à Objetos
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
BD Distribuído Conceitos Iniciais.
Análise e Projeto de Sistemas
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Banco de Dados Aplicado ao Desenvolvimento de Software
Sistemas operacionais
Modelagem de Sistemas Dinâmicos
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Introdução a Banco de Dados Aula 04
Laboratório de Programação
Capítulo 10 – Qualidade de Produtos de Software Escrito por: Renata Araújo Vírginia Chalegre Apresentado por: Cleice.
Linguagens de Programação
Integração de Ferramentas CASE
Engenharia de Software
Tolerância a Falhas Carlos Oberdan Rolim Ciência da Computação.
UML Statechart CIn-UFPE.
Certificação e Auditoria
Universidade Federal de Pernambuco
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Aula 02 de Eng. de Requisitos
Sistemas Operacionais IV – Gerenciamento de E/S
Algoritmo e Estrutura de Dados I Introdução ao conceito de algoritmo Márcia Marra
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Análise e Conceção de Sistemas
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
Bruna Cavallero Martins Universidade Católica de Pelotas.
Matheus Stigger Sistemas operacionais em carros. Eletrônica Embarcada A eletrônica embarcada consiste da eletrônica desenvolvida para uma aplicação móvel.
Maique C. Garcia Pelotas, Junho de  Controle Automático Autônomo  Através da identificação da ação mais adequada em caso de um diagnóstico de.
Transcrição da apresentação:

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 10 40 minutos : arquitetura 10 60 minutos : Clocks 20 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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