SISTEMAS TOLERANTES A FALTAS e TEMPO-REAL
Licenciatura em Informática
1999/2000 - 2 Semestre
Trabalho prático
O trabalho consiste em concretizar um sistema que ilustre o
funcionamento de uma arquitectura distribuída de tempo-real estimulada
pelo tempo (este conceitos serão leccionados nas aulas
teórico-práticas).
A arquitectura deve concretizar uma aplicação distribuida que consiste
num jogo de computador rudimentar: os jogadores movem-se num labirinto
e podem disparar um contra os outros. O jogo deve ser concretizado
numa arquitectura distribuída com vários nós interligados por uma rede
local e incluir os seguintes nós:
- Dois nós "sensores" que lêm o teclado de dois jogadores
distintos.
- Dois nós que mantêm o estado do jogo replicado e que
imprimem o resultado no écran.
A arquitectura deve funcionar num esquema híbrido mestre-escravo e de
multiplexagem no tempo. Todos os nós executam ciclicamente as seguintes
duas fases em sequência.
- Fase mestre-escravo: Um nó ao qual é
previamente atribuída a tarefa de mestre troca uma mensagem
ponto-a-ponto com todos os escravos com intuito de ler os seus
relógios. Depois de completar um ciclo de leitura, envia uma mensagem
em difusão contendo ajustes a todos os relógios. Esta mensagem termina
esta fase.
- Fase TDMA: Após a mensagem anterior, os
restantes nós realizam N ciclos de troca de mensagens usando
multiplexagem no tempo.
O nó mestre será concretizado por um quinto nó, distinto dos que
suportam a aplicação.
O jogo deve ser concretizado em duas versões.
- Na primeira versão os disparos são atómicos, isto é, o efeito de
um disparo têm efeito imediato, antes de ser processado qualquer outro
comando.
- Na segunda versão, os disparos devem ser "animados" pelos nós que
mantêm o estado do jogo. Isto é, os projécteis devem percorrer o
corredor até ocorrer um impacto, dando oportunidade aos jogadores de
se movimentarem entretanto.
Todas as tarefas que se executam em cada nó deve ser cícliclas sendo
utilizado um escalonamento estático estimulado pelo tempo. O sistema
operativo a utilizar será o RT-Linux.
Oportunamente serão criadas áreas para os alunos num cluster de PCs
onde poderão demonstrar o trabalho.
Luís Rodrigues