Sistema de Monitoramento de Transporte: Uma solução de baixo custo

Documentos relacionados
informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

Introdução à Computação Móvel e Ubíqua

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

INFRAESTRUTURA NECESSÁRIA...

3 Arquitetura do Sistema

Um estudo sobre localização de serviços sensíveis ao contexto para Televisão Digital Móvel

Desenvolvimento de Aplicações Distribuídas

Desenvolvedor Android: Avançado. Plano de Estudo

Desenvolvimento de Aplicações Distribuídas

Prof. Me. Sérgio Carlos Portari Júnior

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

LAUDO DE ANÁLISE DA PROVA DE CONCEITO

Sistemas Distribuídos

Objetos e Componentes Distribuídos: EJB

5 Proposta de Integração com as Redes Sociais Pervasivas

Soluções IoT Inovadoras Plataforma Link IoT

Objetos e Componentes Distribuídos: EJB e CORBA

O que é um sistema distribuído?

Engenharia de Software

Gerenciamento de Redes. Alan Santos

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO

Enterprise Networks. A seguir, vamos apresentar um resumo dos principais conceitos associados às redes empresariais.

Introdução a Computação em Nuvem

Tema 3: Almoxarifado (recursos materiais, laboratório, farmácia) + Controle de Escala e Plantões

Computação em Grid e em Nuvem

INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO

BD e Cloud Gerenciamento de. Dados na Nuvem

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

SISTEMA PARA PREVER A CHEGADA DE ÔNIBUS NOS PONTOS DE PARADA Felipe Saraiva da Costa¹, André Castelo Branco Soares².

Introdução a Computação em Nuvem

Especificação Técnica Sistema de Acesso

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

DESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS

Sistemas Distribuídos

4. Rede de Computador. Redes de computadores e suas infraestruturas

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RA2 - Relatório de acompanhamento trimestral

Redes de Computadores.

DESENVOLVIMENTO E IMPLANTAÇÃO DE UM MODELO DE ACESSO EXCLUSIVO PARA EXPERIMENTAÇÃO REMOTA. 1. Introdução

WAP. Determinação de Superfícies. Visíveis. José Almir Freire de Moura Júnior.

Design and Evaluation of a Support Service for Mobile, Wireles. Applications

Introdução ao Desenvolvimento de

Especificação Técnica Sistema de Acesso

Anexo 2.8 Especificações do Sistema de Monitoramentoda Frota

Política de Privacidade

AGA - Sistema de agentes móveis no gerenciamento de redes orientado a aplicação

APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD.

Sumário ARQUITETURA Arquitetura Gerenciamento Arquitetura - API Arquitetura - Interface

POLÍTICA DE PRIVACIDADE

1.2- Ambientes de Middleware

FINDCAR: RASTREADOR VEICULAR UTILIZANDO OPENWRT

Sistema colaborativo para monitoramento de focos de Aedes aegypti

Sistemas Distribuídos

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS

Computação em nuvem (Cloud Computing)

Sistemas Distribuídos

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Gerência de Redes. Modelo de Gerenciamento OSI

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Avanços e Perspectivas do Projeto Integrade na UFMA

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Versão: 1.0 Doc Manager

Disciplina Tópicos Avançados em Cidades Inteligentes PPGCC e PPGEE UFMA Aplicações desenvolvidas

Desenvolvimento de Aplicações Distribuídas

QUESTÕES SOBRE GERÊNCIA DE REDES

Programação Distribuída. Metas de um Sistema Distribuído

Adaptação Dinâmica desistemas Distribuídos p.1/54

Projeto. Observatório Nacional de Clima e Saúde

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Uso de Software de Monitoramento em Projetos Educacionais Metasys Monitor. Home

Infraestrutura e Aplicações de Redes Sociais Móveis para Colaboração em Saúde

Labsensing: Um Sistema de Sensoriamento para Laboratórios Científicos com Computação Inteligente Nas Bordas

Tecnologias da Informação TI /2 Material de apoio ler bibliografia recomendada (Stair)

SERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Avaliação de Desempenho de Sistemas Operacionais em dispositivos embarcados para a provisão de serviços em Internet das Coisas

ESTUDO DE PLATAFORMAS PARA A CONSTRUÇÃO DE APLICAÇÕES MÓVEIS. Gabriel de Biasi¹; Nilton Cézar de Paula²

CENTRO PAULA SOUZA ETEC DE REGISTRO TÉCNICO EM INFORMÁTICA. Henrique Mitsuo Imanobu de Brito Guilherme Mota Andrade Messias Moisés Duarte Junior

MIDDLEWARE PARA A COMUNICAÇÃO DE DADOS ENTRE SISTEMAS DISTRIBUÍDOS COM WS SECURITY. CAIO RENAN HOBUS Orientador: Jhony Alceu Pereira

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Kleder Miranda Gonçalves. Um Framework para Comunicação Baseada em Localização. Dissertação de Mestrado

Nuvem e Virtualização Redes Programáveis

Redes de Computadores

Ao utilizar a Aplicação, as seguintes Informações Pessoais poderão ser coletadas:

Características de Sistemas Distribuídos

PROTÓTIPO DE UM SISTEMA DE SERVIÇOS WAP PARA A BIBLIOTECA CENTRAL DA FURB

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

Arquitetura de Software para Computação Móvel

Bonita BPM uma solução inovadora para gerenciar o seu processo de negócio

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Arquitetura de sistemas distribuídos

Sistema de Gestão de Clubes Recreativos e Esportivos

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

Workshop - Portugal ready for ecall

Transcrição:

Sistema de Monitoramento de Transporte: Uma solução de baixo custo Isaac F. C. Marques 1, Marcos A. B. Costa 1, Rafael F. Lopes 2 1 Departamento Acadêmico de Informática INSTITUTO FEDERAL DO MARANHÃO São Luís, MA 2 Laboratório de Sistemas Distribuídos Inteligentes Universidade Federal do Maranhão São Luís, MA isaacfrancis-cm@hotmail.com, marcosandrecosta.ma@gmail.com rafaelf@lsdi.ufma.br 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 experience of the public transportation system user. Technologies like DDS (Data Distribution 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 aplicação que, sem necessariamente encorporar inteligência propriamente dita, provê serviços de controle e análise de dados para um melhor gerenciamento de transporte e tráfego. Nesse contexto, este trabalho apresenta o Droid- Bus, um STI desenvolvido para melhorar a experiência do usuário do transporte público de São Luís, MA, disponibilizando publicamente, a partir do uso de tecnologias como computação distribuída (Data Distribution Service DDS) e computação móvel, informações de localização em tempo real das unidades móveis, itinerários de linhas de ônibus e um assistente de rotas mostrando planos de locomoção pela cidade. Introdução Os STI (sistema de transporte inteligente) são soluções que visam complementar, ou mesmo melhorar, a experiência dos usuários ao se locomoverem pela cidade, geralmente mostrando informações que ajudam o usuário a se planejar. Tendo isso em mente, foi desenvolvido o DroidBus, que é um STI cujo objetivo é oferecer ambientes nos quais a população possa acessar esse tipo de informação. A proposta do DroidBus é que se tenha smartphones distribuídos geograficamente pelas unidades de transporte coletivo, circulando normalmente pela cidade, coletando e enviando as informações necessárias para o núcleo de processamento. Depois disso, esses dados são devidamente tratados, armazenados e disponibilizados para consumo. Uma interface Web acessa estes recursos e os apresenta para os usuários do transporte público de São Luís.

Este artigo está organizado conforme a seguir. A seção Fundamentação Teórica apresenta as definições a respeito das principais tecnologias utilizadas no desenvolvimento da solução. Em Metodologia são descritas as ferramentas que foram utilizadas e a forma como foram abordadas no desenvolvimento da arquitetura do sistema. Na seção Desenvolvimento é descrito o processo de criação propriamente dito, onde são descritos os procedimentos realizados e a operacionalização da etapa de produção. Na seção Trabalhos Relacionados são citados projetos que foram desenvolvidos na mesma área específica de conhecimento e têm abordagem semelhante. Os resultados obtidos são apresentados na seção Resultados e finalmente é abordada a seção Considerações Finais. Fundamentação teórica O SDDL (Scalable Data Distributuion Layer) [David et al. 2012] é um middleware de comunicação projetado para ser escalável, permitindo a adição de novas máquinas dinamicamente para distribuir a carga de processamento. Essa escalabilidade está associada ao uso do padrão DDS [Pardo-Castellote 2003], que especifica uma arquitetura de middleware robusta, escalável e de alto desempenho para distribuição de dados em tempo-real. Serviços de distribuição de dados podem fazer uso de diversas implementações do padrão. O SDDL é uma tecnologia de comunicação distribuída que usa uma implementação open source do DDS (OpenSplice [PrismTech 2016]) e foi utilizado no sistema para aplicação da comunicação distribuída. A arquitetura do SDDL é constituída de nós centrais e estacionários, além de ser baseada na especificação DDS e utilizar o Real-Time Publish-Subscribe [Deng et al. 2007] e o Mobile Reliable UDP (MR-UDP) [Goncalves et al. 2013] como protocolos de comunicação. Os nós móveis, ou periféricos, são responsáveis por coletar e enviar informações geolocalizadas para os nós centrais do middleware, que são responsáveis por processar os dados de acordo com as regras de negócio. A utilização do SDDL em projetos deste tipo permite que se abstraia questões mais complexas da comunicação entre os nós estacionários e o núcleo do middleware. Metodologia Este trabalho aborda o desenvolvimento de uma infraestrutura de software que permita monitorar e fornecer informações a respeito do sistema público de transporte, baseados no uso de dispositivos portáteis. Para tanto, a infraestrutura proposta deve ser capaz de gerenciar e processar fluxos de dados em larga escala provenientes das frotas monitoradas. Os serviços disponibilizados pelo DroidBus permitirão gerar um novo paradigma na utilização do sistema público de transporte. O desenvolvimento consiste na escolha de uma arquitetura e, então, no desenvolvimento de cada um dos módulos. Arquitetura A arquitetura do DroidBus é unidirecional quanto ao fluxo de dados e composta por três principais produtos, DroidBus Client, DroidBus Server e DroidBus Web, conforme visto na Figura 1. Em 1(a), os dispositivos móveis Android coletam os dados de contexto e enviam para 1(b), o núcleo do SDDL, que por sua vez as processa e armazena em banco de dados MySql. Com os dados armazenados, um sistema Web PHP dispõe as informações necessárias à apresentação do conteúdo exibido pela interface Web 1(c).

Figura 1. Arquitetura do DroidBus. a) Coleta dos dados de contexto; b) Processamento e armazenamento; c) Apresentação dos dados Tecnologias Para a construção de um sistema que opere com a arquitetura proposta foram utilizadas algumas tecnologias na implementação da comunicação distribuída, manipulação da plataforma móvel e na construção da aplicação Web que é responsável por disponibilizar as informações para os usuários do sistema. A aplicação que opera nos dispositivos móveis é desenvolvida exclusivamente para plataformas Android tendo em vista o fato da API do SDDL ser oferecida apenas para a linguagem JAVA. A aplicação Web foi desenvolvida utilizando a linguagem de programação backend PHP (para implementação das aplicações do lado do servidor) e a interface e scripts client-side construídos com HTML/CSS e JavaScript, respectivamente. Os dados são persistidos em banco de dados MySQL compartilhado entre a aplicação Web e o núcleo de processamento desenvolvido. Desenvolvimento DroidBus Server Para a implementação da comunicação entre os nós móveis (ônibus) e os nós processadores foi utilizado o SDDL, o middleware de comunicação e distribuição de dados desenvolvido pelo LAC (Laboratory for Advanced Collaboration) da PUC-RIO. A utilização do middleware se deu por conta de algumas características muito importantes que uma aplicação distribuída móvel deve ter: alta disponibilidade, alto desempenho e excelente controle de concorrência, bem como lidar com a instabilidade das conexões sem fio e a variação intrínseca no número de participantes. Com o SDDL é possível focar-se apenas na implementação da aplicação em si, pois o middleware já implementa funcionalidades que nos permitem abstrair as questões levantadas a cima. A tarefa dos servidores que rodam o SDDL é receber as mensagens dos nós móveis, que neste caso são as localizações dos ônibus, e então armazenar em uma base de dados apenas a posição atual de cada ônibus. Para que isso ocorra, cada ônibus precisa de um identificador único, que pode ser a placa ou um UUID, assim, mesmo com a variação intrínseca do número de participantes, se mantém um estado consistente de suas localizações. Desta forma, um snapshot (configuração de localizações dos ônibus em um determinado intervalo de tempo) fica disponível em uma estrutura que suporta múltiplos acessos concorrentes. DroidBus Client A escolha de se utilizar smartphones ocorreu devido à conveniência de diversos serviços (conexão com a internet, localização, periféricos como câmera, microfone, etc.) dispostos em um mesmo ambiente. Então foi escolhido o sistema operacional móvel Android para

a implementação dos serviços de coleta de dados de contexto pelos fatos de ser gratuito, open source e de suportar aplicações baseadas na linguagem de programação Java (que é a linguagem da única implementação do SDDL disponível até o momento). A tarefa dos nós móveis é apenas coletar e enviar as informações de contexto. Com relação à coleta, o sistema operacional Android oferece diversos serviços em sua API para desenvolvimento de aplicações para acesso de seus mais variados recursos. A primeira versão do DroidBus coleta apenas a localização instantânea dos ônibus, mas o sistema foi desenvolvido de modo que a evolução não seja muto custosa e se possa incluir facilmente mais dados de contexto. Após a coleta tem-se a etapa de envio os dados. Toda a comunicação da aplicação móvel com os nós processadores é gerenciada pela API cliente do SDDL. DroidBus Web No DroidBus Web serão disponibilizadas duas funcionalidades: o monitoramento da localização em tempo real (utilizando os dados coletados pelo DDS) e um assistente de rotas. Este último tem por objetivo utilizar dados pré cadastrados a respeito dos itinerários da linhas a circularem na cidade para fornecer sugestões de ônibus a se utilizar para locomoção dentro de São Luís com base num deslocamento desejado. Aplicação Servidor A aplicação servidor foi toda construída utilizando a linguagem de programação PHP em servidor Apache/Win64, tecnologia específica para o desenvolvimento web, tendo em vista sua maior simplicidade e flexibilidade, características que facilitaram o desenvolvimento da aplicação e proporcionaram maior agilidade na implementação dos códigos. Os principais módulos construídos são o snapshot e o assistente. Módulo Snapshot Nessa seção da aplicação são servidos os dados de localização que possibilitam a realização do monitoramento de frota. Como já citado em sessão anterior, os dados recebidos pelo DroidBus Server são 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 informações de localização das unidades móveis são sempre sobrepostas a cada ciclo de comunicação com os nós móveis, de maneira que os dados de localização presentes na tabela sempre correspondam à posição mais atual de cada ônibus ativo no sistema. Como saída, o sistema entrega os dados de latitude, longitude e de identificação dos ônibus em circulação e pertencentes à linha. Para efeito de rastreamento o cliente repetirá essa operação dentro de um intervalo ligeiramente maior que o do ciclo de comunicação dos nós móveis com o DroidBus Server, de maneira que os dados de localização entregues sejam sempre os mais atualizados possíveis. Módulo Assistente Neste módulo, primeiramente são calculados os extremos NE e SW que definem as coordenadas limite para que a relação de contingência entre a região permitida e as rotas possa ser verificada. A partir das coordenadas limite geradas com auxílio do MapServer, é possível realizar as consultas no banco de forma otimizada, utilizando uma série de verificações nas cláusulas where que reduzem o conjunto de registros retornados para

apenas os satisfatórios e dispensam o uso de funções externas para filtragem, sendo toda ela realizada diretamente na consulta SQL, o que nos proporciona um grande ganho em termos de tempo de processamento, tendo em vista que a tabela que registra todas as coordenadas de cada rota poderá chegar a possuir mais de 400.000 registros, em um ambiente plenamente operacional. Essas verificações levam em consideração a soma das diferenças absolutas entre os valores dos pares latitude,longitude dos registros da rota para com os pares origem e destino fornecidos como entrada. Aplicação Cliente A aplicação client-side tem scripts desenvolvidos com JavaScript e realiza toda comunicação com a aplicação server-side de forma assíncrona, através de requisições AJAX pontuais e temporizadas. Para o funcionamento do monitoramento em tempo real, uma função definida para um intervalo de repetições é responsável por refazer a solicitação de ônibus ativos ao servidor remoto e, desta forma, atualizar a posição geográfica dos mesmos, constituindo assim a característica de rastreamento das unidades móveis. Figura 2. DroidBus Web: funcionalidade de acompanhamento em tempo real de linha de ônibus O assistente de rotas, com base nos itinerários cadastrados dentro do sistema, realiza a intercalação dos dados de trajeto desejado e rotas disponíveis, considerando fatores como: proximidade entre percurso do ônibus e pontos de origem e destino desejados, tempo e distância estimados para o percurso, definindo assim as linhas mais indicadas para a realização do percurso. Resultados As execuções mostraram um percentual de entrega de mensagens de aproximadamente 50%, sendo que a cada um minuto de execução, de doze mensagens enviadas pelo nó móvel, apenas 6, em média, chegam ao núcleo do SDDL e, consequentemente, são armazenados no banco de dados. Os testes foram realizados com todo o núcleo SDDL rodando em uma mesma máquina, inclusive o Gateway, e com um smartphone android rodando o DroidBus Client. Considerações Finais O DroidBus é um sistema em desenvolvimento já tendo vários módulos concluídos, como o de coleta de dados de contexto, o módulo de processamento, a interface WEB o que já

Figura 3. DroidBus Web: funcionalidade de assistente de rotas proporciona algumas das funcionalidades dentre as propostas, como o monitoramento em tempo real da frota, exibição do itinerário das linhas pré-cadastradas e o assistente de rotas. Entretanto, alguns pontos podem ser levantados, como: os testes de campo são comprometidos pela necessidade de se ter uma estrutura passível de acesso externo plenamente configurável; embora o DroidBus possa ser considerado uma solução de baixo custo, é necessário ressaltar que a aquisição de smartphones é imprescindível para o funcionamento da arquitetura do sistema; o DroidBus WEB está evoluindo para uma nova versão, a qual oferecerá planos de locomoção com rotas compostas (cruzamento de diferentes itinerários). Com base no que foi exposto ao longo deste trabalho, pode-se dizer que o sistema encontra-se em estado de desenvolvimento, embora funcional. Trabalhos futuros incluem a inclusão de novos dados de contexto, como a quantidade de passageiros, a velocidade média e o ETA (Estimated Time Arrival). Referências David, L., Vasconcelos, R., Alves, L., André, R., Baptista, G., and Endler, M. (2012). A communication middleware for scalable real-time mobile collaboration. In Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), 2012 IEEE 21st International Workshop on, pages 54 59. IEEE. Deng, G., Xiong, M., Gokhale, A., and Edwards, G. (2007). Evaluating real-time publish/subscribe service integration approaches in qos-enabled component middleware. In 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed 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 Proceedings of the 11th ACM international symposium on Mobility management and wireless access, pages 41 50. ACM. Pardo-Castellote, G. (2003). Omg data-distribution service: Architectural overview. In Distributed Computing Systems Workshops, 2003. Proceedings. 23rd International Conference on, pages 200 206. IEEE. PrismTech (2016). Vortex OpenSplice DDS description.