Navegando por Autor "Medeiros, Ciro Morais"
Agora exibindo 1 - 3 de 3
- Resultados por página
- Opções de Ordenação
Dissertação Avaliação top-down de consultas de caminhos livres-decontexto em grafos(2018-02-23) Medeiros, Ciro Morais; Musicante, Martin Alejandro; Costa, Umberto Souza da; ; ; ; Oliveira, Marcel Vinicius Medeiros; ; Medeiros, Sérgio Queiroz de; ; Bigonha, Mariza Andrade da Silva;A internet possibilitou a criação de um imenso espaço de dados global, que pode ser acessado na forma de páginas web. Entretanto, páginas web são ideais para apresentar conteúdo para seres humanos, mas não para serem interpretadas por máquinas. Além disso, se torna difícil relacionar as informações armazenadas nos bancos de dados por trás dessas páginas. Para contornar esses problemas foi desenvolvido o Linked Data, um conjunto de boas práticas para relacionamento e publicação de dados. O formato padrão recomendado pelo Linked Data para armazenamento e publicação de dados relacionados é o Resource Description Framework (RDF). Este formato utiliza triplas na forma (sujeito, predicado, objeto) para estabelecer relacionamentos entre os dados. Um banco de dados de triplas pode ser facilmente visualizado como um grafo, de maneira que as consultas são feitas por meio da definição de caminhos no grafo. SPARQL, a linguagem padrão para consultas em grafos RDF, possibilita a definição de caminhos utilizando expressões regulares. Entretanto, expressões regulares têm expressividade reduzida, insuficiente para algumas consultas desejáveis. Para contornar este problema, alguns trabalhos propuseram a utilização de gramáticas livres-de-contexto para definir os caminhos. Desenvolvemos um algoritmo para avaliação de consultas de caminhos livres-de-contexto em grafos inspirado em técnicas de parsing top-down. Dado um grafo e uma consulta definida com base em uma gramática livre-de-contexto, nosso algoritmo identifica pares de vértices ligados por caminhos que formam palavras pertencentes à linguagem gerada pela gramática. Argumentamos que nosso algoritmo é correto e demonstramos outras propriedades importantes. O algoritmo apresenta complexidade cúbica de tempo de execução no pior caso em termos do número de vértices no grafo. Implementamos o algoritmo proposto e avaliamos seu desempenho com bancos de dados RDF e com grafos sintéticos para confirmar sua eficiência.TCC Comparação entre as Linguagens de Programação Suportadas pelo Google App Engine(Universidade Federal do Rio Grande do Norte, 2015-12) Medeiros, Ciro Morais; Gorgônio, Flavius da Luz eA computação na nuvem é um novo modelo computacional onde recursos de TI (tecnologia da informação) de terceiros são disponibilizados através da internet. Grandes empresas oferecem sua infraestrutura de TI às empresas clientes, provisionando alto poder computacional, armazenamento e disponibilidade dos dados, escalabilidade e outros recursos. Dentre as empresas provedoras de computação em nuvem está o Google, com o Google App Engine (GAE). Na maioria dos casos, o modelo de pagamento pelo uso desses recursos é o PAYG (do inglês "payasyougo"), o que caracteriza a computação como uma utilidade (assim como eletricidade, água, etc.). Com a crescente adoção da computação na nuvem por parte das empresas do mercado atual, existe a tendência de se desenvolver software baseado nessa arquitetura e um dos desafios enfrentados é a escolha de uma linguagem de programação adequada. O presente trabalho compara as linguagens de programação suportadas pela plataforma Google App Engine, sendo elas Go, Java, PHP e Python, de acordo com os critérios facilidade de leitura, facilidade de escrita, desempenho, custo de mãodeobra, confiabilidade, popularidade e abrangência das APIs. Através da análise do desempenho de uma aplicação desenvolvida em cada linguagem suportada, dos códigos-fonte produzidos e da implementação interna das linguagens, este trabalho objetiva facilitar a escolha da linguagem de programação ideal para um determinado projeto de software nesta plataforma. Ao final da pesquisa são apontados os pontos fortes e fracos de cada linguagem de programação estudada.Tese Improvements on graph path queries: expression, evaluation, and minimum-weight satisfiability(Universidade Federal do Rio Grande do Norte, 2022-08-30) Medeiros, Ciro Morais; Musicante, Martin Alejandro; Halfeld-Ferrari, Mirian; https://orcid.org/0000-0001-5589-3895; http://lattes.cnpq.br/6034405930958244; http://lattes.cnpq.br/0837783758558004; Hara, Carmem Satie; Goldbarg, Elizabeth Ferreira Gouvea; http://lattes.cnpq.br/2888641121265608Nós tratamos três problemas relacionados a consultas de caminhos em grafos. A maioria das linguagens de consulta em grafos atuais suporta consultas de caminhos regulares. No entanto, algumas aplicações, como análise de código-fonte e genética, exigem consultas de caminhos livres-de-contexto. As consultas de caminhos livres-de-contexto usam linguagens livres-de-contexto. Não existe uma notação padrão para linguagens livres-de-contexto mais simples do que gramáticas livres-de-contexto. A avaliação de uma consulta de caminhos livres-de-contexto é mais complexa do que a de uma consulta de caminhos regulares. Além disso, em algumas aplicações, deseja-se ter o grafo mínimo que preserve as respostas para uma determinada consulta de caminhos. Para resolver cada um desses problemas, nós: (1) desenvolvemos uma notação alternativa para expressar linguagens livres-de-contexto; (2) projetamos, implementamos e experimentamos um algoritmo de avaliação de consulta de caminhos livres-de-contexto; e (3) formalizamos o problema da minimização de grafos restrita a uma linguagem formal, para o qual desenvolvemos soluções para os casos em que a linguagem formal é regular ou livre-de-contexto.