Titulo Estágio
Sistema de Informação ao Passageiro baseado em Dados Crowd Sourced
Área Tecnológica
Sistemas Móvies e Ubíquos
Local do Estágio
DEI / IPNlis
Enquadramento
A disponibilização de plataformas de serviços é uma via para encontrar novas soluções para o transporte urbano, mais eficientes e integradas, através do uso de tecnologias de informação e comunicação (TIC) que permitam criar eco-sistemas de soluções que convergem para maior eficiência energética, com mais qualidade para o utente, e em coordenação e cooperação com outras iniciativas nacionais.
O projecto TICE.mobilidade, em que este estágio está integrado, resulta de um esforço conjunto de 29 parceiros que se predispõem a criar um ecossistema de aplicações para a mobilidade, suportadas numa Arquitectura Baseada em Serviços(SOA).
A plataforma de serviços do TICE.mobilidade disponibilizará interfaces avançados com o utilizador, tirando partido da Web 2.0 e da elevada taxa de penetração de dispositivos móveis com acesso à internet. O projecto pretende explorar os benefícios da comunicação bidireccional entre o fornecedor de serviços e o cliente. Por exemplo, o utilizador poderá ter no seu telemóvel um plano intermodal actualizado ao minuto, receber sugestões de mobilidade e segurança, verificar a disponibilidade de parques de estacionamento, ou enviar informações sobre comodidades da cidade, eventos, notícias e fotos.
A plataforma integrará dados heterogéneos nas operações de planeamento, proveniente de operadoras de comunicações (localização e fluxos), de autoridades locais (fluxo de trânsito, zonas de trânsito condicionado), e concessionárias de auto-estradas, entre outros, para além dados fornecidos colaborativamente pelos utilizadores.
Características do Sistema
As componentes a desenvolver no âmbito do projecto enquadram-se numa arquitectura orientada a serviços em ambiente distribuído e heterogéneo. Algumas características:
- Arquitectura RESTful;
- Modelação de informação georreferenciada;
- Desenho e análise funcional em função de critérios de performance, disponibilidade e escalabilidade;
- Interface Web e WebGIS de backend (fortes requisitos ao nível de UX e acessibilidade);
- Interface móvel de acesso a algumas funcionalidades, de forma ubíqua (iOS, Android, etc.);
- Controlo, monitorização e taxação do acesso a dados;
- Mecanismos de reporting;
- Forte componente de quality assurance com recurso a testes unitários, funcionais e de integração;
- Implementação de módulos e componentes segundo padrões de encapsulamento e loose-coupling;
- Desenho e implementação de API’s e interfaces de comunicação (producer-consumer, publish-subscribe, real-time / assynchronous message queueing, push, etc.);
- Linguagens de programação Java e Python.
Ferramentas de desenvolvimento
- PostgreSQL e PostGIS;
- Eclipse IDE (ou qualquer outro editor de texto inteligente);
- RabbitMQ, Redis;
- Django e GeoDjango;
- XMPP;
- Git;
- Apache, Nginx.
Metodologia
O processo de desenvolvimento de software será baseado em SCRUM.
Os orientadores de ambas as partes (IPN e DEI), poderão participar nas reuniões de Sprint Planning e Sprint Retrospective. A documentação resultante das reuniões será disponibilizada ao orientador e júri do estágio.
Objetivo
O estagiário ficará responsável por desenvolver uma aplicação móvel, assente sobre a plataforma, através da qual os utentes de uma operadora de transportes públicos podem consultar e enriquecer a informação disponível sobre o serviço prestado pela mesma (crowdsourced).
O objectivo principal da aplicação é criar uma ferramenta acessível aos cidadãos na qual possam contribuir para a mobilidade urbana no contexto da sua mobilidade individual. Enriquecer os dados oficiais com feedback real, obtido no terreno, irá conferir maior fiabilidade aos dados actualmente disponíveis e, deste modo, tornar o transporte público colectivo mais atractivo a não utilizadores.
Esta aplicação servirá como um proof of concept do projecto, e representa um importante contributo para a descrição de casos de uso, para os requisitos em termos de informação, e para o modelo de dados da plataforma.
A aplicação deverá recolher, analisar, limpar e robustecer informação relacionada com os seguintes aspectos:
• Localização dos autocarros;
• Percursos, paragens e horários;
• Tarifários;
• Enriquecimento de dados reais/oficiais com recurso a check ins e traces de utilizadores;
o Indicadores sobre a exactidão dos dados com base em crowd sourced data;
• Contextualização da mobilidade individual com recurso a redes sociais;
Entre as possíveis funcionalidades a implementar na aplicação, encontram-se as seguintes:
• Visualização de rotas e paragens no mapa;
• Consulta das próximas paragens de cada autocarro, e do tempo estimado para cada uma;
• Consulta dos próximos autocarros de cada paragem, e do tempo estimado para cada um;
• Pesquisa de percursos e paragens por nome/código e/ou num determinado raio de acção;
• Cálculo de percursos, com rotas combinadas, e dos custos associados.
• Consulta da lista de paragens de uma rota;
• Consulta de horários;
• Consulta de tarifários;
• Visualização, em tempo-real, da localização dos autocarros no mapa;
A implementação deste cenário poderá levantar desafios em várias dimensões: disponibilidade de dados, actualidade e qualidade dos dados, arquitectura da plataforma, mecanismos e protocolos de comunicação, modelação de dados, visualização de dados georreferenciados e modelo de negócios.
Plano de Trabalhos - Semestre 1
Durante o 1º semestre, o projecto será composto pelas seguintes fases de desenvolvimento:
• F1 – Análise do estado da arte (25% do semestre) – Análise de soluções, boas práticas e as tecnologias a usar no projecto.
• F2 – Levantamento de requisitos (25% do semestre) – esta tarefa consiste no levantamento de requisitos do módulos a desenvolver.
• F3 – Desenho (50% do semestre) – será desenvolvido um protótipo dos módulos aplicação e o desenho de arquitectura.
Plano de Trabalhos - Semestre 2
Durante o 2º semestre, o projecto será composto pelas seguintes fases de desenvolvimento:
• F4 – Implementação (70% do semestre) – fase de desenvolvimento onde serão implementados os requisitos e funcionalidades determinadas em F2.
• F5 – Testes (20% do semestre) – fase em que será testada a robustez da aplicação desenvolvida. Serão feitas as correcções aos bugs que forem detectados.
• F6 – Deployment e relatório de projecto (10% do semestre) – Revisão final da aplicação desenvolvida e disponibilizada para produção.
Condições
Frequência com aproveitamento na disciplina de Sistemas Ubíquos.
É factor preferencial alunos que tenham desenvolvido nesta disciplina um projecto relacionado com a temática do estágio.
Observações
Este estágio pode ser remunerado. Remuneração sujeita a concurso de bolsa de investigação de acordo com as normas da FCT.
Orientador
Carlos Bento (UC); Alcides Marques (IPNlis)
bento@dei.uc.pt 📩