Modeling and Querying Mobile Objects in Location Based Services Dragan Stojanovié e Slobodanka Dordevié-Kajan Wagner de Souza Porto [email protected] Roteiro Introdução Serviços Baseados em Localização Arquitetura Modelando Objetos Móveis Objetos Móveis Pontuais em uma Rede de Transporte Implementação do Modelo em um Sistema de Banco de Dados Consultando objetos móveis Conclusão 2 Introdução Explosão de tecnologias de comunicação: Redes sem fio GSM packet radio Smart Phones PDAs GPS Essas tecnologias tem tornado os sistemas de computação ubíquos Surgimento de aplicações baseadas em localização 3 Serviços Baseados em Localização Classe especializada de sistemas de computação Os dados de objetos móveis mudam continuamente com o tempo Fornece informações geográficas e serviços para: Usuário móvel, dependendo de sua localização e suas preferências Usuários fixo, dependendo da localização de objetos fixos/móveis de seu interesse. 4 Exemplos de Aplicações Controle de tráfego Serviços de emergência Localização de veículos e pessoas Guia para turistas Serviços Militares Sistema de monitoramento ambiental, etc 5 Arquitetura Arquitetura em várias camadas Informação distribuída para usuários principalmente através de rede sem fio Localização dos objetos móveis é determinada através de GPS Informação é distribuída para o LBS server através de rede sem fio Ocasionalmente os usuários estão conectados ao servidor através de uma rede com fio. Diretamente do dispositivo móvel ou a partir de um centro de transmissão O LBS server processa os dados e fornece os serviços 6 Arquitetura Uso de GML para transferência de dados entre os módulos Formato XML Padrão proposto pelo OGC Promove interoperabilidade entre os módulos Deve ser estendido para representar a locomoção dos objetos móveis Usado por vários produtos comerciais 7 Arquitetura 8 Objetos móveis em LBS Foco em objetos móveis com geometria pontual A maioria dos objetos móveis do mundo real: Segue uma rede de transporte Estradas, trilhos, rios, zona de vôo Conhecem seu destino Normalmente usa o caminho mais rápido e/ou mais curto para atingir o destino 9 Objetos móveis em LBS Cenário onde os objetos móveis são tanto usuários do serviço, quanto objetos a serem localizados Os objetos móveis enviam para o LBS: A localização inicial O tempo inicial O localização final Eventualmente o conjunto de pontos de interesse e o tempo de permanência em cada parada 10 Objetos móveis em LBS O LBS information server armazena a malha onde o objeto irá se mover Possui os atributos necessários para cálculo de tempo de viagem (geometria de cada segmento, distância entre cada segmento, velocidade média, etc.) Essa malha pode ser atualizada em tempo-real Informação sobre acidentes, congestionamentos, etc 11 Objetos móveis em LBS Durante a locomoção o objeto móvel envia a atualização da localização (posição e tempo) O LBS server forma a trajetória do objeto A trajetória é um polígono de 3 Dimensões (x, y, t) O tipo de locomoção também é informado para cada ponto do percurso. 12 Objetos móveis em LBS Tipos de Locomoção punctual – A localização do objeto móvel não é definida no intervalo de tempo stepwise – o objeto móvel não se move durante o intervalo de tempo linear – o objeto móvel move-se em uma linha reta em velocidade constante interpolated – a locomoção é representada por uma função de interpolação 13 Objetos móveis em LBS Baseado na trajetória o LBS server pode derivar a localização do objeto móvel através dos atributos da rede de transporte Se os atributos da rede de transporte não estão disponíveis, o LBS server precisa da velocidade média do objeto em determinada localização 14 Modelando Objetos Móveis mSTOMM (mobile Spatio-Temporal Object Modeling and Management) Apóia modelagem conceitual e consulta de objetos móveis O modelo de dados é extensível Orientado a objetos É especificado usando UML Atende aos padrões OGC e ISO TC 211 Prover representação da locomoção do objeto do passado ao futuro 15 Modelando Objetos Móveis mSTOMM estende o modelo OGC Simple Features Modelo OGC Define entidades geométricas representadas por coleções de pontos com interpolação linear entre eles Possui a classe abstrata Geometry e sua hierarquia (Point, LineString, Polygon, MultiPoint, etc) O tempo é especificado pela hierarquia de classes da classe TimeObject (TimeInstant, TimePeriod, TimeDuration, MultiTimeInstant, etc) 16 Modelando Objetos Móveis A classe abstrata MobileObject introduz mobilidade Define operações para gerenciar e consultar as propriedades móveis dos objetos móveis Novas classes podem herdar de MobileObject ou qualquer outra classe da hierarquia 17 18 Modelando Objetos Móveis Para todas as classes na hierarquia de classe de Geometry é criada uma classe apropriada para representação de uma geometria móvel MobilePoint, MobileLineString, MobilePolygon, MobileMultiPoint, etc 19 Modelando Objetos Móveis A classe MobileGeometry É uma especialização da classe MobileObject Permite modelar objetos móveis com propriedades geométricas Especializa as operações ObjectAt e ObjectDuring definidos na classe MobileObject na forma das operações GeometryAt e GeometryDuring Acrescenta a operação Route que retorna Geometry, representando o caminho percorrido pelo objeto. Sobrescreve as operações da classe Geometry 20 21 Objetos Móveis Pontuais em uma Rede de Transporte Considera objetos móveis pontuais movendo em uma rede de transporte. Engloba grande partes dos sistemas baseados em localização Fornece embasamento para modelagem de objetos móveis com outras geometrias 22 Objetos Móveis Pontuais em uma Rede de Transporte A classe MobilePoint permite a modelagem de objetos móveis em uma rede de transporte O atributos speed é usado quando banco de dados da rede de transporte não possui os atributos de navegação (velocidade média, tempo de viagem, etc) O atributo direction é usado quando a rota do objeto móvel não é definida. 23 24 Implementação do Modelo em um Sistema de Banco de Dados A implementação do modelo em uma aplicação orientada a objetos e um BD é feita através da transcrição do modelo UML Os tipos de dados e funções são definidos através do comando CREATE TYPE da DDL do SQL 25 Implementação do Modelo em um Sistema de Banco de Dados 26 Implementação do Modelo em um Sistema de Banco de Dados 27 Consultando objetos móveis Selecione as ambulâncias que estão dentro de 2km ao redor do meu endereço: 28 Consultando objetos móveis Retorne o tamanho do caminho do caminhão “BioExport-1” em quilômetros e tempo: 29 Consultando objetos móveis Retorne a posição de uma táxi “Banker17” se ele entrou na rua “Cara Dusana” nos últimos 5 minutos: 30 Consultando objetos móveis Selecione todos os táxis que estão na rua “Vozdova”: 31 Consultando objetos móveis Selecione todas as ambulâncias que estiveram hoje no município “Niska Banja” entre as 5 e as 6 horas: 32 Conclusão O mSTOMM é um framework que prover um modelo de dados para objetos móveis O modelo proposto é orientado a objetos, simples e extensível 33 Referências Dragan Stojanovié and Slobodanka Dordevié-Kajan, “Modeling and Querying Mobile Objects in Location-Based Services” Schiller and A. Voisard, “Location-Based Services”, 2004, Morgan Kaufmann 34