Sistema de manipulação semântica de dados baseado no modelo relacional

Proposta do Trabalho de Conclusão de Curso

Daniel Bento de Paula
Supervisor: Prof. Dr. João Eduardo Ferreira

Motivação

Os sistemas de arquivos atuais (como o NTFS, Ext3, ReiserFS) possuem uma única maneira de organizar e armazenar seus arquivos. É constituida basicamente pela criação de diretórios e atribuição de nomes aos arquivos com suas extensões. Mas pouca ou nenhuma informação a respeito dos arquivos armazenados é oferecida. A única informação semântica a respeito do arquivo é obtida pela tríade diretório-nome-extensão.

Arquivos podem pertencer a diversas categorias. Nesse ponto a estrutura de armazenagem baseada na tríade torna-se deficiente, pois não é possível armazenar um arquivo em mais de um diretório sem que exista duplicidade. É possível criar links simbólicos ou atalhos para os mesmos, mas essa solução torna-se custosa ao gerenciar uma grande quantidade de arquivos que possam se encaixar em diversas categorias.

A solução para este problema está em atribuir semântica aos arquivos. É necessário que os sistemas de arquivos sejam capazes de lidar com arquivos que tenham semântica agregada e que saibam tirar proveito disso.

Objetivo

O objetivo deste trabalho de formatura é construir um sistema que manipule semanticamente arquivos. Ele será capaz de adicionar, remover, atualizar e consultar arquivos semanticamente.

A descrição semântica dos arquivos será feita por meio de tags. Cada tag é uma palvra que descreve o arquivo. Cada arquivo é descrito por uma ou mais tags. Tags podem ser associadas entre si esta associação possui um peso, que siginfica o quanto uma tag é próxima da outra semanticamente. A manipulação semântica deve levar em consideração esses tipos de associações. As associações tags-arquivos e tags-tags serão armazenadas em um banco de dados, seguindo o modelo relacional.

O sistema aqui descrito não é um sistema de arquivos nativo, mas sim uma camada entre os arquivos de sistema e o usuário. Sua entrada é composta por uma ou mais palavras, que serão parseadas e transformadas em tags. Estas serão utilizadas como parâmetros na busca semântica, que retornará uma lista de aquivos de sistema relevantes às palavras de entrada.

Durante o desenvolvimento serão utilizados de ferramentas e tecnologias de software livre. Portanto todos os módulos do sistema final e documentação seguem esta filosofia e ficarão disponíveis na internet para desenvolvimentos futuros.

Atividades já realizadas
  • Modelagem do Banco de Dados que abrigará os relacionamentos arquivos-tags e tags-tags
  • Divisão do sistema em módulos
  • Estudo do método para a manipulação semântica dos dados
Cronograma de Atividades

Tabela com o cronograma das atividades:

Atividade/mês
julho
agosto
setembro
outubro
novembro
Desenvolvimento do núcleo do sistema
v
v
 
 
 
Desenvolvimento do sistema estendido
 
v
v
 
 
Ajustes finais e otimizações
 
 
 
v
 
Documentação do sistema
v
v
v
v
v
Produção do pôster
 
 
 
 
v
Produção da apresentação
 
 
 
 
v
Texto da monografia
v
v
v
v
v

Legenda:

  • Núcleo do sistema: responsável por manipular os relacionamentos tags-arquivos
  • Sistema estendido: responsável por manipular os relacionamentos entre tags-tags
  • Ajustes finais e otimizações: melhorias no código, correções de bugs, etc.
Estrutura esperada da monografia

A monografia será dividida em duas partes e pode ter sua estrutura alterada caso haja necessidade.

  1. Parte Técnica
  2. Parte Subjetiva

Parte Técnica

  • Introdução: motivação, descrição do problema e objetivo
  • Descrição técnica: definições, conceitos, algoritmos e estruturas de dados utilizados
  • Documentação
  • Atividades realizadas
  • Resultados obtidos
  • Conclusão
  • Bibliografia

Parte Subjetiva

  • Experiência pessoal
  • Disciplinas relevantes ao projeto
  • Conclusão