Propostas de Estágio 2012/2013

DEI - FCTUC
Gerado a 2024-04-29 07:54:07 (Europe/Lisbon).
Voltar

Titulo Estágio

Sistema de Distribuição Contextualizada de Conteúdos

Área Tecnológica

Sistemas Móvies e Ubíquos

Local do Estágio

DEI / IPNlis

Enquadramento

O projecto TICE.MOBILIDADE tem como objectivo encontrar novas soluções para o transporte urbano, mais eficientes e abrangentes, através do uso de tecnologias de informação e comunicação (TIC) que permitam integrar as várias soluções disponíveis, de uma forma ecológica, energeticamente eficiente e com mais qualidade para o utente, em coordenação e cooperação com outras iniciativas nacionais.
Este projecto resulta de um esforço conjunto de 29 parceiros que se predispõem criar um ecossistema de aplicações para a mobilidade, suportadas numa Arquitectura Baseada em Serviços(SOA). Neste contexto, o IPN é responsável por garantir a correcta implementação de vários subprojectos, destacando-se o One.Stop.Transport, uma plataforma digital de aquisição, tratamento e análise de dados facilitadora de serviços de mobilidade em ambiente urbano.
O One.Stop.Transport terá a possibilidade de agregar e registar novos serviços ao longo do tempo, que tirem partido da oferta de dados existentes na plataforma e contribuam para aproximar o fornecedor de serviços ao cliente final. Cada serviço poderá ser explorado por uma entidade diferente, e seguir um modelo de negócio próprio.
A plataforma 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 em Portugal. 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 segundo, receber sugestões de mobilidade e segurança, verificar a disponibilidade de parques de estacionamento, ou mesmo enviar informações sobre comodidades da cidade, eventos, notícias e fotos.
O One.Stop.Transport 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), concessionárias de auto-estradas, entre outros.



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.)
- Mecanismos de logging e 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 notifications, 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, git-flow
- 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

As componentes a desenvolver no âmbito do estágio enquadram-se numa arquitectura orientada a serviços em ambiente distribuído e heterogéneo. O estagiário será incluído numa equipa mais ampla e multidisciplinar, sendo esperado que consiga participar de forma activa em todas as fases de desenvolvimento do sistema.

O estagiário será responsável pelo desenvolvimento da componente de publicidade da plataforma One.Stop.Transport. Esta componente tem por objectivo gerir os mecanismos de disponibilização de publicidade (p.e. vídeos, imagens, notícias, etc.) com base em informação de contexto e do perfil do utilizador, o que proporciona que outros serviços do ecossistema TICE.Mobilidade usufruam de publicidade direccionada.
Os dados relativos ao perfil e ao contexto do utilizador constituem o Personal Mobility Record (PMR) e o Vehicle Mobility Record (VMR), mecanismos de agregação de dados que permitem categorizar o utilizador enquanto cidadão de mobilidade nas várias vertentes:
- hábitos de mobilidade;
- padrões de movimentação;
- actividade social;
- Outros dados provenientes de sensores e outros serviços assentes na OST.
Estes dados deverão ser correlacionados com informação georreferenciada e com os pontos de interesse com vista a que, por exemplo, se possa mostrar publicidade em veículos de transportes colectivos de acordo com o perfil geral dos passageiros e a localização actual.
No âmbito do estágio, é ainda expectável que seja desenvolvida uma aplicação que mostre publicidade com recurso às API's da plataforma, de forma a validar o conceito e servir de protótipo funcional para outros parceiros. Paralelamente, deverá ser desenvolvido um backoffice de gestão de pontos de publicidade, onde seja possível editar, validar e controlar a importação e integração de publicidade de outros providers já existentes.

De entre as funcionalidades a implementar apresentam-se aquelas que dizem respeito à plataforma One.Stop.Transport e que constituem o objecto deste estágio:
- Modelação de APIs de disponibilização de dados (pull)
- Importação de dados de fontes externas à OST
- Mecanismos de difusão de dados em tempo real (publish-subscribe, push)
- Enquadramento e contextualização dos dados de forma georreferenciada
- Processamento offline de dados com o objectivo de gerar novos dados (linked data)
- Logging e reporting

Alguns aspectos a ter em conta durante o desenvolvimento:
• Desenho e análise funcional em função de critérios de performance, disponibilidade e escalabilidade
• Fortes requisitos ao nível da elegância e modularidade da arquitectura
• Workflow incremental com deployments frequentes e iterativos
• Forte componente de quality assurance com recurso a TDD (test driven development) e BDD (behaviour driven development), em toda a sua extensão: testes unitários, funcionais e de integração
• Implementação de módulos e componentes segundo padrões de encapsulamento e loose-coupling.

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 – Deploy final e relatório de projecto (10% do semestre) – Revisão final da aplicação desenvolvida e disponibilizada para produção.

Condições

O estágio é remunerado

Orientador

Carlos Bento (UC); Miguel Laginha (IPNlis)
bento@dei.uc.pt 📩