Logo do repositório
  • Página Inicial(current)
  • Buscar
    Por Data de PublicaçãoPor AutorPor TítuloPor Assunto
  • Tutoriais
  • Documentos
  • Sobre o RI
  • Eventos
    Repositório Institucional da UFRN: 15 anos de conexão com o conhecimento
  • Padrão
  • Amarelo
  • Azul
  • Verde
  • English
  • Português do Brasil
Entrar

SIGAA

  1. Início
  2. Pesquisar por Autor

Navegando por Autor "Costa, Umberto Souza da"

Filtrar resultados informando as primeiras letras
Agora exibindo 1 - 20 de 21
  • Resultados por página
  • Opções de Ordenação
  • Carregando...
    Imagem de Miniatura
    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.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    Avaliando a robustez e manutenibilidade do comportamento excepcional de aplicações C#
    (Universidade Federal do Rio Grande do Norte, 2014-04-25) Sousa Neto, Eliezio Soares de; Cacho, Nelio Alessandro Azevedo; ; http://lattes.cnpq.br/4635320220484649; ; http://lattes.cnpq.br/4774223109614503; Lima Filho, Fernando José Castor de; ; http://lattes.cnpq.br/7310046838140771; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084
    As linguagens de programação convencionais fornecem mecanismos de tratamento de exceções internos a fim de prover implementação de tratamento de exceções em sistemas de software robusto e manutenível. A maioria dessas linguagens modernas, tais como C#, Ruby, Python e muitas outras, frequentemente afirmaram ter mecanismos de tratamento de exceção mais apropriados. Elas reduzem as restrições de programação no tratamento de exceção buscando agilizar mudanças no código fonte. Essas linguagens suportam o que chamamos de mecanismos de tratamento de exceções dirigidos a manutenção. Espera-se que a adoção desses mecanismos aumentem a manutenibilidade dos softwares sem impactar na robustez. Entretanto ainda existe pouco conhecimento empírico acerca do impacto que a adoção desses mecanismos tem na robustez de softwares. Este trabalho busca preencher essa lacuna conduzindo um estudo empírico direcionado ao entendimento da relação entre mudanças em programas C# e sua robustez. Em particular, nós avaliamos como mudanças nos códigos normal e excepcional se relacionam com faltas no tratamento de exceção. Nós aplicamos uma análise de impacto de mudança e uma análise de fluxo de controle em 100 versões de 16 programas escritos em C#. A partir dos dados coletados, este trabalho identificou os elementos do trade-off entre manutenibilidade e robustez
  • Carregando...
    Imagem de Miniatura
    Tese
    Certificação de composições de serviços web semânticos
    (Universidade Federal do Rio Grande do Norte, 2014-07-29) Pessini, Evando Carlos; Musicante, Martin Alejandro; Carrano, Regina Maria Motz; ; ; http://lattes.cnpq.br/6034405930958244; ; http://lattes.cnpq.br/3762552809419018; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084; Ribeiro, Cláudia Maria Fernandes Araújo; ; http://lattes.cnpq.br/4724141474353962
    Esta tese apresenta um método de certificação de composições de serviços web semânticos, o qual visa assegurar estaticamente sua correção funcional. O método de certificação consiste em duas dimensões de verificação, denominadas base e funcional. A dimensão base é centrada na verificação da correta aplicação dos serviços web semânticos na composição, i.e., visa certificar que as invocações de serviço especificadas na composição estão em conformidade com as respectivas definições dos serviços. A certificação desta dimensão explora a compatibilidade semântica entre os argumentos dados na invocação e os parâmetros formais do serviço web semântico. A dimensão funcional visa certificar que a composição cumpre uma dada especificação expressa na forma de pré e pós-condições. Esta dimensão é formalizada através de um cálculo baseado na lógica de Hoare. Especificações de correção parciais envolvendo composições de serviços web semânticos podem ser derivadas a partir do sistema dedutivo proposto. Este trabalho caracteriza-se também por explorar o emprego de um fragmento da lógica descritiva, i.e., ALC, para expressar as especificações de correção parciais. Como forma de operacionalizar o método de certificação, foi desenvolvido um ambiente de suporte para a definição das composições de serviços web semânticos, assim como os mecanismos necessários para realizar a certificação. O método de certificação foi avaliado experimentalmente através da aplicação em três provas de conceito diferentes. As provas de conceito desenvolvidas possibilitaram avaliar de forma ampla o método de certificação proposto
  • Nenhuma Miniatura disponível
    TCC
    Cibersegurança na Computação Quântica
    (Universidade Federal do Rio Grande do Norte, 2022-12-09) Augusto, Acsa Laiane Arcanjo; Costa, Umberto Souza da; 0000-0001-9291-2995; http://lattes.cnpq.br/9526809466920084; 0000-0002-3110-5150; https://lattes.cnpq.br/9943002548187457; Carvalho, Bruno Motta de; 0000-0002-9122-0257; http://lattes.cnpq.br/0330924133337698; Correa, Edgard de Faria; http://lattes.cnpq.br/1929225348911990
    Com a evolução tecnológica, é evidente a incansável busca pela melhora do desempenho dos computadores, seja com técnicas de paralelização, concorrência, ou aprimorando diretamente as configurações físicas, como processadores e memória. Como alternativa à configuração clássica dos computadores, houve o surgimento das técnicas que possibilitaram o advento da computação utilizando os mais diversos sistemas quânticos, como polarização de fótons. A Computação Quântica se depara com os mesmos critérios de cibersegurança, contudo, os mecanismos de defesa atuais, desenvolvidos com base na segurança matemática que os computadores atuais não são capazes de resolver, mostram-se insuficientes em sistemas quânticos. Desta forma, a maioria dos algoritmos de criptografia utilizados hoje seriam facilmente quebrados. Para garantir essa proteção dos dados na Computação Quântica, é necessário novos meios capazes de realizar a defesa cibernética. Sendo assim, investigamos os métodos de ataques à segurança em sistemas de computação quântica e os algoritmos criptográficos desenvolvidos, com o objetivo de realizarmos um estudo expondo o estado da arte da cibersegurança no âmbito da computação quântica.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    Detecção e recuperação de falhas para a máquina de redução de grafos PEWS-AM
    (Universidade Federal do Rio Grande do Norte, 2014-02-28) Lima, José Sueney de; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084; ; http://lattes.cnpq.br/8753118746450933; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; Carrano, Regina Maria Motz
    Serviços Web são unidades de software que permitem o acesso a um ou mais recursos, dando suporte à implantação de processos de negócios na Web. Eles permitem a interação através de interfaces bem-definidas, utilizando-se de protocolos padrões da Web, tornando possível a comunicação entre entidades implementadas em diferentes tipos de plataformas. Em virtude dessas características, Serviços Web podem ser integrados com o objetivo de formar aplicações mais robustas, com baixo acoplamento entre serviços, através de composições. Serviços Web estão sujeitos a falhas, situações indesejadas que podem comprometer o processo de negócio parcialmente ou mesmo totalmente. Falhas podem ocorrer tanto na concepção de composições quanto na execução das mesmas. Em virtude disso, é essencial a criação de mecanismos que tornem a execução das composições de serviços mais robusta e tratem falhas. Especificamente, propomos o suporte à recuperação de falhas em composições de serviços descritas na linguagem PEWS e executadas sobre PEWS-AM, uma implementação criada a partir da noção de grafos. Para o suporte à recuperação de falhas em PEWS-AM, estendemos as especificações PEWS e adaptamos as regras de tradução e redução de grafos desta máquina. Estas contribuições foram realizadas tanto no modelo da máquina abstrata quanto no nível da implementação
  • Nenhuma Miniatura disponível
    TCC
    Estudo Comparativo de Ferramentas de Análise Estática de Código
    (Universidade Federal do Rio Grande do Norte, 2017-11-24) Medeiros, João Eduardo Ribeiro de; Costa, Umberto Souza da; Cavalcante, Everton Ranielly de Sousa; Coelho, Roberta de Souza
    A análise estática de código está cada vez mais popular entre os desenvolvedores de sis- temas devido aos diversos benefícios que ela traz à produção de software e à crescente necessidade de produção de software de qualidade. Neste cenário, diversas ferramentas de análise estática vêm surgindo e, com tantas opções, torna-se necessário avaliá-las e compará-las, a fim de entender melhor seus benefícios e auxiliar o desenvolvedor a esco- lher a ferramenta mais adequada a seu projeto. Neste Trabalho de Conclusão de Curso, discutimos a análise estática de código no contexto das linguagens de programação C, Java e Python. Primeiro, investigamos diversas ferramentas de análise estática e, então, comparamos sua eficiência aplicando-as a projetos de software reais. Desta forma, este trabalho pretende comparar ferramentas existentes no mercado, identificar as melhores opções disponíveis e indicar qual das linguagens abordadas é a provida de melhores re- cursos de análise estática.
  • Carregando...
    Imagem de Miniatura
    Tese
    A family of coverage criteria based on patterns to the test of metaprograms
    (2017-12-15) Antunes, Cleverton Hentz; Moreira, Anamaria Martins; ; ; Musicante, Martin Alejandro; ; Borba, Paulo Henrique Monteiro; ; Gheyi, Rohit; ; Costa, Umberto Souza da;
    Apesar da existência de várias técnicas para a geração automática de dados de teste baseados em gramáticas, poucos trabalhos foram propostos no sentido de melhorar os dados de teste gerados aplicando restrições semânticas. Nesse sentido, contribuimos neste trabalho, nesta direção para o caso particular do teste de metaprogramas, um programa que tem como dado de entrada um outro programa. Atualmente, a alternativa natural para o teste deste tipo de programa é a técnica de testes baseados em gramáticas. Essa técnica de teste pode ser aplicada de maneira relativamente simples, porém com um custo de geração e execução do conjunto de testes elevado e uma efetividade baixa. Por outro lado, diversas pesquisas e ferramentas de grupos interessados no desenvolvimento de metaprogramas fazem uso intenso do recurso de casamento de padrões durante a sua implementação e especificação. Neste caso, os padrões oferecem uma fonte de informação interessante para a criação de testes que são sintaticamente válidos e também satisfazem restrições semânticas. Dada a limitação dos testes baseados em gramáticas e considerando a informação embutida nos padrões existentes nos metaprogramas, temos a oportunidade de contribuir para a melhoria do processo de teste para esses programas. Logo, o objetivo deste trabalho é avaliar o uso da informação de padrões para o teste de metaprogramas e com isso contribuir no seu processo de teste. No intuito de sistematizar o processo de teste de software, o documento apresenta um processo de design de teste e também uma família de critérios de cobertura baseados em padrões para o teste eficiente e sistematizado de metaprogramas baseados em padrões. São propostos quatro critérios de cobertura baseados em padrões e nos critérios de particionamento do espaço de entrada. Também é apresentada uma hierarquia entre os critérios propostos. Com isso, diferentes níveis de rigor podem ser requeridos no processo através da escolha do critério adequado. A validação dessas contribuições é feita através de um estudo de caso e uma validação empírica. O estudo de caso apresenta uma instanciação de referência para o processo de design de testes de um verificador de tipos implementado como metaprograma baseado em padrões. O verificador de tipos é testado usando um conjunto de testes gerados pelos critérios de cobertura baseados em padrões. A qualidade desse conjunto é avaliada utilizando a técnica de mutação e através da comparação dos resultados obtidos com testes gerados por critérios baseados em gramáticas. Os estudos experimentais indicam a efetividade da aplicação dos critérios baseados em padrões e o ganho em custo-benefício em relação aos critérios baseados em gramáticas no contexto do teste de metaprogramas baseados em padrões.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    Geração de processos WS-BPEL com base em um algoritmo de reescrita de regras
    (Universidade Federal do Rio Grande do Norte, 2013-12-12) Marcelino, Sidney Soares; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084; ; http://lattes.cnpq.br/9480981332935985; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; Carrano, Regina Maria Motz
    Os serviços web são soluções computacionais criadas de acordo com os princípios da Com- putação Orientada a Serviços e disponibilizadas via Internet. Novos serviços web podem surgir a partir outros pré-existentes, utilizando linguagens de composição. Considerando orquestrações de serviços, onde existe um processo central que coordena todas as opera- ções da aplicação, propomos um método para geração de processos WS-BPEL, a partir de especificações abstratas dotadas de informações de controle. O método proposto permite ao projetista da composição se concentrar em especificações de alto nível, aumentando sua produtividade e gerando especificações independentes de serviços web específicos. O processo de geração de composições se baseia em um algoritmo de reescrita de regras, que foi estendido para dar suporte a informações de controle básicas. Criamos um protótipo do método de refinamento estendido e realizamos experimentos sobre estudos de caso simples
  • Carregando...
    Imagem de Miniatura
    Dissertação
    Identificação de dificuldades e questões de interesse de desenvolvedores de aplicações para Big Data com o framework Apache Spark
    (2019-09-27) Albuquerque, Denis José Sousa de; Costa, Umberto Souza da; ; ; Musicante, Martin Alejandro; ; Nunes, Marcus Alexandre; ; Souza Neto, Plácido Antonio de;
    Este trabalho de pesquisa busca identificar e classificar as principais dificuldades e questões de interesse dos desenvolvedores de aplicações para o processamento de Big Data utilizando o framework Apache Spark. Nesse sentido, utilizamos o algoritmo Latent Dirichlet Allocation para realizar a modelagem probabilística de tópicos em informações extraídas do Stack Overflow, uma vez que não é viável a inspeção manual de todo o conjunto de dados. A partir do conhecimento obtido pelo estudo abrangente de trabalhos relacionados, estabelecemos e aplicamos uma metodologia baseada nas práticas usualmente empregadas. Construímos aplicações Spark para execução automatizada das tarefas, tais como a seleção e preparação dos dados, o agrupamento de tópicos – aplicação do algoritmo de modelagem probabilista para várias configurações – e a computação de métricas. Análises sobre os resultados obtidos foram conduzidas por um grupo composto por 5 pesquisadores: dois professores doutores, um aluno doutorando e dois alunos mestrandos. A partir da análise semântica dos rótulos atribuídos para cada um dos tópicos identificados, uma taxonomia de interesses e dificuldades foi construída. Por fim, estabelecemos um ranqueamento dos temas mais importantes de acordo com as várias métricas calculadas e comparamos os métodos e resultados de nosso estudo com os apresentados em outro trabalho.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    A influência do esqueleto açúcar-fostato no transporte da molécula de DNA
    (Universidade Federal do Rio Grande do Norte, 2008-09-30) Sarmento, Ricardo Gondim; Albuquerque, Eudenilson Lins de; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4783172H5; ; http://lattes.cnpq.br/8705478077990182; Medeiros, Fábio Ferreira de; ; http://lattes.cnpq.br/7268744971022470; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084
    Esta dissertação analisa a influência do esqueleto açúcar-fosfato no transporte eletrônico na molécula de DNA de fita dupla, com o sequenciamento dos pares de base modelado por dois tipos de seqüências quasi-periódicas: Rudin-Shapiro e Fibonacci. Para ambas as seqüências, foram calculadas as densidades de estado e comparadas com a densidade de estado de um trecho do DNA humano Ch 22. Em seguida, foi investigada a transmitância eletrônica. Nos dois casos, as Hamiltonianas são distintas. Na análise da densidade de estado foi empregada a equação de Dyson. Na transmitância foi feito uso da equação de Schrödinger independente do tempo. Em ambos os casos, foi utilizado o modelo tight-binding. Os resultados para a densidade de estado foram mais satisfatórios para a seqüência de Rudin-Shapiro, que forneceu um perfil muito próximo do perfil da densidade de estado para o Ch22. A transmitância foi calculada somente para a seqüência de Fibonacci atá a quinta geração. Nestes dois mecanismos de transporte, as correlações são de longo alcance
  • Carregando...
    Imagem de Miniatura
    Dissertação
    JCML - Java Card Modeling Language: Definição e Implementação
    (Universidade Federal do Rio Grande do Norte, 2007-09-06) Souza Neto, Plácido Antônio de; Moreira, Anamaria Martins; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084; ; http://lattes.cnpq.br/5861361541278876; ; http://lattes.cnpq.br/3641504724164977; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; Borba, Paulo Henrique Monteiro; ; http://lattes.cnpq.br/9395715443254344
    Métodos formais poderiam ser usados para especificar e verificar software on-card em aplicações Java Card. O estilo de programação para smart cards requer verificação em tempo de execução para condições de entrada em todos os métodos Java Card, onde o objetivo principal é preservar os dados do cartão. Projeto por Contrato, em particular, a linguagem JML, é uma opção para este tipo de desenvolvimento e verificação, pelo fato da verificação em tempo de execução ser parte da implementação pela JML. Contudo, JML e suas respectivas ferramentas para verificação em tempo de execução não foram projetadas com o foco nas limitações Java Card, sendo, dessa forma, não compatíveis com Java Card. Nesta dissertação, analisamos o quanto esta situação é realmente intrínseca às limitações Java Card e, se é possível re-definir a JML e suas ferramentas. Propomos requisitos para uma nova linguagem, a qual é compatível com Java Card e apresentamos como o compilador desta linguagem pode ser construído. JCML retira da JML aspectos não definidos em Java Card, como por exemplo, concorrência e tipos não suportados. Isto pode não ser o bastante, contudo, sem o esforço em otimização de código de verificação gerado pelo compilador, não é possível gerar código de verificação para rodar no cartão. O compilador JCML, apesar de ser bem mais restrito em relação ao compilador JML, está habilitado a gerar código de verificação compatível com Java Card, para algumas especificações lightweight. Como conclusão, apresentamos uma variante da JML compatível com Java Card, JCML (Java Card Modeling Language), com uma versão de seu compilador
  • Carregando...
    Imagem de Miniatura
    Artigo
    JCML: A specification language for the runtime verification of Java Card programs
    (Elsevier, 2010-03-19) Moreira, Anamaria Martins; Costa, Umberto Souza da; Musicante, Martin A.; Souza Neto, Plácido A.
  • Nenhuma Miniatura disponível
    Tese
    Linear logic as a logical framework
    (Universidade Federal do Rio Grande do Norte, 2023-05-19) Xavier, Bruno Francisco; Vega, Carlos Alberto Olarte; Pimentel, Elaine Gouvea; http://lattes.cnpq.br/1198550954813139; https://orcid.org/0000-0003-1574-1779; http://lattes.cnpq.br/0730802486637527; Reis, Giselle Machado Nogueira; Santiago, Regivan Hugo Nunes; http://lattes.cnpq.br/7536988783793885; Costa, Umberto Souza da
    Esta tese investiga a analiticidade de sistemas de prova por meio da Lógica Linear (LL). A analiticidade é a propriedade de que uma prova de uma fórmula F usa apenas subfórmulas de F. No cálculo de sequentes, essa propriedade é geralmente estabelecida mostrando que a regra de corte é admissível, o que significa que a introdução do lema auxiliar A na proposição “se A segue de B e C segue de A, então C segue de B” pode ser eliminada. No entanto, a eliminação de corte é um processo complexo que envolve múltiplas transformações de prova e requer o uso de procedimentos (semi-)automáticos para evitar erros. LL é uma ferramenta poderosa para estudar a analiticidade de sistemas de prova devido à sua natureza orientada à recursos, ao sistema focado e seu teorema de eliminação de corte. Trabalhos anteriores de Miller e Pimentel utilizaram LL como um framework lógico para estabelecer condições suficientes para a eliminação de corte de lógicas objeto. No entanto, muitos sistemas lógicos não podem ser adequadamente codificados em LL, particularmente sistemas de sequentes para lógicas modais. Nesta tese, propomos um sistema de sequentes aninhados linearmente (LNS, do inglês linear nested sequents) de uma variante de LL com subexponenciais (MMLL) e demonstramos que é possível estabelecer um critério de eliminação de corte para uma classe mais ampla de sistemas lógicos. Isso inclui sistemas de prova LNS para lógicas multimodais clássicas e subestruturais, bem como o sistema LNS para lógica intuicionista. Além disso, apresentamos um estudo detalhado do procedimento de eliminação de corte para LL. Especificamente, propomos um conjunto de regras de corte para sistemas focados em LL, uma variante de LL com subexponenciais (SELL) e MMLL. Nossa pesquisa demonstrou que essas regras de corte são suficientes para estabelecer diretamente a admissibilidade de corte nos sistemas focados. Formalizamos nossos resultados em Coq, um assistente de prova formal, fornecendo procedimentos para verificar a eliminação de corte de vários sistemas lógicos que são comumente usados em filosofia, matemática e ciência da computação.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    Uma máquina de redução de grafos extensível para a implementação de fluxos de trabalho
    (Universidade Federal do Rio Grande do Norte, 2015-02-26) Macêdo, Márcio Alves de; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; ; http://lattes.cnpq.br/3214682904395974; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084; Pardo, Alberto; ; Solar, Genoveva Vargas;
    Máquinas de redução de grafos, são tradicionalmente utilizadas na implementação de linguagens de programação. Elas permitem executar programas (representados como grafos), através da aplicação sucessiva de regras de redução. A composição de serviços web permite a criação de novos serviços web a partir de serviços web já existentes. BPEL é a linguagem padrão para criar composições de serviços web como fluxos de trabalho. No entanto, o uso de BPEL para definir composições que usem outras tecnologias, além dos serviços web não é imediato. Na maioria dos casos, quando operações que não fazem parte do domínio dos serviços web precisam ser executadas nas regras de negócio de uma empresa, parte do trabalho é realizado de forma ad-hoc. Permitir que operações oriundas de diferentes tecnologias possam fazer parte de um mesmo fluxo de trabalho auxilia a criação de fluxos de trabalho mais adequados às necessidades das organizações. Esta dissertação define uma variante da linguagem BPEL para a criação de composições com operações de serviços web, tarefas de big data ou operações definidas pelo usuário. O suporte a esta linguagem é dado mediante a definição de uma máquina de redução de grafos extensível, a qual permite a execução de programas definidos na linguagem proposta. Esta máquina é implementada como prova de conceito. A proposta deste trabalho é avaliada mediante a apresentação de resultados experimentais.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    Uma máquina de redução de grafos para serviços web
    (Universidade Federal do Rio Grande do Norte, 2013-01-31) Carvalho, Daniel Aguiar da Silva; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; ; http://lattes.cnpq.br/6578240663773677; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084; Santos, André Luís de Medeiros; ; http://lattes.cnpq.br/0084300900034108
    Serviços web são software acessíveis através da Internet que disponibilizam funcionalidades a serem usadas por aplicações. Hoje, é natural reutilizar serviços de terceiros para compor novos serviços. Este processo de composição pode acontecer em dois estilos, denominados orquestração e coreografia. A coreografia representa uma colaboração entre serviços os quais conhecem a aplicação à qual pertencem e o momento exato para executarem. Já a orquestração possui um processo central, o orquestrador, que coordena todas as operações da aplicação. É neste contexto que este trabalho se encaixa, propondo um modelo abstrato para a execução de orquestrações de serviços. Com esta finalidade, será definida uma máquina de redução de grafos para a implementação de orquestrações de serviços especificadas em uma variante da linguagem de composição PEWS. Ademais, um protótipo desta máquina (em Java) será construído como prova de conceito
  • Carregando...
    Imagem de Miniatura
    Dissertação
    A mechanism to evaluate context-free queries inspired in LR(1) parsers over graph databases
    (2018-02-23) Santos, Fred de Castro; Costa, Umberto Souza da; Musicante, Martin Alejandro; ; ; ; Oliveira, Marcel Vinicius Medeiros; ; Bigonha, Mariza Andrade da Silva; ; Medeiros, Sérgio Queiroz de;
    A World Wide Web é uma coleção de informações sempre crescente. Esta informação é distribuída entre documentos diferentes, disponibilizados através do HTTP. Mesmo que essa informação seja acessível aos usuários na forma de artigos de notícias, transmissões de áudio, imagens e vídeos, os agentes de software geralmente não podem classificá-la. A falta de informações semânticas sobre esses documentos em um formato legível por máquina geralmente faz com que a análise seja imprecisa. Um número significativo de entidades adotaram Linked Data como uma forma de adicionar informações semânticas aos seus dados, e não apenas publicá-lo na Web. O resultado é uma coleção global de dados, chamada Web of Data, que forma um grafo global, composto por declarações no formato RDF [22] de diversas fontes, cobrindo todos os tipos de tópicos. Para encontrar informações específicas nesses grafos, as consultas são realizadas começando em um sujeito e analisando seus predicados nas instruções RDF. Esses predicados são as conexões entre o sujeito e o objeto, e um conjunto de trilhas forma um caminho de informação. O uso de HTTP como mecanismo padrão de acesso a dados e RDF como modelo de dados padrão simplifica o acesso a dados, o que nos motiva a pesquisar alternativas na forma como esses dados são buscados. Uma vez que a maioria das linguagens de consulta de banco de dados de grafo estão na classe de Linguagens Regulares, nós propomos seguir um caminho diferente e tentar usar uma classe de gramática menos restritiva, chamada Gramática Livre de Contexto Determinística, para aumentar a expressividade das consultas no banco de dados em grafo. Mais especificamente, aplicando o método de análise LR(1) para encontrar caminhos em um banco de dados de grafo RDF. O principal objetivo deste trabalho é prover meios para se permitir a utilização de técnicas de reconhecimento de gramáticas livres de contexto LR(1) para fazer consultas por caminhos formados pelas etiquetas das arestas em um banco de dados RDF. Fornecendo, como um resultado, uma ferramenta que se permita atingir melhor expressividade, eficiência e escalabilidade nestas consultas do que o que existe atualmente. Para atingir este objetivo, nós implementamos um algoritmo baseado nas técnicas de reconhecimento LR(1), usando o GSS [30] ao invés de uma pilha, e permitimos ao usuário fazer consultas com uma gramática livre de contexto (LR1). Também analisamos a complexidade do nosso algoritmo e executamos alguns experimentos, comparando nossa solução com as outras propostas na literatura, mostrando que a nossa pode ter melhor desempenho em alguns cenários.
  • Carregando...
    Imagem de Miniatura
    Tese
    Mutação de transformações para teste de programas Spark
    (Universidade Federal do Rio Grande do Norte, 2020-07-31) Souza Neto, João Batista de; Musicante, Martin Alejandro; Moreira, Anamaria Martins; ; ; ; Vargas-solar, Genoveva; ; Aquino Junior, Gibeon Soares de; ; Souza Neto, Placido Antonio de; ; Vergílio, Silvia Regina; ; Costa, Umberto Souza da;
    O crescimento do volume de dados gerado, sua produção contínua e em larga escala e sua heterogeneidade levaram ao desenvolvimento do conceito de Big Data. A coleta, armazenamento e, sobretudo, processamento deste grande volume de dados exigem importantes recursos computacionais e ambientes de execução adaptados. Diferentes sistemas de pro- cessamento paralelo e distribuído são utilizados para o processamento de Big Data. Alguns sistemas adotam um modelo de fluxo de controle, como o sistema Hadoop que aplica o modelo MapReduce, e outros adotam um modelo de fluxo de dados, como o Apache Spark. A confiabilidade de programas de processamento de grandes volumes de dados se torna importante devido à grande quantidade de recursos computacionais necessários para sua execução. Por isso, é importantes testar esses programas antes que eles sejam executados em produção em uma infraestrutura custosa de computação distribuída. O teste de pro- gramas de processamento de Big Data tem ganhado interesse nos últimos anos, mas a área ainda possui poucos trabalhos que abordam o teste funcional desse tipo de programa e em sua maioria abordam apenas o teste de programas MapReduce. Esta tese de doutorado visa reduzir a lacuna existente na área ao propor uma abordagem de teste de mutação para programas que seguem um modelo de fluxo de dados. O teste de mutação é uma técnica de teste que se baseia na simulação de defeitos através de modificações no programa para criar versões defeituosas chamadas mutantes. A geração dos mutantes é realizada por operadores de mutação que são capazes de simular defeitos específicos no programa. Mutantes são utilizados no processo de projeto e avaliação de testes de modo a ter um conjunto de testes capaz de identificar os defeitos simulados pelos mutantes. Para aplicar o processo de teste de mutação em programas de processamento de Big Data, é importante ter conhecimento dos tipos de defeitos que podem ser encontrados nesse contexto para, então, projetar operadores de mutação que possam simulá-los. Com base nisso, realizamos um estudo para caracterizar defeitos e problemas que podem surgir em programas Spark. Esse estudo resultou em duas taxonomias. A primeira taxonomia agrupa e caracteriza problemas não-funcionais que afetam o desempenho de execução de programas Spark. A segunda taxonomia é focada em defeitos funcionais que afetam o comportamento de pro- gramas Spark. Com base na taxonomia de defeitos funcionais, projetamos um conjunto de operadores de mutação para programas que seguem um modelo de fluxo de dados. Esses operadores simulam defeitos no programa através de mudanças no seu fluxo de dados e nas suas operações. Os operadores de mutação foram formalizados com um modelo que propomos para representar programas de processamento de dados baseados em fluxo de dados. Para dar suporte a aplicação dos nossos operadores de mutação, desenvolvemos a ferramenta TRANSMUT-Spark que automatiza as principais etapas do processo de teste de mutação em programas Spark. Realizamos experimentos para avaliar os opera- dores de mutação e ferramenta em termos de custos e efetividade. Os resultados desses experimentos mostraram a viabilidade da aplicação do processo de teste de mutação em programas Spark e sua contribuição no processo de teste com o intuito de desenvolver programas mais confiáveis.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    PEWS-RT, um sistema de tempo de execução para a linguagem PEWS
    (Universidade Federal do Rio Grande do Norte, 2013-07-17) Medeiros, Handerson Bezerra; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; ; http://lattes.cnpq.br/2760383322592163; Santos, André Luís de Medeiros; ; http://lattes.cnpq.br/0084300900034108; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084
    Serviços web são aplicações de baixo acoplamento que utilizam documentos XML como forma de integração de sistemas heterogêneos. Tais documentos são usados em especi ficações como SOAP, WSDL e UDDI que estabelecem, respectivamente, padrões integrados para a representação de mensagens, descrição e publicação de serviços, facilitando assim, a interoperabilidade de sistemas heterogêneos. Muitas vezes um só serviço não atende às necessidades dos usuários, portanto, novos sistemas podem ser concebidos a partir da composição de dois ou mais serviços, motivando o desenvolvimento da SOA - arquitetura orientada a serviços.Paralelo a esse cenário, tem-se a linguagem PEWS (Predicate path-Expres-sions for Web Services), que especifi ca o comportamento de como operações de serviços web são executadas em uma composição de serviços. O desenvolvimento da linguagem PEWS é dividido em duas partes: front-end e back-end. A partir de um programa PEWS, o front-end realiza a análise léxica, sintática e semântica das composições e por m gera código XML. O backend tem como função executar a composição PEWS. Este trabalho visa: (i) Implementar o back-end de PEWS mediante o uso de ferramentas do .Net Framework para executar programas PEWS usando a tecnologia Windows Work ow Foundation (ii) reformular a arquitetura proposta para o sistema de tempo de execução da linguagem.
  • Carregando...
    Imagem de Miniatura
    Dissertação
    A recovery mechanism based on a rewriting process for web service compositions
    (2018-07-26) Toledo, Rafael Ferreira; Costa, Umberto Souza da; ; ; Vargas-Solar, Genoveva; ; Musicante, Martin Alejandro;
    This dissertation presents an approach to improve the robustness of Web service compositions by recovering from failures occurred at di erent moments of their execution. We rst present a taxonomy of failures as an overview of previous research works on the topic of fault recovery of service compositions. The resulting classi cation is used to propose our self-healing method for Web service orchestrations. The proposed method, based on the re nement process of compositions, takes user preferences into account to generate the best possible recovering compositions. To validate our approach, we produced a prototype implementation capable of simulating and analyzing di erent scenarios of faults. For that matter, our work uses algorithms for generating synthetic compositions and Web services. In this setting, both the recovery time and the user preference degradation are investigated under di erent strategies, namely local, partial or total recovery. These strategies represent di erent levels of intervention on the composition.
  • Carregando...
    Imagem de Miniatura
    Artigo
    Specification and Runtime Verification of Java Card Programs
    (Elsevier, 2009) Costa, Umberto Souza da; Moreira, Anamaria Martins; Musicante, Martin A.; Souza Neto, Plácido A.
  • «
  • 1 (current)
  • 2
  • »
Repositório Institucional - UFRN Campus Universitário Lagoa NovaCEP 59078-970 Caixa postal 1524 Natal/RN - BrasilUniversidade Federal do Rio Grande do Norte© Copyright 2025. Todos os direitos reservados.
Contato+55 (84) 3342-2260 - R232Setor de Repositórios Digitaisrepositorio@bczm.ufrn.br
DSpaceIBICT
OasisBR
LAReferencia
Customizado pela CAT - BCZM