• Nenhum resultado encontrado

Configuração da Rota de Deslocamento

6. A implementação do Simulador e comparação com a plataforma real

6.2. Implementação dos Controles de Simulação

6.2.3. Configuração da Rota de Deslocamento

Para cada dispositivo simulado é possível configurar uma rota de deslocamento que será armazenada na base de dados do sistema. Uma rota de deslocamento é uma seqüência de coordenadas geográficas (par latitude/longitude) as quais serão “percorridas” pelo dispositivo simulado.

Ao cadastrar um dispositivo no sistema, o usuário pode desejar inserir a informação da possível rota de deslocamento do mesmo. Isso é realizado na opção de edição de parâmetros da interface de gerenciamento. A Figura 6-5 destaca o botão empregado para acessar essa tela, enquanto que a Figura 6-6 ilustra a referida tela. Para realizar essa operação, o usuário deve, inicialmente, identificar a qual dispositivo deseja se referir, através de seu MSISDN. Após solicitar que seja efetuada uma busca, na base de dados, dos parâmetros já configurados para esse MSISDN, o usuário pode iniciar as modificações desejadas. Na área de path route, destacada na Figura 6-6, existe a possibilidade de informar se o dispositivo encontra-se ou não em movimento. Inicialmente, um valor pré-estabelecido (default) é empregado para os casos em que o usuário não deseje informar dados

sobre o deslocamento do dispositivo. Esse valor default representa a não existência de uma rota. Se for decidido que ele está se deslocando, deve ser informado se sua rota é recursiva ou não. Caso sua rota não seja recursiva, ao chegar no final do último trecho da rota, o dispositivo irá permanecer nessa posição até que seja mudado o dia. Nesse momento, sua rota é reiniciada.

Figura 6-5: Botão de escolha de Edição de Parâmetros

Para a configuração de uma rota são necessários: seu identificador MSISDN; as coordenadas da posição inicial do trecho (latitude e longitude); as coordenadas da posição final do trecho (latitude e longitude); horário inicial, em que o móvel inicia o percurso pelo trecho; e parâmetros de deslocamento.

Os parâmetros de deslocamento podem ser a velocidade de percurso ou o instante de tempo em que o móvel atinge a posição final do trecho (tempo final). A velocidade é o parâmetro de deslocamento principal. A partir das informações de tempo final é possível calculá-la, em qualquer situação, através de manipulação matemática simples, obedecendo a equação de deslocamento de um movimento uniforme. O sistema está configurado para limitar uma rota não recursiva em 10 (dez) trechos consecutivos unindo 2 (dois) pontos geográficos. As informações dos trechos de rota devem ser preenchidas nas abas displacement 1 a 10. O usuário poderá inserir os locais iniciais e finais de cada trecho na forma de pares latitude/longitude. Essas informações serão armazenadas no banco de dados, mais especificamente na tabela Route, e servirão para consultas futuras durante o processo de simulação.

O comando SQL empregado para armazenamento das informações da rota terá o formato: INSERT INTO Route (MSISDN, Init_time, End_time, Init_loc_lat, Init_loc_lon, End_loc_lat, End_loc_lon) VALUES (#MSISDN, #HH:mm:SS, #HH:mm:SS, #Init_loc_lat, #Init_loc_lon, #End_loc_lat, #End_loc_lon);

O mecanismo de armazenamento das informações dos trechos da rota na tabela Route foi implementado de modo a agilizar a busca dos registros, quando a base de dados estiver com muitos dispositivos cadastrados. Todos os tipos de bancos de dados podem ter seu desempenho melhorado pelo uso de índices. O tipo mais comum de índice é uma lista ordenada dos valores de uma coluna de uma tabela, contendo ponteiros para as linhas associadas a cada valor. Um índice permite que o conjunto das linhas de uma tabela, que satisfaçam um determinado critério, seja localizado rapidamente. No simulador, cada registro da tabela Route tem como índice o número MSISDN acrescido do número do trecho. Assim, um MSISDN de número 558188991234 ocupa as linhas de 55818899123401 (trecho 1) até 55818899123410 (trecho 10). Dessa forma, a localização dos registros pode ser realizada através dos ponteiros do banco de dados, agilizando o processo.

O procedimento para a atualização das informações de rota é semelhante àquele apresentado para a atualização de posição geográfica inicial. A operação se dará pela substituição da rota antiga por uma nova, com o comando para apagar sendo utilizado para excluir a rota antiga e, posteriormente, um novo comando de armazenamento sendo empregado. O comando para excluir a antiga rota terá o formato:

DELETE FROM Route WHERE MSISDN=#MSISDN

Para cada uma das rotas de deslocamento haverá a possibilidade de que o dispositivo esteja percorrendo a mesma mais de uma vez, indo e voltando, executando uma espécie de loop. Assim se dará a recursividade da rota. Isso será identificado no banco de dados através da variável binária Rpr da tabela Route. Ao configurar uma rota recursiva, o sistema apresenta ao usuário apenas uma aba

displacement, limitando esse deslocamento a um único trecho entre 2 (dois) pontos geográficos.

Assim, o dispositivo móvel estaria se deslocando entre esses dois pontos, indefinidamente. Nessa aba devem ser informados os seguintes campos:

• coordenada geográfica da posição inicial da rota;

• coordenada geográfica da posição final da rota;

• instante inicial do dispositivo na rota; e

• parâmetro de deslocamento (velocidade de percurso ou instante final do dispositivo na rota).

Essas informações são armazenadas na base de dados possibilitando ao sistema a obtenção de onde, nesse trecho, estará o dispositivo quando for solicitada sua localização. Para obter a informação precisa, pode ser necessária uma manipulação matemática, onde são considerados os instantes inicial e final do dispositivo na rota, sua velocidade de deslocamento e o momento em que chegou a requisição de sua localização. A interface de cálculo é a responsável por efetuar essas operações. Ela toma os referidos valores, calculando o tempo gasto pelo móvel para percorrer um trecho de rota e armazenando essa informação em uma variável X. A seguir, obtém o valor da diferença entre o instante de chegada da requisição de localização e o momento em que o dispositivo iniciou sua trajetória, armazenando na variável Y. De posse dos valores X e Y, a interface executa uma

comparação para identificar o número de voltas completas que o dispositivo percorreu até a chegada da requisição, tendo, nesse momento, condições de determinar qual a atual localização do mesmo.