Sistemas de Tempo-Real Exercı́cios 1. Redes de Petri nada mais são do que grafos dirigidos, os quais podem ser facilmente mapeados para autômatos de estados finitos. Explique como esses últimos podem ser usados para modelar sistemas de tempo-real? 2. Dentre as relações de ocorrência de eventos definidas no começo da disciplina, quais criam situações de dependência para a geração de um modelo de um sistema de temporeal e quais criam situações de concorrência? 3. Examinando-se as definições de ocorrência de intervalos e a modelagem de sistemas por redes de Petri, como pode ser feito o mapeamento entre aquelas definições e as redes de Petri, em especı́fico para as definições de STARTS, BEFORE e DURING? 4. O tempo de relógio é medido a partir de pulsos gerados a intervalos especı́ficos. Qual a relação entre o tamanho desse intervalo e a precisão no tratamento de ocorrências de eventos num STR? 5. Redes de Petri nada mais são do que grafos dirigidos, os quais podem ser facilmente mapeados para autômatos de estados finitos. Explique como esses últimos podem ser usados para modelar sistemas de tempo-real? 6. Considere um sistema que faça o controle de irrigação em uma horta. Esse sistema deve ligar a irrigação por 60 segundos a cada 30 minutos se não houver chovido nesse perı́odo e houver luz solar, ou por 30 segundos a cada 60 minutos se não houver chovido e não houver luz solar. Construa uma TBN que modele seu funcionamento. 7. Considere um sistema de controle de tráfego em uma rodovia, que identifique situações de congestionamento a partir de informações sobre o fluxo de veı́culos que entram e saem da rodovia em cada um de seus entroncamentos. Monte uma TBN que modele um STR para esse problema. Considere que existem 4 saı́das e 4 entradas na rodovia e que deve existir uma relação temporal entre as informações de fluxo. 8. Processador em pipeline realiza a execução de uma instrução de máquina através de seu processamento em vários estágios, cada um dedicado a uma tarefa especı́fica, como busca da instrução na memória, decodificação da instrução, busca dos dados, execução da operação definida pela instrução e armazenamento de possı́veis respostas. Os vários estágios devem funcionar de modo sincronizado, com cada instrução passando por eles na ordem descrita há pouco, com uma instrução em cada estágio. Considere que esse pipeline pode ser descrito como um sistema de tempo-real, em que as “tarefas” são as ações executadas em cada estágio. Construa um modelo em TBN para o pipeline. Defina, nesse caso, os tempos gastos como sendo quantidades de ciclos de máquina. 9. Considere um sistema de controle de acesso a disco operando em FIFO. Construa um modelo em rede de Petri TBN para esse sistema. Considere para tanto que uma trilha é atendida entre 12 e 15 ms, o intervalo mı́nimo entre chegadas de novos pedidos é de 5 ms e que o sistema deve fornecer, após o atendimento de uma dada trilha, informação 1 sobre o tempo gasto para o seu atendimento. O tempo para processamento do FIFO pode ser desprezado. 10. Reconstrua o modelo anterior, agora considerando que o atendimento das solicitações é feito usando o algoritmo SCAN. 11. Em uma roda gigante tem-se que cada banco têm espaço para duas pessoas e que cada pessoa ficará na roda no mı́nimo 8 voltas ou 4 minutos (o que acontecer antes). Além disso, bancos podem ser ocupados diretamente por duas pessoas ou por uma e depois outra. Cada operação de saı́da de uma pessoa retirará SEMPRE duas pessoas, exceto se houver apenas uma pessoa no banco. A operação de entrada de pessoas leva no mı́nimo 30 segundos (incluindo-se a saı́da de quem ocupava o banco) e que, finalmente, existem 16 bancos na roda. Construa uma TBN para essa rede. 12. Considere um sistema de escalonamento em SRTF. Construa um modelo em rede TERN para esse sistema. Considere para tanto que os processos chegam ao sistema com o valor esperado de tempo de execução e que a retirada de um processo na cpu ocorre caso ele termine ou faça E/S ou que seja sinalizada a chegada de um novo processo ou a conclusão de uma operação de E/S 13. Uma rede TERN pode, como visto, ser usada para a modelagem de sistemas de temporeal. Como podem ser representadas (e operadas) nessas redes as chamadas transições fortes e fracas? 14. O que deve ser modificado na questão 7 para que se possa fazer o modelo do mesmo sistema agora usando TERNs? 15. Reconstrua o modelo da questão 10, agora utilizando uma TERN. 16. Um sistema de controle de tração em um automóvel é um dispositivo eletrônico que permite a aplicação exata de tração sobre as rodas do veı́culo para que o mesmo não queime pneus numa arrancada nem tenha diferenças de tração em curvas (o que causaria derrapagens se ocorressem). Nesse sistema o pedal do acelerador é ligado ao sistema, junto com as rodas de tração do veı́culo, ficando um processador encarregado de aplicar ou não a força do pedal sobre o motor, dependendo dos sinais de tração vindo das rodas. Considere que a leitura da pressão do pedal é feita a cada 5ms, das rodas a cada 3ms e a atuação sobre o motor é feita em intervalos de no mı́nimo 10 ms. Construa uma TERN para modelar esse sistema. 17. Um sistema de controle de tráfego aéreo está organizado em três tarefas principais: leitura do radar, controle de aviões na pista e despacho de comandos (pouso, decolagem, espera). Sabendo-se que essas tarefas interagem, defina como isso pode ser feito (quem interage com quem e porque) e como o ambiente completo (incluindo os aviões) poderia ser representado através de uma rede de Petri. 18. Refaça o modelo da roda gigante (questão 11) agora usando TERN. 2