Sistema de Monitoramento de Transporte: Uma soluc¸ao de...

6
Sistema de Monitoramento de Transporte: Uma soluc ¸˜ ao de baixo custo Isaac F. C. Marques 1 , Marcos A. B. Costa 1 , Rafael F. Lopes 2 1 Departamento Acadˆ emico de Inform´ atica – INSTITUTO FEDERAL DO MARANH ˜ AO ao Lu´ ıs, MA 2 Laborat´ orio de Sistemas Distribu´ ıdos Inteligentes – Universidade Federal do Maranh˜ ao ao Lu´ ıs, MA [email protected], [email protected] [email protected] Abstract. An ITS (Intelligent Transportation System) is an application that without having embedded intelligence itself provides control and analysis data services so the traffic and transportation management can be improved. In this sense, this paper introduces DroidBus, an ITS developed to improve the experi- ence of the public transportation system user. Technologies like DDS (Data Dis- tribution Service) and mobile computing allow DroidBus to provide information about the transportation system itself, like the itinerary of the buses lines, their location and a route helper, which provides locomotion options. Resumo. Um Sistema de Transporte Inteligente (STI) pode ser definido como uma aplicac ¸˜ ao que, sem necessariamente encorporar inteligˆ encia propriamente dita, provˆ e servic ¸os de controle e an´ alise de dados para um melhor gerencia- mento de transporte e tr ´ afego. Nesse contexto, este trabalho apresenta o Droid- Bus, um STI desenvolvido para melhorar a experiˆ encia do usu´ ario do trans- porte p´ ublico de S˜ ao Lu´ ıs, MA, disponibilizando publicamente, a partir do uso de tecnologias como computac ¸˜ ao distribu´ ıda (Data Distribution Service – DDS) e computac ¸˜ ao m´ ovel, informac ¸˜ oes de localizac ¸˜ ao em tempo real das unidades oveis, itiner´ arios de linhas de ˆ onibus e um assistente de rotas mostrando pla- nos de locomoc ¸˜ ao pela cidade. Introduc ¸˜ ao Os STI (sistema de transporte inteligente) s˜ ao soluc ¸˜ oes que visam complementar, ou mesmo melhorar, a experiˆ encia dos usu´ arios ao se locomoverem pela cidade, geralmente mostrando informac ¸˜ oes que ajudam o usu´ ario a se planejar. Tendo isso em mente, foi desenvolvido o DroidBus, que ´ e um STI cujo objetivo ´ e oferecer ambientes nos quais a populac ¸˜ ao possa acessar esse tipo de informac ¸˜ ao. A proposta do DroidBus ´ e que se tenha smartphones distribu´ ıdos geograficamente pelas unidades de transporte coletivo, circulando normalmente pela cidade, coletando e enviando as informac ¸˜ oes necess´ arias para o n ´ ucleo de processamento. Depois disso, esses dados s˜ ao devidamente tratados, armazenados e disponibilizados para consumo. Uma interface Web acessa estes recursos e os apresenta para os usu´ arios do transporte p´ ublico de S˜ ao Lu´ ıs. JIM 2016 - VI Jornada de Informática do Maranhão JIM, 2016. ISSN: 2358-8861

Transcript of Sistema de Monitoramento de Transporte: Uma soluc¸ao de...

Sistema de Monitoramento de Transporte:Uma solucao de baixo custo

Isaac F. C. Marques1, Marcos A. B. Costa1, Rafael F. Lopes2

1Departamento Academico de Informatica – INSTITUTO FEDERAL DO MARANHAOSao Luıs, MA

2Laboratorio de Sistemas Distribuıdos Inteligentes – Universidade Federal do MaranhaoSao Luıs, MA

[email protected], [email protected]

[email protected]

Abstract. An ITS (Intelligent Transportation System) is an application thatwithout having embedded intelligence itself provides control and analysis dataservices so the traffic and transportation management can be improved. In thissense, this paper introduces DroidBus, an ITS developed to improve the experi-ence of the public transportation system user. Technologies like DDS (Data Dis-tribution Service) and mobile computing allow DroidBus to provide informationabout the transportation system itself, like the itinerary of the buses lines, theirlocation and a route helper, which provides locomotion options.

Resumo. Um Sistema de Transporte Inteligente (STI) pode ser definido comouma aplicacao que, sem necessariamente encorporar inteligencia propriamentedita, prove servicos de controle e analise de dados para um melhor gerencia-mento de transporte e trafego. Nesse contexto, este trabalho apresenta o Droid-Bus, um STI desenvolvido para melhorar a experiencia do usuario do trans-porte publico de Sao Luıs, MA, disponibilizando publicamente, a partir do usode tecnologias como computacao distribuıda (Data Distribution Service – DDS)e computacao movel, informacoes de localizacao em tempo real das unidadesmoveis, itinerarios de linhas de onibus e um assistente de rotas mostrando pla-nos de locomocao pela cidade.

IntroducaoOs STI (sistema de transporte inteligente) sao solucoes que visam complementar, oumesmo melhorar, a experiencia dos usuarios ao se locomoverem pela cidade, geralmentemostrando informacoes que ajudam o usuario a se planejar. Tendo isso em mente, foidesenvolvido o DroidBus, que e um STI cujo objetivo e oferecer ambientes nos quais apopulacao possa acessar esse tipo de informacao.

A proposta do DroidBus e que se tenha smartphones distribuıdos geograficamentepelas unidades de transporte coletivo, circulando normalmente pela cidade, coletando eenviando as informacoes necessarias para o nucleo de processamento. Depois disso, essesdados sao devidamente tratados, armazenados e disponibilizados para consumo. Umainterface Web acessa estes recursos e os apresenta para os usuarios do transporte publicode Sao Luıs.

JIM 2016 - VI Jornada de Informática do Maranhão

JIM, 2016. ISSN: 2358-8861

Este artigo esta organizado conforme a seguir. A secao “FundamentacaoTeorica”apresenta as definicoes a respeito das principais tecnologias utilizadas no de-senvolvimento da solucao. Em “Metodologia”sao descritas as ferramentas que foram uti-lizadas e a forma como foram abordadas no desenvolvimento da arquitetura do sistema.Na secao “Desenvolvimento”e descrito o processo de criacao propriamente dito, onde saodescritos os procedimentos realizados e a operacionalizacao da etapa de producao. Nasecao “Trabalhos Relacionados”sao citados projetos que foram desenvolvidos na mesmaarea especıfica de conhecimento e tem abordagem semelhante. Os resultados obtidossao apresentados na secao “Resultados”e finalmente e abordada a secao “ConsideracoesFinais”.

Fundamentacao teoricaO SDDL (Scalable Data Distributuion Layer) [David et al. 2012] e um middleware decomunicacao projetado para ser escalavel, permitindo a adicao de novas maquinas di-namicamente para distribuir a carga de processamento. Essa escalabilidade esta as-sociada ao uso do padrao DDS [Pardo-Castellote 2003], que especifica uma arquite-tura de middleware robusta, escalavel e de alto desempenho para distribuicao de da-dos em tempo-real. Servicos de distribuicao de dados podem fazer uso de diversasimplementacoes do padrao. O SDDL e uma tecnologia de comunicacao distribuıda queusa uma implementacao open source do DDS (OpenSplice [PrismTech 2016]) e foi utili-zado no sistema para aplicacao da comunicacao distribuıda.

A arquitetura do SDDL e constituıda de nos centrais e estacionarios, alemde ser baseada na especificacao DDS e utilizar o Real-Time Publish-Subscribe[Deng et al. 2007] e o Mobile Reliable UDP (MR-UDP) [Goncalves et al. 2013] comoprotocolos de comunicacao. Os nos moveis, ou perifericos, sao responsaveis por co-letar e enviar informacoes geolocalizadas para os nos centrais do middleware, que saoresponsaveis por processar os dados de acordo com as regras de negocio. A utilizacaodo SDDL em projetos deste tipo permite que se abstraia questoes mais complexas dacomunicacao entre os nos estacionarios e o nucleo do middleware.

MetodologiaEste trabalho aborda o desenvolvimento de uma infraestrutura de software que permitamonitorar e fornecer informacoes a respeito do sistema publico de transporte, baseadosno uso de dispositivos portateis. Para tanto, a infraestrutura proposta deve ser capaz degerenciar e processar fluxos de dados em larga escala provenientes das frotas monitora-das. Os servicos disponibilizados pelo DroidBus permitirao gerar um novo paradigma nautilizacao do sistema publico de transporte. O desenvolvimento consiste na escolha deuma arquitetura e, entao, no desenvolvimento de cada um dos modulos.

ArquiteturaA arquitetura do DroidBus e unidirecional quanto ao fluxo de dados e composta por tresprincipais produtos, DroidBus Client, DroidBus Server e DroidBus Web, conforme vistona Figura 1. Em 1(a), os dispositivos moveis Android coletam os dados de contextoe enviam para 1(b), o nucleo do SDDL, que por sua vez as processa e armazena embanco de dados MySql. Com os dados armazenados, um sistema Web PHP dispoe asinformacoes necessarias a apresentacao do conteudo exibido pela interface Web 1(c).

JIM 2016 - VI Jornada de Informática do Maranhão

JIM, 2016. ISSN: 2358-8861

Figura 1. Arquitetura do DroidBus. a) Coleta dos dados de contexto; b) Proces-samento e armazenamento; c) Apresentacao dos dados

Tecnologias

Para a construcao de um sistema que opere com a arquitetura proposta foram utilizadasalgumas tecnologias na implementacao da comunicacao distribuıda, manipulacao da pla-taforma movel e na construcao da aplicacao Web que e responsavel por disponibilizar asinformacoes para os usuarios do sistema. A aplicacao que opera nos dispositivos moveise desenvolvida exclusivamente para plataformas Android tendo em vista o fato da API doSDDL ser oferecida apenas para a linguagem JAVA.

A aplicacao Web foi desenvolvida utilizando a linguagem de programacao back-end PHP (para implementacao das aplicacoes do lado do servidor) e a interface e scriptsclient-side construıdos com HTML/CSS e JavaScript, respectivamente. Os dados sao per-sistidos em banco de dados MySQL compartilhado entre a aplicacao Web e o nucleo deprocessamento desenvolvido.

Desenvolvimento

DroidBus Server

Para a implementacao da comunicacao entre os nos moveis (onibus) e os nos processado-res foi utilizado o SDDL, o middleware de comunicacao e distribuicao de dados desen-volvido pelo LAC (Laboratory for Advanced Collaboration) da PUC-RIO. A utilizacaodo middleware se deu por conta de algumas caracterısticas muito importantes que umaaplicacao distribuıda movel deve ter: alta disponibilidade, alto desempenho e excelentecontrole de concorrencia, bem como lidar com a instabilidade das conexoes sem fio e avariacao intrınseca no numero de participantes. Com o SDDL e possıvel focar-se apenasna implementacao da aplicacao em si, pois o middleware ja implementa funcionalidadesque nos permitem abstrair as questoes levantadas a cima.

A tarefa dos servidores que rodam o SDDL e receber as mensagens dos nosmoveis, que neste caso sao as localizacoes dos onibus, e entao armazenar em uma basede dados apenas a posicao atual de cada onibus. Para que isso ocorra, cada onibus pre-cisa de um identificador unico, que pode ser a placa ou um UUID, assim, mesmo com avariacao intrınseca do numero de participantes, se mantem um estado consistente de suaslocalizacoes. Desta forma, um snapshot (configuracao de localizacoes dos onibus em umdeterminado intervalo de tempo) fica disponıvel em uma estrutura que suporta multiplosacessos concorrentes.

DroidBus Client

A escolha de se utilizar smartphones ocorreu devido a conveniencia de diversos servicos(conexao com a internet, localizacao, perifericos como camera, microfone, etc.) dispostosem um mesmo ambiente. Entao foi escolhido o sistema operacional movel Android para

JIM 2016 - VI Jornada de Informática do Maranhão

JIM, 2016. ISSN: 2358-8861

a implementacao dos servicos de coleta de dados de contexto pelos fatos de ser gratuito,open source e de suportar aplicacoes baseadas na linguagem de programacao Java (que ea linguagem da unica implementacao do SDDL disponıvel ate o momento).

A tarefa dos nos moveis e apenas coletar e enviar as informacoes de contexto.Com relacao a coleta, o sistema operacional Android oferece diversos servicos em suaAPI para desenvolvimento de aplicacoes para acesso de seus mais variados recursos. Aprimeira versao do DroidBus coleta apenas a localizacao instantanea dos onibus, mas osistema foi desenvolvido de modo que a evolucao nao seja muto custosa e se possa incluirfacilmente mais dados de contexto. Apos a coleta tem-se a etapa de envio os dados. Toda acomunicacao da aplicacao movel com os nos processadores e gerenciada pela API clientedo SDDL.

DroidBus Web

No DroidBus Web serao disponibilizadas duas funcionalidades: o monitoramento dalocalizacao em tempo real (utilizando os dados coletados pelo DDS) e um assistentede rotas. Este ultimo tem por objetivo utilizar dados pre cadastrados a respeito dos iti-nerarios da linhas a circularem na cidade para fornecer sugestoes de onibus a se utilizarpara locomocao dentro de Sao Luıs com base num deslocamento desejado.

Aplicacao Servidor

A aplicacao servidor foi toda construıda utilizando a linguagem de programacao PHPem servidor Apache/Win64, tecnologia especıfica para o desenvolvimento web, tendo emvista sua maior simplicidade e flexibilidade, caracterısticas que facilitaram o desenvolvi-mento da aplicacao e proporcionaram maior agilidade na implementacao dos codigos. Osprincipais modulos construıdos sao o “snapshot”e o “assistente”.

Modulo Snapshot

Nessa secao da aplicacao sao servidos os dados de localizacao que possibilitam arealizacao do monitoramento de frota. Como ja citado em sessao anterior, os dados rece-bidos pelo DroidBus Server sao armazenados em uma tabela de banco de dados MySQL,sendo a mesma utilizada apenas como unidade compartilhada para o acesso aos dados,uma vez que as informacoes de localizacao das unidades moveis sao sempre sobrepostasa cada ciclo de comunicacao com os nos moveis, de maneira que os dados de localizacaopresentes na tabela sempre correspondam a posicao mais atual de cada onibus ativo no sis-tema. Como saıda, o sistema entrega os dados de latitude, longitude e de identificacao dosonibus em circulacao e pertencentes a linha. Para efeito de rastreamento o cliente repetiraessa operacao dentro de um intervalo ligeiramente maior que o do ciclo de comunicacaodos nos moveis com o DroidBus Server, de maneira que os dados de localizacao entreguessejam sempre os mais atualizados possıveis.

Modulo Assistente

Neste modulo, primeiramente sao calculados os extremos NE e SW que definem as co-ordenadas limite para que a relacao de contingencia entre a regiao permitida e as rotaspossa ser verificada. A partir das coordenadas limite geradas com auxılio do MapServer,e possıvel realizar as consultas no banco de forma otimizada, utilizando uma serie deverificacoes nas clausulas “where“ que reduzem o conjunto de registros retornados para

JIM 2016 - VI Jornada de Informática do Maranhão

JIM, 2016. ISSN: 2358-8861

apenas os satisfatorios e dispensam o uso de funcoes externas para filtragem, sendo todaela realizada diretamente na consulta SQL, o que nos proporciona um grande ganho emtermos de tempo de processamento, tendo em vista que a tabela que registra todas as coor-denadas de cada rota podera chegar a possuir mais de 400.000 registros, em um ambienteplenamente operacional. Essas verificacoes levam em consideracao a soma das diferencasabsolutas entre os valores dos pares “latitude,longitude” dos registros da rota para com ospares origem e destino fornecidos como entrada.

Aplicacao ClienteA aplicacao client-side tem scripts desenvolvidos com JavaScript e realiza todacomunicacao com a aplicacao server-side de forma assıncrona, atraves de requisicoesAJAX pontuais e temporizadas.

Para o funcionamento do monitoramento em tempo real, uma funcao definida paraum intervalo de repeticoes e responsavel por refazer a solicitacao de onibus ativos aoservidor remoto e, desta forma, atualizar a posicao geografica dos mesmos, constituindoassim a caracterıstica de rastreamento das unidades moveis.

Figura 2. DroidBus Web: funcionalidade de acompanhamento em tempo real delinha de onibus

O assistente de rotas, com base nos itinerarios cadastrados dentro do sistema, rea-liza a intercalacao dos dados de trajeto desejado e rotas disponıveis, considerando fatorescomo: proximidade entre percurso do onibus e pontos de origem e destino desejados,tempo e distancia estimados para o percurso, definindo assim as linhas mais indicadaspara a realizacao do percurso.

ResultadosAs execucoes mostraram um percentual de entrega de mensagens de aproximadamente50%, sendo que a cada um minuto de execucao, de doze mensagens enviadas pelo nomovel, apenas 6, em media, chegam ao nucleo do SDDL e, consequentemente, sao arma-zenados no banco de dados. Os testes foram realizados com todo o nucleo SDDL rodandoem uma mesma maquina , inclusive o Gateway, e com um smartphone android rodando oDroidBus Client.

Consideracoes FinaisO DroidBus e um sistema em desenvolvimento ja tendo varios modulos concluıdos, comoo de coleta de dados de contexto, o modulo de processamento, a interface WEB o que ja

JIM 2016 - VI Jornada de Informática do Maranhão

JIM, 2016. ISSN: 2358-8861

Figura 3. DroidBus Web: funcionalidade de assistente de rotas

proporciona algumas das funcionalidades dentre as propostas, como o monitoramento emtempo real da frota, exibicao do itinerario das linhas pre-cadastradas e o assistente derotas. Entretanto, alguns pontos podem ser levantados, como:

• os testes de campo sao comprometidos pela necessidade de se ter uma estruturapassıvel de acesso externo plenamente configuravel;

• embora o DroidBus possa ser considerado uma solucao de baixo custo, e ne-cessario ressaltar que a aquisicao de smartphones e imprescindıvel para o fun-cionamento da arquitetura do sistema;

• o DroidBus WEB esta evoluindo para uma nova versao, a qual oferecera planosde locomocao com rotas compostas (cruzamento de diferentes itinerarios).

Com base no que foi exposto ao longo deste trabalho, pode-se dizer que o sistemaencontra-se em estado de desenvolvimento, embora funcional. Trabalhos futuros incluema inclusao de novos dados de contexto, como a quantidade de passageiros, a velocidademedia e o ETA (Estimated Time Arrival).

ReferenciasDavid, L., Vasconcelos, R., Alves, L., Andre, R., Baptista, G., and Endler, M. (2012). A

communication middleware for scalable real-time mobile collaboration. In EnablingTechnologies: Infrastructure for Collaborative Enterprises (WETICE), 2012 IEEE 21stInternational Workshop on, pages 54–59. IEEE.

Deng, G., Xiong, M., Gokhale, A., and Edwards, G. (2007). Evaluating real-time pu-blish/subscribe service integration approaches in qos-enabled component middleware.In 10th IEEE International Symposium on Object and Component-Oriented Real-TimeDistributed Computing (ISORC’07), pages 222–227. IEEE.

Goncalves, J. F., da Silva e Silva, F. J., Vasconcelos, R. O., Baptista, G. L. B., and Endler,M. (2013). A security infrastructure for massive mobile data distribution. In Procee-dings of the 11th ACM international symposium on Mobility management and wirelessaccess, pages 41–50. ACM.

Pardo-Castellote, G. (2003). Omg data-distribution service: Architectural overview. InDistributed Computing Systems Workshops, 2003. Proceedings. 23rd InternationalConference on, pages 200–206. IEEE.

PrismTech (2016). Vortex OpenSplice DDS description.

JIM 2016 - VI Jornada de Informática do Maranhão

JIM, 2016. ISSN: 2358-8861