Rogério Reis


Err and err and err again, but less and less and less.


Iniciação à Investigação Científica (CC3011) - 2º Semestre

Relatórios de Trabalho

Até ao fim da época ordinária de exames (03/07/2015) deve ser enviado por correio electrónico, para os responsáveis da cadeira, um relatório do trabalho efectuado. Este relatório, escrito em inglês, deve ter o formato de um artigo científico, com cerca de 12 páginas, não podendo exceder esse tamanho. O formato a usar para a escrita do dito artigo é o da LNCS que se pode encontrar aqui.

Projectos:
1
Título: Optimização da localização de praças de táxi na cidade do Porto.
Docente(s): Michel Ferreira
Descrição: A cidade do Porto tem 63 praças de táxi com uma lotação aproximada que permite acomodar cerca de 50% da frota. A distribuição espacial da localização destas praças tem consequências relevantes na eficiência da operação dos táxis. Cerca de 30% do serviço de táxi é feito em resposta a uma chamada do táxi, que se desloca na esmagadora maioria dos casos da praça de táxis mais próxima do local de recolha. Pretende-se estudar uma forma de optimizar a localização das praças de táxi com base num histórico geo-referenciado de chamadas de táxi, bem como do histórico de localização  do início e fim de viagens de táxi. Para este trabalho será fornecida informação sobre as praças de táxi (localização de lotação), bem como o histórico geo-referenciado de serviços de táxi.
2
Título: Avaliação pedagógica no Mooshak 2.0
Docente(s): José Paulo Leal
Descrição: O Mooshak é um sistema de avaliação automática de programas, inicialmente desenhado para gestão de concursos de programação, mas que também é usado para fins pedagógicos. A versão 2.0 deste sistema foi redesenhada para facilitar a inclusão de diferentes interfaces web. O objetivo desta tarefa é o desenvolvimento de interfaces web especificamente para utilização pedagógica, nomeadamente para aprendizagem, avaliação e correção de exercícios e testes.  
3
Título: Pattern matching com construtores de aridade arbitrária em Haskell
Docente(s): Mário Florido
Descrição: Pretende-se extender o pattern matching da linguagem Haskell para lidar com estruturas com construtores que não têm aridade fixa, alterando o sistema de tipos para permitir operadores de fecho de Kleene (um exemplo seria data Seq a = CSeq a* , que representaria uma sequência de elementos de tipo a). Tecnologias e conceitos utilizados: Haskell, Happy, Template Haskell (https://wiki.haskell.org/Template_Haskell) e pattern matching de termos com functores de aridade arbitrária (http://link.springer.com/chapter/10.1007%2F978-3-319-07151-0_18).
4
Título: Comandos switch com expressões regulares em C
Docente(s): Mário Florido
Descrição: Pretende-se extender a linguagem C com encaixe de padrões com expressões regulares. O objectivo é obter o poder e funcionalidade de ferramentas como o flex, directamente na linguagem C, estendendo o comando switch com pattern matching com expressões regulares. Tecnologias e conceitos utilizados: C, flex, bison, autómatos e expressões regulares (http://infolab.stanford.edu/~ullman/ialc.html).
5
Título: Sistema de armazenamento de ficheiros hybrid cloud
Docente(s): Sérgio Crisóstomo e Rui Prior
Descrição: Neste trabalho pretende-se estudar o desempenho de um sistema de ficheiros híbrido - armazenamento em disco local (funções de cache) conjugado com armazenamento em cloud - para diferentes algoritmos de gestão de cache.
O trabalho a desempenhar consiste em:
(1) estender um sistema existente com novos algoritmos de gestão de cache;
(2) analisar o desempenho dos diferentes algoritmos.
6
Título: Aplicação Android "Altímetro"
Docente(s): Sérgio Crisóstomo
Descrição: Neste trabalho pretende-se desenvolver uma aplicação Android para determinação, em tempo real, da altitude, recorrendo à informação do sensor barométrico, à informação de estações meteorológicas, e a informações METAR de aeroportos.
7
Título: Visualização gráfica da alocação de blocos de um sistema de ficheiros FAT
Docente(s): Sérgio Crisóstomo e Ricardo Rocha
Descrição: Neste trabalho pretende-se que se desenvolva uma visualizador interativo, com interface web, do mapa da alocação de blocos a directórios/ficheiros num sistema de ficheiros FAT (desenvolvido na cadeira de Sistemas de Operação).
8
Título: Desco
Docente(s): Nelma Moreira e Rogério Reis
Descrição: O DesCo é uma base de dados com informação sobre complexidade descritiva de linguagens formais. Na complexidade descritiva estamos interessados não com o tempo de execução dos algoritmos mas sim com o tamanho dos objectos produzidos como função  do tamanho dos argumentos. Nas linguagens regulares a complexidade descritiva mais estudada é o número de estados do autómato mínimo. Actualmente o DesCo
permite a introdução de resultados referentes às operações com linguagens regulares. Neste trabalho pretende-se aumentar o DesCo com mais  resultados sobre as linguagens regulares assim como a extensão a outras linguagens formais e em especial linguagens independentes de contexto. (Desco - http://desco.up.pt)
9
Título: Yappy
Docente(s): Nelma Moreira e Rogério Reis
Descrição: O Yappy é um analisador sintáctivo LR escrito em Python. Pretende-se uma implementação mais eficiente e com tratamento de erros, e a sua generalização para o tratamento de ambiguidadees  Uma das possibilidades  é  considerar
analisadores não canónicos [1], que generalizam a noção de
"handler". Neste trabalho pretende-se o estudo destes analisadores e a sua comparação com outras generalizações [2]. (Yappy -
http://www.dcc.fc.up.pt/~rvr/naulas/Yappy/ )

[1]Sylvain Schmitz: Noncanonical LALR(1) Parsing.
H. Ibarra and Z. Dang (Eds.): DLT 2006, LNCS 4036, pp. 95–107, 2006. Springer-Verlag Berlin Heidelberg 2006

[2]Scott McPeak. Elkhound. A fast, efficient GLR parser
 generator. Tchnical Reposrt CSD-02-1214, University of California, Berkeley, December 2002.
10
Título: Guitar
Docente(s): Nelma Moreira e Rogério Reis
Descrição: O GUItar é um ambiente para a edição e visualização de autómatos finitos.
A versão corrente está implementada em Objective C e tem um modo de comunicação com com o FAdo, um sistema de manipulação simbólica de linguagens Formais (fado.dcc.fc.up.pt). Pretende-se a sua reimplementação em Swift e o desenvolvimento das suas capacidades de edição, desenho e comunicação.
11
Título: Sistema de apoio para otimização do desempenho desportivo.
Docente(s): João Pedro Pedroso
Descrição: Atletas podem recorrer a métodos quantitativos que proponham uma atribuição do tempo de treino a tarefas específicas, tendo em vista a otimização do impacto esperado no seu desempenho.  Neste trabalho pretende-se formalizar este problema em termos dos seus dados, analisar formas de o resolver, e propor interfaces com o utilizador que potenciem a utilização do método.  Serão utilizadas técnicas de investigação operacional e de inteligência artificial.
12
Título: Organização de descrições arquivísticas, de entrevistas e documentos multimédia
Docente(s): Nelma Moreira
Descrição: A plataforma ICA-ATOM (http://ica-atom.org/) permite a organização de descrições arquivísticas. Baseado nestas plataforma, pretende-se neste trabalho o desenvolvimento  de um sistema de informação que não só inclua as descrições arquivísticas do Centro de Documentação e Informação da Universidade Popular do Porto (UPP) (http://cdi.upp.pt) como a inclusão do acervo de história oral constituído por conjuntos de testemunhos (entrevistas) de pessoas ligadas ao mundo do trabalho (Coleção ``memórias do Trabalho'').
13
Título: Estudo do Paradigma FRP
Docente(s): Pedro Vasconcelos
Descrição: A programação funcional reactiva (Functional Reactive Programming ou FRP) é um paradigma para desenvolver aplicações interativas baseado num modelo declarativo de composição de sinais (por oposição ao um modelo imperativo de mutação de estado).  Foi inicialmente proposto nos anos\ 90 num contexto puramente académico, mas recentemente tem sido re-visitado como uma alternativa ao modelo imperativo para a programação de aplicações web interativas e assíncronas.

Pretende-se que o aluno estude o paradigma FRP e em particular a linguagem funcional *Elm* concebida para desenvolver aplicações gráficas que executam directamente sobre um *web browser* (por compilação para JavaScript).

Pretende-se ainda o desenvolvimento de alguns "demos" (i.e. pequenos jogos ou animações) que exemplifiquem as potencialidades do paradigma FRP genericamente e da linguagem Elm em particular.

Página da Wikipedia sobre FRP:     
http://en.wikipedia.org/wiki/Functional_reactive_programming.

Página da Linguagem Elm:     
http://www.elm-lang.org
14
Título: Simulador para ensino de ecocardiografia
Docente(s): Miguel Coimbra
Descrição: Descrição: Os simuladores tem tido um papel crescente a nível de ensino de capacidades técnicas na área da medicina. Bons exemplos incluem manequins para o ensino da cardiologia ou obstetrícia [1], ou mesas interactivas para ensino de diagnóstico em ambiente de urgência [2]. Uma das limitações importantes é o custo elevado destas soluções, tanto na compra como na manutenção. A interactividade proporcionada por smartphones, tablets e outros sensores de baixo custo, permite a criação de soluções mais baratas, sem perda de eficácia no ensino [3]. Um campo específico de uma capacidade técnica de aprendizagem não trivial é o posicionamento da sonda e identificação das imagens em exames de ultrassom (ex: ecocardiografia). Espera-se que neste trabalho o aluno investigue e relate de forma crítica o estado da arte científico deste tipo de simuladores, discutindo especificamente a viabilidade e estratégia de desenvolvimento de um simulador 'low-cost' para ensino de ecocardiografia.

[1] Rosen, Katherine R (June 2008). "The history of Medical Simulation". J Crid Care 23 (2): 157–166.
[2] 
http://www.bodyinteract.com/
[3] D. Pereira, P. Gomes, É. Mota, E. Costa, R. Cruz-Correia, M. Coimbra, “Combining a tablet and an electronic stethoscope to create a new interaction paradigm for teaching cardiac auscultation”, in Proc. 15th International Conference on Human-Computer Interaction, HCII 2013, Las Vegas, USA, Jul 2013.
15
Título: Aplicação interactiva com LeapMotion para a área de gastrenterologia
Docente(s): Miguel Coimbra
Descrição: Descrição: A tecnologia LeapMotion [1] permite um controle gestual de aplicações para fins muito variados. Espera-se que o aluno não só desenvolva uma aplicação como a teste em ambiente real (IPO-Porto), que permita a identificação de gestos feitos por um médico ou por um enfermeiro dentro de uma sala de gastrenterologia. 

[1] 
https://www.leapmotion.com/
16
Título: Named Entity Identification
Docente(s): Alípio Jorge
Descrição: A text usually refers to people, places, organizations and other important entities. For example in the sentence "During the Second World War, Turing worked for the Government Code and Cypher School at Bletchley Park" we have the entities "Second World War", "Turing", " Government Code and Cypher School" and "Bletchley Park". Artificial Intelligence and Text Mining techniques can be used to automatically identify entities in text. The aim of this work is to produce a stand-alone application that processes documents and automatically identifies named entities and can be used widely. There exists already a running prototype, which will be adapted and made more robust. The work will be done in cooperation with a post-doc researcher of LIAAD. The task of the student involved will consist mainly of programming and pragmatic interface development. The student will have the opportunity to learn about Text Mining and will have to know the basics of Named Entity Recognition and text processing.

References:

http://brown.cl.uni-heidelberg.de/~sourjiko/NER_Literatur/survey.pdf

http://www.cfilt.iitb.ac.in/resources/surveys/rahul-ner-survey.pdf
17
Título: App Android de recomendação automática
Docente(s): Alípio Jorge
Descrição: Os sistemas de recomendação são hoje uma funcionalidade importante em sites de lojas de comércio eletrónico e não só. O funioncamento destes baseia-se sobretudo em processamento de dados dos utilizadores e dos itens a recomendar. Num outro projeto foi desenvolvida uma demo, para ser utilizada na mostra da U.P., que permite a um utilizador escolher cursos de que goste ou esteja a pensar seguir. Os cursos são apresentados graficamente e as escolhas de todos os utilizadores são guardadas numa base de dados. A base de dados é utilizada para fazer recomendações automáticas (recommender systems). Neste projeto pretende-se migrar, com as devidas adaptações, este programa para uma app para Android. O trabalho pode ser enriquecido com um estudo da área dos sistemas de recomendação e com novas funcionalidades.
18
Título: Redes ad-hoc Wifi
Docente(s): Pedro Brandão
Descrição: As redes que usam tecnologias sem fio (wireless), em geral, ligam-se a redes infraestruturadas, i.e., redes que têm uma infraestrutura e eventualmente se ligam à internet.
Em muitos casos apenas uma rede local seria necessário, em que os nós nessa
rede apenas pretendem comunicar entre si, por exemplo, enviar mensagens entreos participantes de uma convenção.
O modo ad-hoc das redes 802.11 permitem que os nós se ligam uns aos outros sem necessitar de um ponto de acesso (i.e. sem necessitar de infra-estrutura).
Neste projeto pretende-se estudar a capacidade de transmissão numa rede ad-hoc feita usando Raspberry Pi. Pretende-se analisar entre outros: alcance
(analisando os modelos de propagação que se aplicam), throughput, delay, overhead; devendo variar-se a topologia e o número de nós na rede.
19
Título: Redes Ad-hoc: Comparação de versão 802.11 e overlay
Docente(s): Pedro Brandão
Descrição: As redes que usam tecnologias sem fio (wireless), em geral, ligam-se a redes infraestruturadas, i.e., redes que têm uma infraestrutura e eventualmente se ligam à internet. Em muitos casos apenas uma rede local seria necessário, em que os nós nessa rede apenas pretendem comunicar entre si, por exemplo, enviar mensagens entre os participantes de uma convenção.
O modo ad-hoc das redes 802.11 permitem que os nós se ligam uns aos outros sem necessitar de um ponto de acesso (i.e. sem necessitar de infra-estrutura).
Neste projeto projeto pretende-se comparar soluções que se antevêem de 'overlay' (não usando diretamente o disponível em 802.11 com uma solução em ad-hoc nativo.
Os pontos a estudar serão:
* funcionamento do OpenGarden (análise do protocolo por análise de tráfego; avaliação do overhead, throughput, delay, etc.)
* comparação com uma rede ad-hoc nativa

Estes testes seriam feitos em ambiente Android.
20
Título: Avaliação de usabilidade de um protótipo de quiosque de saúde
Docente(s): Rui Prior, Pedro Brandão
Descrição: O trabalho consiste na avaliação da usabilidade de um
protótipo de quiosque de saúde que está a ser desenvolvido no âmbito do projecto Future Health, envolvendo interacção com a equipa de desenvolvimento. As tarefas a realizar incluem o estudo das técnicas para avaliação da usabilidade aplicáveis, a definição da metodologia a utilizar, a recolha de resultados e a análise dos mesmos. Serão recolhidos alguns resultados preliminares durante a Mostra UPorto; os restantes resultados serão recolhidos em testes a definir.