DAS5308: Programação de Sistemas Automatizados

Trabalhos para 2016/1

Trabalhos entregues após a data estipulada perdem 10% da nota máxima
por dia de atraso, inclusive sábados e domingos.

Trabalhos entregues no dia correto mas depois do horário de aula também
perdem 10% da nota máxima.
Apresentações individuais podem ser solicitadas.


Grupos de no máximo 2 (DOIS) alunos.

 



T1 – Monitoração de Tráfego Futurista Lado Cliente

Em um sistema de tráfego futurista, todos os veículos possuem a capacidade de comunicar-se com a infraestrutura da via, inclusive informando sua localização e outros dados.

Com uma ordem judicial é possível solicitar ao sistema de tráfego o trajeto feito recentemente por um veículo. Tambem calcular a menor distância que foi observada entre dois veículos.


Implemente usando a linguagem C no Linux um programa que recebe constantemente a posição dos veículos na cidade e mantem, para cada veículo, o registro dos últimos locais por onde ele passou.

Cada local da cidade é identificado por seu código (número inteiro).

Cada veículo é identificado por sua placa (3 letras e 4 dígitos).

A informação vem acompanhada de uma anotação de tempo (time stamp), no formato long (segundos) e long (nanosegundos).

Formato da mensagem informada pelo sistema: segundos nanosegundos local placa

Detalhes técnicos do programa:

- Ficar constantemente solicitando ao gerente dos sensores mais uma mensagem de posição, a comunicação com o
gerente de sensores é feita via UDP/IP. Basta mandar qualquer string para o gerente de sensores que ele retorna com mais uma mensagem de posicionamento.

- Lê do teclado uma placa de veículo, pesquisa as estruturas de dados, e lista na tela os últimos locais por onde aquele veículo passou.

- Pode ser solicitada a distância mínima entre 2 veículos específicos.


- Não podem ser usados arquivos para armazenar os dados.


Gerente dos sensores:

transito-servidor-2016.c


T2 – Monitoração de Tráfego Futurista Lado Servidor

Implementar o servidor do trabalho  T1 em C no Linux, considerando uma estrada onde a posição é na verdade o Km da estrada onde o veículo está. Gerar dados consistentes com um veículo em velocidade razoável deslocando-se sempre no mesmo sentido.