Projects Description
Departamento de Informática
Universidade do Minho
Alguns Projectos

De seguida apresento alguns projectos para opção III/Estágio/Mestrado (dependendo do grau de aprofundamento do tema) que gostava de ver realizados. No entanto, estarei muito interessado em orientar qualquer grupo/aluno nas áreas em que tenho recentemente trabalhado (ver a minha página pessoal ), nomeadamente:
  • Programação Funcional
  • Ambientes de Programação/Processadores de Linguagens (usando o sistema Lrc ou não)
  • Gramáticas de Atributos
  • Tecnologias XML
Desde 1998 que o DI mantém contactos com alguns institutos de investigação/empresas estrangeiras, o que tem permitido aos alunos do DI realizar projectos de estágio no estrangeiro ao abrigo de uma bolsa Da Vinci da UE. Os alunos que estiverem interessados em realizar estágios/teses de mestrado nas seguintes empresas devem contactar-me (de preferência via email): 1 Alguns Projectos

  • Animação de Documentos XML :

    Recentemente foi incluído no Lrc a possibilidade de gerar ferramentas que permitem visualizar graficamente o texto de entrada e animar a tarefa de processar esse mesmo texto. Para tal usou-se um sistema de visualização de grafos GraphViz, desenvolvido na AT & T, e integraram-se os dois sistemas.

    Desenvolveu-se também um visualizador para os combinadores de XML (ou mais genericamente, combinadores de documentos) existentes no Lrc (por exemplo, esta página foi produzida por tais combinadores). Deste modo é possível ver já um texto XML como uma árvore (na notação) XML.

    Neste projecto pretende-se combinar as animações com os combinadores de XML/documentos do Lrc de modo a definir a semântica de documentos elegante e concisamente via gramáticas de atributos e obter automaticamente um animador de documentos.

    Area: Processamento de Linguagens, Gramática de Atributos, Visualização de Algoritmos, Tecnologias XML

  • Vistas Múltiplas para Gramáticas Abstractas/Tipos de Dados :

    Nas cadeiras de Métodos de Programação III e Processamento de Linguagens I (anos lectivos 00/01) foram apresentadas regras para converter gramáticas em tipos de dados Haskell e C, respectivamente. Tal como descrito no relatório técnico:

    • João Saraiva, From Context-Free Grammars into recursive Data Types in the C Language , Relatório Técnico, Departamento de Informática, Universidade do Minho, Maio de 2001. postscript .

    Neste projecto pretende-se desenvolver uma ferramenta para automatizar esse processo e permitir ainda vizualizar graficamente instâncias dessas gramáticas (ie, árvores abstractas). A ferramenta a desenvolver, dada uma gramática abstracta (escrita numa notação a definir), produzirá, numa primeria fase, uma representação em Haskell, C e Java desta gramática. Posteriormente, pretende-se utilizar a gramática abstracta incluída no sistema Lrc para visualização de árvores, como entrada da ferramenta, de modo a produzir os constructores (Haskell, C e Java) para esta gramática.

    Tendo produzido os constructores para visualizar árvores nestas linguagens (ou por outras palavras, um módulo que permite visualizar gráficamente árvores), pretende-se que a ferramente inclua chamadas a estas funções quando produz as representações Haskell, C e Java a partir da gramática abstracta. Assim, a ferramenta desenvolvida produzirá automaticamente uma representação gráfica de instâncias da gramática.

    Area: Processamento de Linguagens, Gramática de Atributos, Visualização de Algoritmos

  • Embebendo XQuery em Gramáticas de Atributos :

    Este projecto é a continuação de um projecto de opção III em que se estenderam os combinadores Haskell para XML, HaXmL, com uma linguagem de interrogações (similar à XQuery) de modo a permitir interrogar documentos XML processados com o HaXmL.

    Neste projecto pretende-se embeber o XQuery nas gramáticas de atributos de modo a permitir ao utilizador interrogar qualquer linguagem/texto definido via gramáticas de atributos. Por exemplo, no trabalho prático de Processamento de Linguagens I (ano lectivo 00/01), foi construída uma folha de cálculo para gerir/manipular as notas dos alunos. Com os resultados deste projecto, será possível, por exemplo, "perguntar" quais os alunos que passaram à cadeira. Isto sem termos de alterar a gramática de atributos escrita nesse trabalho.

    Uma das características do sistema Lrc é a de permitir várias vistas sobre o mesmo input (ou melhor, sobre a mesma árvore sintáctica). Usando o sistema Lrc neste projecto, será possível termos diferentes vistas para a nossa linguagem de interrogação: uma mais orientada à notação XML (e mais "verbosa") e uma mais concreta/concisa. Ao utilizador será dada a possibilidade de escolher em que notação prefere fazer as suas interrogações.

    Area: Linguagens de Interrogação de Bases de Dados, Gramática de Atributos, Tecnologias XML

  • Decoração de DAGs: (master thesis)

    Este projecto vem no seguimento da minha tese de doutoramento. Pretende-se implementar o conceito de decoração de DAGs (em vez da decoração de árvores tradicional). Ver secção 6.6 da tese.



Pagina mantida por:

João Saraiva

jas@di.uminho.pt
Page produced by a Tool generated by LRC from the XML document proj.xml

Last Change on Fri Aug 23 17:08:33 2002