PPGSC - Mestrado em Sistemas e Computação
URI Permanente para esta coleçãohttps://repositorio.ufrn.br/handle/123456789/12059
Navegar
Navegando PPGSC - Mestrado em Sistemas e Computação por Título
Agora exibindo 1 - 20 de 371
- Resultados por página
- Opções de Ordenação
Dissertação Uma abordagem através de algoritmos transgenéticos para o problema da configuração do traçado de uma rede de distribuição de gás natural(Universidade Federal do Rio Grande do Norte, 2007-02-08) Schmidt, Cristine Cunha; Gouvêa, Elizabeth Ferreira; Goldbarg, Marco César; ; http://lattes.cnpq.br/1371199678541174; ; http://lattes.cnpq.br/2888641121265608; ; http://lattes.cnpq.br/4789342312134393; Steiner, Maria Teresinha Arns; ; http://lattes.cnpq.br/7514503917256623; Arruda, Lucia Valéria Ramos; ; http://lattes.cnpq.br/8616017152145795Este trabalho apresenta um algoritmo transgenético híbrido para a solução de um Problema de Configuração de uma Rede de Distribuição de Gás Natural. O problema da configuração dessas redes requer a definição de um traçado por onde os dutos devem ser colocados para atender aos clientes. É estudada neste trabalho uma maneira de conectar os clientes em uma rede com arquitetura em forma de árvore. O objetivo é minimizar o custo de construção da rede, mesmo que para isso alguns clientes que não proporcionam lucros deixem de ser atendidos. Esse problema pode ser formulado computacionalmente através do Problema de Steiner com Prêmios. Este é um problema de otimização combinatória da classe dos NPÁrduos. Este trabalho apresenta um algoritmo heurístico para a solução do problema. A abordagem utilizada é chamada de Algoritmos Transgenéticos, que se enquadram na categoria dos algoritmos evolucionários. Para a geração de soluções inicias é utilizado um algoritmo primaldual, e pathrelinking é usado como intensificadorDissertação Uma abordagem baseada em aspectos e composição dinâmica para a construção de aplicações adaptativas cientes ao contexto(Universidade Federal do Rio Grande do Norte, 2008-11-10) Santos, Isanio Lopes Araújo; Delicatto, Flávia Coimbra; ; ; http://lattes.cnpq.br/4178148449694621; Pires, Paulo de Figueiredo; ; http://lattes.cnpq.br/1304174767727101; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; Batista, Thais Vasconcelos; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784543T8; Pirmez, Luci; ; http://lattes.cnpq.br/3763390337091127Aplicações para a computação ubíqua operam em ambientes onde a disponibilidade de recursos muda significativamente durante a sua operação. Tal característica demanda que aplicações sejam adaptativas e cientes do seu contexto de execução. Visando atender esses requisitos, é proposto o PACCA (Projeto de Aplicações Ciente ao Contexto e Adaptativas), um arcabouço para desenvolvimento e execução de aplicações adaptativas cientes de contexto. O paradigma de orientação a aspectos é usado no PACCA para modularizar o comportamento adaptativo e dissociá-lo da lógica da aplicação. Para prover maior flexibilidade o PACCA utiliza o conceito de aspecto abstrato para permitir a extensão e adição de novos interesses adaptativos, além de um modelo de aspectos default que contempla interesses adaptativos comuns a grande parte das aplicações ubíquas. A orientação a aspectos aliada à composição dinâmica de software oferece suporte para adaptação ciente ao contexto, guiada por políticas previamente definidas e tem por objetivo permitir a carga de módulos de software sob demanda possibilitando melhor utilização dos recursos limitados de um dispositivo móvel. Um Processo de Desenvolvimento para a construção de aplicações ubíquas também é proposto e visa demonstrar um conjunto de atividades a serem executadas para a concepção de aplicações ubíquas. Por fim, é realizado um estudo quantitativo com o intuito de avaliar com base em métricas a abordagem baseada em aspectos e composição dinâmica para a construção de aplicações ubíquasDissertação Uma abordagem de apoio à gerência de projetos de software para análise da contribuição de desenvolvedores(2014-10-14) Lima, Jalerson Raposo Ferreira De; Kulesza, Uira; Figueira Filho, Fernando Marques; ; ; http://lattes.cnpq.br/0189095897739979; ; Aranha, Eduardo Henrique Da Silva; ; http://lattes.cnpq.br/9520477461031645; Gerosa, Marco Aurélio; ; http://lattes.cnpq.br/4507073071352893A produtividade é um importante atributo para equipes de desenvolvimento e empresas de software manterem a competitividade no mercado. Contudo, a produtividade de uma equipe depende diretamente da contribuição individual de seus desenvolvedores. Infelizmente não há consenso, na literatura, sobre como medir essa contribuição. Avanços nessa área incluem trabalhos que propõem utilizar métricas baseadas em mineração de repositórios como indicadores de contribuição. No entanto, esses trabalhos ainda carecem de estudos para validar a utilidade e aplicabilidade de tais métricas no contexto de gerência de software. Este trabalho de dissertação apresenta: (i) uma abordagem de apoio à gerencia de projetos para acompanhamento da contribuição de desenvolvedores; e (ii) a condução de um estudo de avaliação da abordagem proposta no contexto de uma instituição de desenvolvimento de software realizada em colaboração com gerentes de projetos reais. Os resultados do estudo apontam que as métricas que compõem a abordagem são bastante utéis para análise da contribuição individual de desenvolvedores, mas não devem ser usadas de forma exclusiva, devendo ser também consideradas atributos subjetivos relacionados a outras atividades não relacionadas a programação.Dissertação Abordagem de construção de arquitetura homogênea para comitês via meta-aprendizagem(Universidade Federal do Rio Grande do Norte, 2012-05-21) Parente, Regina Rosa; Canuto, Anne Magaly de Paula; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4790093J8; ; http://lattes.cnpq.br/9741127748330695; Campos, André Mauricio Cunha; ; http://lattes.cnpq.br/7154508093406987; Prudêncio, Ricardo Bastos Cavalcante; ; http://lattes.cnpq.br/2984888073123287No universo cotidiano estamos constantemente realizando ações. Duas dessas ações são frequentes e de grande importância: classificar (distribuir por classes) e tomar decisão. Quando nos deparamos com problemas com um grau de complexidade relativamente alto, tendemos a buscar outras opiniões, geralmente de pessoas que tenham certo conhecimento ou até mesmo, na medida do possível, sejam especialistas no domínio do problema em questão, de forma que nos ajudem no processo de tomada de decisão. Tanto no processo de classificação quanto em um processo de tomada de decisão, somos orientados pela consideração das características envolvidas no problema específico. A caracterização de um conjunto de objetos faz parte do processo de tomada de decisão em geral. Em Aprendizado de Máquina essa classificação acontece através de um algoritmo de aprendizado e a caracterização é aplicada às bases de dados. Os algoritmos de classificação podem ser empregados individualmente ou em forma de comitês de máquinas. A escolha dos melhores métodos a serem utilizados na construção de um comitê é uma tarefa bastante árdua. Neste trabalho, serão investigadas técnicas de meta-aprendizagem na seleção dos melhores parâmetros de configuração de comitês homogêneos para aplicações em problemas diversos de classificação. Tais parâmetros são: o classificador base, a arquitetura e o tamanho desta arquitetura. Foram investigados nove tipos de indutores candidatos a classificador base, dois métodos de geração de arquitetura e três grupos de tamanho médio para arquitetura, pequeno, médio e grande. Ante um desempenho fraco no processo de meta-aprendizagem foram aplicadas técnicas de redução de dimensionalidade às metabases e seis novos critérios de tamanho médio da arquitetura foram estabelecidos. Cinco métodos classificadores são investigados como meta-aprendizes no processo de escolha dos melhores parâmetros de um comitê homogêneo.Dissertação Uma abordagem de definição de políticas para offloading de dados no contexto de computação em névoa(Universidade Federal do Rio Grande do Norte, 2021-05-24) Melo, Sávio Rennan Menêzes; Aquino Júnior, Gibeon Soares de; http://lattes.cnpq.br/1254338144161360; http://lattes.cnpq.br/8548403866737249; Trinta, Fernando Antonio Mota; http://lattes.cnpq.br/8908026219336623; Batista, Thais Vasconcelos; http://lattes.cnpq.br/5521922960404236Atualmente, os mais variados objetos estão conectados à internet e, ao mesmo tempo, gerando quantidades massivas de dados. Ligado a esse fato, as aplicações de internet das coisas estão cada vez mais complexas e com mais responsabilidades. Armazenar, processar, gerenciar e analisar essa quantidade de dados são processos desafiadores. A execução desses processos comumente é realizada em serviços externos através da computação em nuvem, porém, um paradigma chamado de computação em névoa habilita tal execução diretamente na borda da rede, servindo como um respaldo para o funcionamento ágil e eficiente da internet das coisas. Entretanto, quando a computação em névoa não possui recursos suficientes para realizar essas ações, os dados são transferidos para entidades com maiores capacidades computacionais, que é uma prática conhecida como offloading. A esse respeito, esta pesquisa explora o uso de políticas que norteiam o processo de offloading de dados no contexto de computação em névoa. Mais especificamente, o objetivo deste trabalho é definir e organizar estratégias para orientar o desenvolvimento de políticas para offloading de dados em computação em névoa. Assim, os resultados concretos do trabalho foram: o levantamento de políticas para offloading de dados propostas pela literatura; o desenvolvimento de uma taxonomia que organiza os principais critérios utilizados no processo de offloading de dados; o desenvolvimento de uma estrutura de orientação que recomenda práticas para elaboração de políticas para offloading de dados e a demonstração da instanciação da abordagem através de uma prova de conceito. Finalmente, a prova de conceito encontrou evidências de que a abordagem proporciona informações mais estruturadas para a fase do projeto de políticas para offloading de dados e, consequentemente, contribui para sua instância em cenários do mundo real.Dissertação Abordagem dirigida a modelos para redes de sensores sem fio(Universidade Federal do Rio Grande do Norte, 2011-02-21) Rodrigues, Taniro Chacon; Delicatto, Flávia Coimbra; ; ; http://lattes.cnpq.br/6438516851578298; Pires, Paulo de Figueiredo; ; http://lattes.cnpq.br/1304174767727101; Batista, Thais Vasconcelos; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784543T8; Pirmez, Luci; ; http://lattes.cnpq.br/3763390337091127A pesquisa sobre Redes de Sensores Sem Fio (RSSF) evoluiu bastante ao longo dos últimos anos com aplicações potenciais em diversos domínios. No entanto, o desenvolvimento de aplicações de RSSF é uma tarefa complexa, dentre outros fatores, pela necessidade da programação no (baixo) nível de abstração provido pelo sistema operacional dos sensores e de conhecimentos específicos, tanto dos diferentes domínios de aplicações quanto das diferentes plataformas de sensores existentes. Neste trabalho, é proposta uma abordagem MDA para o desenvolvimento de aplicações de RSSF, que visa facilitar a tarefa dos desenvolvedores. Esta abordagem permite a contribuição direta dos especialistas em domínio no desenvolvimento de aplicações de RSSF sem precisar de conhecimento específico de programação em plataformas de RSSF e, ao mesmo tempo permite que especialistas em rede programem sensores aderentes aos requisitos da aplicação sem a necessidade de conhecimento específico do domínio da aplicação. A abordagem proposta também promove a reutilização de artefatos de software desenvolvidos, permitindo um modelo de aplicação ser reutilizado em diferentes plataformas de sensores e que o modelo possa ser reutilizado em diferentes aplicaçõesDissertação Uma abordagem dirigida por modelos para desenvolvimento de middlewares auto-adaptativos para transmissão de fluxo de dados baseado em restrições de QoS(Universidade Federal do Rio Grande do Norte, 2010-03-15) Silva, Andre Gustavo Pereira da; Lopes, Adilson Barboza; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4794786D9; ; http://lattes.cnpq.br/9509872759524095; Silveira, Glêdson Elias da; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4782320H5; Kulesza, Uira; ; http://lattes.cnpq.br/0189095897739979A utilização da tecnologia de middleware em diversos tipos de sistemas, com a finalidade de abstrair detalhes de baixo nível relacionados com a distribuição da lógica da aplicação, é cada vez mais frequente. Dentre diversos sistemas que podem ser beneficiados com a utilização desses componentes, podemos destacar os sistemas distribuídos, onde é necessário viabilizar a comunicação entre componentes de software localizados em diferentes máquinas físicas. Uma importante questão relacionada à comunicação entre componentes distribuídos é o fornecimento de mecanismos para gerenciamento da qualidade de serviço. Este trabalho apresenta um metamodelo para modelagem de middlewares baseados em componentes que provêem à aplicação a abstração da comunicação entre componentes envolvidos em um fluxo de dados, independente da sua localização. Outra característica do metamodelo é a possibilidade de auto-adaptação relacionada ao mecanismo de comunicação utilizado, seja através da atualização dos valores dos seus parâmetros de configuração, ou através da sua substituição por outro mecanismo, caso as restrições de qualidade de serviço especificadas não estejam sendo garantidas. Nesse propósito, é previsto o monitoramento do estado da comunicação (aplicações de técnicas do tipo feedback control loop), analisando-se métricas de desempenho relacionadas. O paradigma de Desenvolvimento Dirigido por Modelos foi utilizado para gerar a implementação de um middleware que servirá como prova de conceito do metamodelo, e as políticas de configuração e reconfiguração relacionadas com o processo de adaptação dinâmica; neste sentido, foi definido o metamodelo associado ao processo de configuração de uma comunicação. A aplicação da técnica de MDD corresponde ainda à definição das seguintes transformações: do modelo arquitetural do middleware para código em linguagem Java, e do modelo de configuração para código XMLDissertação Uma abordagem dirigida por modelos para gerência de variabilidade e execução de processos de software(Universidade Federal do Rio Grande do Norte, 2011-02-23) Santos, Wanderson Câmara dos; Kulesza, Uira; ; http://lattes.cnpq.br/0189095897739979; ; http://lattes.cnpq.br/8850724428291736; Aquino Júnior, Gibeon Soares de; ; Leite, Jair Cavalcanti; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4782411P6; Murta, Leonardo Gresta Paulino; ; http://lattes.cnpq.br/1565296529736448Este trabalho apresenta uma abordagem dirigida por modelos para gerência de variabilidades em processos de software, assim como sua implantação em sistemas de workflow. A abordagem é fundamentada nos princípios e técnicas de linhas de produto de software e engenharia dirigida por modelos. Engenharia dirigida por modelos fornece suporte para a especificação de processos de software e sua transformação em especificações de fluxo de trabalho. Técnicas de linhas de produto de software permitem a gerência automática de variabilidades de elementos do processo e fragmentos. Além disso, em nossa abordagem, tecnologias de workflows permitem a execução do processo em motores de workflow. Para avaliar a viabilidade abordagem, a implementamos utilizando tecnologias existentes de engenharia dirigida por modelos. Os processos de software são especificados usando Eclipse Processo Framework (EPF). O gerenciamento automático das variabilidades de processos de software foi implementado como uma extensão de uma ferramenta de derivação produtos já existente. Finalmente, as linguagens de transformação ATL e Acceleo são adotadas para transformar o processo EPF para a linguagem de especificações de fluxo de trabalho jPDL, a fim de permitir a implantação e execução de processos de software no motor de workflow JBoss BPM. A abordagem é avaliada através da modelagem e modularização da disciplina de gerenciamento de projetos do processo aberto Unificado (OpenUP)Dissertação Uma abordagem na camada de middleware para troca dinâmica de componentes em sistemas multimídia distribuídos baseados no framework Cosmos(Universidade Federal do Rio Grande do Norte, 2009-03-20) Vieira Junior, Ivanilson França; Lopes, Adilson Barboza; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4794786D9; ; http://lattes.cnpq.br/6216548122920338; Batista, Thais Vasconcelos; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784543T8; Kulesza, Uira; ; http://lattes.cnpq.br/0189095897739979Para tratar a complexidade associada ao gerenciamento dos sistemas multimídia distribuídos, uma solução deve incorporar conceitos de middleware de forma a abstrair especificidades de hardware e sistemas operacionais. Aplicações nesses sistemas podem ser executadas em diferentes tipos de plataformas, e os componentes destes sistemas precisam interagir uns com os outros. Devido à variabilidade dos estados das plataforma de execução, uma abordagem flexível deve permitir a troca dinâmica de componentes visando garantir o nível de QoS da aplicação em execução. Neste contexto, o presente trabalho apresenta uma abordagem na camada de middleware para a realização de troca dinâmica de componentes no contexto do framework Cosmos, iniciando com a escolha do componente alvo para a troca, passando pela tomada de decisão de qual, entre os componentes candidatos, será escolhido e concluindo com o processo definido para a troca. A abordagem foi definida com base nos requisitos de QoS considerados no framework Cosmos de maneira a suportar a reconfiguração dinâmica de componentesDissertação Abordagem orientada a aspectos para o monitoramento de plataformas para cidades inteligentes(Universidade Federal do Rio Grande do Norte, 2022-10-26) Silva, João Victor Lopes da; Batista, Thais Vasconcelos; Cavalcante, Everton Ranielly de Sousa; https://orcid.org/0000-0002-2475-5075; http://lattes.cnpq.br/5065548216266121; https://orcid.org/0000-0003-3558-1450; http://lattes.cnpq.br/5521922960404236; http://lattes.cnpq.br/2468543901162285; Lopes, Frederico Araújo da Silva; Andrade, Rossana Maria de CastroPlataformas para cidades inteligentes são responsáveis por fornecer diversos serviços para facilitar o desenvolvimento de aplicações para cidades inteligentes. Tipicamente, tais plataformas gerenciam uma diversidade de aplicações, tratam com grande volume de dados e atendem a um expressivo número de usuários que geram um alto volume de requisições. A grande quantidade de requisições muitas vezes ocasiona sobrecarga na plataforma, degradando a qualidade do serviço provida para os usuários e aplicações. Além disso, é comum que plataformas para cidades inteligentes processem solicitações relacionadas a operações que lidam com os grandes volumes de dados dos mais variados tipos, como os dados geográficos de uma cidade. Além do mais, é comum que haja sobrecarga sobre as operações direcionadas ao banco de dados que utilizam os recursos da infraestrutura. Nesse contexto, é necessário monitorar a infraestrutura computacional subjacente na qual plataformas para cidades inteligentes e aplicações estão implantadas, bem como monitorar as operações da plataforma que acessam os dados armazenados nos bancos de dados usados pelas plataformas. Deste modo, é possível verificar se há alguma limitação durante o processamento de grandes quantidades de dados em um tempo aceitável. Visando tratar esse problema, o objetivo deste trabalho é propor e implementar uma estratégia não invasiva para possibilitar o monitoramento das operações em plataformas para cidades inteligentes, incluindo o monitoramento da infraestrutura subjacente. A estratégia proposta apoia-se no paradigma de programação orientada a aspectos para que seja possível monitorar as operações da plataforma sem a necessidade de intervir sobre a implementação da plataforma ou gerar acoplamento com relação ao monitoramento. Este trabalho também apresenta a implementação da estratégia de monitoramento e sua instanciação no contexto da plataforma Smart Geo Layers (SGeoL), bem como uma avaliação da estratégia de monitoramento proposta. A estratégia de monitoramento é avaliada através de testes de desempenho utilizando o Apache JMeter, o que possibilitou testar as consultas da API de monitoramento.Dissertação Uma abordagem para a verificação do comportamento excepcional a partir de regras de designe e testes(Universidade Federal do Rio Grande do Norte, 2013-02-01) Sales Junior, Ricardo José; Coelho, Roberta de Souza; ; http://lattes.cnpq.br/9854634275938452; ; http://lattes.cnpq.br/3777469968630302; Lima Filho, Fernando José Castor de; ; http://lattes.cnpq.br/7310046838140771; Cacho, Nelio Alessandro Azevedo; ; http://lattes.cnpq.br/4635320220484649Verificar a conformidade entre a implementação de um sistema e suas regras de design é uma atividade importante para tentar garantir que não ocorra a degradação entre os padrões arquiteturais definidos para o sistema e o que realmente está implementado no código-fonte. Especialmente no caso de sistemas dos quais se exige um alto nível de confiabilidade é importante definir regras de design (design rules) específicas para o comportamento excepcional. Tais regras descrevem como as exceções devem fluir através do sistema, definindo quais são os elementos responsáveis por capturar as exceções lançadas por outros elementos do sistema. Entretanto, as abordagens atuais para verificar automaticamente regras de design não proveem mecanismos adequados para definir e verificar regras de design específicas para a política de tratamento de exceções das aplicações. Este trabalho propõe uma abordagem prática para preservar o comportamento excepcional de uma aplicação ou família de aplicações, baseada na definição e verificação automática em tempo de execução de regras de design de tratamento de exceção para sistemas desenvolvidos em Java ou AspectJ. Para apoiar esta abordagem foi desenvolvida, no contexto deste trabalho, uma ferramenta chamada VITTAE (Verification and Information Tool to Analyze Exceptions) que estende o framework JUnit e permite automatizar atividades do teste de regras de design excepcionais. Foi realizado um estudo de caso preliminar com o objetivo de avaliar a eficácia da abordagem proposta sobre uma linha de produto de software. Além deste, foi realizado um experimento cujo objetivo foi realizar uma análise comparativa entre a abordagem proposta e uma abordagem baseada na ferramenta JUnitE, que também propõe testar o código de tratamento de exceções utilizando testes JUnit. Os resultados mostraram que as regras de design excepcionais evoluem ao longo de diferentes versões de um sistema e que a VITTAE pode auxiliar na detecção de defeitos no código de tratamento de exceçãoDissertação Uma abordagem para análise de cobertura de código em cenários de evolução(2016-03-03) Gomes, Fladson Thiago Oliveira; Kulesza, Uira; ; ; Aranha, Eduardo Henrique da Silva; ; Silva, Carlos Eduardo da; ; Cirilo, Elder;Atualmente, a etapa de testes no processo de desenvolvimento de software tornou-se imprescindível para garantir a confiabilidade e qualidade do código em produção. As constantes evoluções na arquitetura e código de um sistema, criam sérios desafios para os desenvolvedores e testadores, uma vez que modificações podem não se comportar como o esperado. Neste contexto surge a necessidade de ferramentas e mecanismos que diminuam o impacto negativo gerado pelas constantes evoluções do sistema. Dentre as ferramentas que analisam esse impacto, poucas apresentam os fluxos de execução entre métodos que foram afetados e nenhuma apresenta como resultado se esses fluxos afetados pela evolução estão ou não cobertos pelos testes. Assim, este trabalho apresenta uma abordagem que tem como objetivo principal: (i) analisar a cobertura de código levando em consideração os fluxos de chamadas existentes no sistema que foram afetados por evoluções de código, assim como os fluxos de execução oriundos da execução dos testes; (ii) indicar quais fluxos de chamadas do sistema que possuem métodos modificados e não estão sendo cobertos pelos testes atualmente e que, portanto, poderiam ser considerados para melhorar a qualidade dos testes; e (iii) indicar se houve degradação na qualidade da suíte de testes. Um estudo empírico foi realizado em 6 sistemas e os resultados mostram que a abordagem conseguiu identificar entre 19% e 92% de fluxos de execução afetados por mudanças que não estão cobertos e ainda que 3 dos 6 sistemas tiveram uma degradação na qualidade dos testes.Dissertação Uma abordagem para avaliação e tratamento de exceções propagadas no uso de serviços Web em .Net(Universidade Federal do Rio Grande do Norte, 2015-02-27) Lima, José Alex Medeiros de; Cacho, Nélio Alessandro Azevedo; ; http://lattes.cnpq.br/4635320220484649; ; http://lattes.cnpq.br/0817993256811020; Ferrari, Fabiano Cutigi; ; http://lattes.cnpq.br/3154345471250570; Coelho, Roberta de Souza; ; http://lattes.cnpq.br/9854634275938452Alta confiabilidade, disponibilidade e tolerância à falha ainda são problemas em aberto em arquiteturas orientadas a serviços (SOA). A possibilidade de geração de aplicações de software, integrando serviços de domínios heterogêneos, de uma forma mais confiável, faz valer a pena enfrentar os desafios inerentes a esse paradigma. Para garantir a qualidade na composição desses serviços, algumas pesquisas se esforçam para propor a adoção de técnicas de verificação para identificar e corrigir os erros. Nesse contexto, manipulação de exceção é um poderoso mecanismo para incrementar a qualidade em SOA. Diversos trabalhos de pesquisa são concentrados em mecanismos para propagação de exceção em serviços web, implementados em muitas linguagens e frameworks. No entanto, para a extensão do nosso conhecimento, não são encontrados trabalhos que avaliam esses mecanismos em SOA no que diz respeito ao framework .NET. A principal contribuição desse trabalho é avaliar e propor mecanismos de propagação de exceção em SOA para aplicações desenvolvidas com o framework .NET. Nessa direção, esse trabalho: (i) estende um estudo anterior, mostrando a necessidade de se propor uma solução para a propagação de exceção em SOA para aplicações desenvolvidas em .NET, e (ii) apresenta uma solução, tomando como base um modelo obtido a partir dos resultados encontrados em (iii) e implementa e avalia a solução proposta em duas aplicações reais.Dissertação Uma abordagem para o controle de elasticidade dinâmico voltada a sistemas cloud-network definidos por slices(2019-07-31) Lima, Alisson Patrick Medeiros de; Venâncio Neto, Augusto José; ; ; Silva, Liliane Ribeiro da; ; Cacho, Nelio Alessandro Azevedo; ; Pasquini, Rafael; ; Sampaio, Silvio Costa;Nesta última década, operadoras de telecomunicações têm adotado a tecnologia network slicing em seus sistemas, aplicando uma camada de virtualização sobre a infraestrutura física, permitindo fatiá-la em diferentes porções a serem disponibilizadas como serviço aos seus clientes. A softwarização e a cloudificação são tecnologias chave na arquitetura dos sistemas 5G, e habilitadores fundamentais para o aprovisionamento de network slices de forma eficiente. No entanto, a integração dessas tecnologias de forma coordenada sobre uma mesma infraestrutura virtualizada ainda se apresenta como uma tarefa desafiadora. Neste cenário, abordagens recentes visam estender o conceito de network slicing para a nuvem, na perspectiva de permitir que o slicing em infraestruturas de nuvens e redes seja orquestrado de forma coordenada, caracterizando assim os sistemas cloud-network definidos por slices. Neste novo cenário, uma abordagem eficiente para o controle da elasticidade de recursos é um fator fundamental para assegurar a utilização racional e eficiente dos recursos de redes e nuvem, garantindo assim a qualidade dos serviços oferecidos por esses sistemas, além de possibilitar uma sensível redução de gastos capitais (CAPEX) e operacionais (OPEX) desses sistemas. Enquanto o estado da arte no tema apresenta uma maioria de trabalhos que propõem uma abordagem estocástica para o controle e alocação de recursos (ex, largura de banda, CPU, memória, armazenamento em massa, e outros), neste trabalho, introduzimos um mecanismo de controle de elasticidade em sistemas cloudnetwork definidos por slices que apresenta maior eficiência na alocação de recursos em momentos críticos do sistema, principal desvantagem dos modelos estocásticos. Assim, a abordagem SLOTS (elaSticity in cLOud-neTwork Slices) proposta tem como principais características visão fim a fim em ambientes multi-domínios e conhecimento de situações críticas dirigidas por esgotamento de recursos. Um protótipo do SLOTS foi implementado e seus resultados preliminares sugerem que sua abordagem se apresenta como uma solução viável para fornecer a elasticidade de recursos em ambientes definidos por cloud-network slices em condições críticas de recursos e alta demanda.Dissertação Uma abordagem para o desenvolvimento de jogos digitais educativos no ensino básico(2017-07-28) Mesquita, Hugo Henrique de Oliveira; Aranha, Eduardo Henrique da Silva; http://lattes.cnpq.br/9520477461031645; http://lattes.cnpq.br/6393466179728272; Signoretti, Alberto; http://lattes.cnpq.br/3763622223707127; Silva, Thiago Reis da; http://lattes.cnpq.br/9776112478293682; Kulesza, Uira; http://lattes.cnpq.br/0189095897739979Os jogos educativos digitais são apontados como uma boa ferramenta quando utilizados em sala de aula, pois insere os alunos em um ambiente lúdico de aprendizagem, de maneira que, proporciona o desenvolvimento de diversas habilidades. No entanto, nem sempre é possível para o professor conseguir jogos que se adequam ao perfil educacional que deseja, tornando muitas vezes inviável a sua utilização no contexto escolar. Com base neste contexto, este trabalho apresenta o design e implementação de uma plataforma que visa proporcionar aos professores e alunos a possibilidade de criar jogos de uma maneira simples e intuitiva, e que permita aos professores adequar o conteúdo dos jogos aos seus objetivos pedagógicos. Os resultados desta pesquisa contribuem para as inovações futuras, nos campos teórico e prático, na definição de uma abordagem baseada em componentes e desenvolvimento de uma plataforma ambos promovendo o desenvolvimento de jogos digitais educativos com diferentes objetivos pedagógicos. Diante dos resultados apresentados, considera-se que a plataforma proposta em conjunto com a sua abordagem motivadora, apresentou resultados potencialmente eficazes.Dissertação Uma abordagem para promover o alinhamento entre a estratégia de negócio e a tecnologia de informação(Universidade Federal do Rio Grande do Norte, 2009-08-10) Oliveira, Karlos Thadeu Matias Vital de; Pires, Paulo de Figueiredo; ; http://lattes.cnpq.br/1304174767727101; ; http://lattes.cnpq.br/8911678467476664; Delicatto, Flávia Coimbra; ; Leite, Jair Cavalcanti; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4782411P6; Murta, Leonardo Gresta Paulino; ; http://lattes.cnpq.br/1565296529736448Atualmente, com o crescente aumento da complexidade do negócio, as organizações clamam por sistemas de informação que ajudem a responder rapidamente as novas exigências dos processos de produção de produtos e serviços. Um sistema de informação deixa de ser apenas uma ferramenta de suporte e passa a ser uma parte integrante do negócio. Todavia, apesar das importantes evoluções tecnológicas alcançadas nos últimos anos, verifica-se que os sistemas de informação que suportam o negócio, ainda não respondem eficazmente às constantes alterações a que a organização está sujeita. Um dos principais problemas com os sistemas de Informação atuais é falta de alinhamento entre a estratégia de negócio e a tecnologia de informação. O conceito de alinhamento estratégico pode ser definido como sendo a sintonia existente entre as estratégias e objetivos do negócio com as estratégias, objetivos e funções da tecnologia da informação, de modo que haja contribuição para o aumento da competitividade da organização ao longo do tempo. Alinhamento estratégico, aliado ao planejamento estratégico, é um importante instrumento de gestão. Nesse sentido, abordagens para a operacionalização desse alinhamento estão surgindo, entretanto, ainda em estado inicial devido ao fato de ser um conceito relativamente novo na literatura. Outro ponto que deve ser levado em consideração durante o alinhamento estratégico é a questão da rastreabilidade entre os elementos de negócio e TI. A rastreabilidade é necessária, por exemplo, quando se deseja saber exatamente qual meta definida na estratégia de negócio não foi ou deixou de ser aceita devido a uma modificação realizada na estratégia de TI. Poucas propostas apresentam formas concretas apoiadas por sistemas de software para obter o alinhamento estratégico levando em consideração essa rastreabilidade. Nesse contexto o objetivo desse trabalho é propor a criação de um processo de alinhamento estratégico apoiado por um sistema de software a qual seja capaz de permitir a rastreabilidade entre os objetivos organizacionais e as atividades dos processos de negócio, tomando como base para isso, padrões de formalização definidos sob uma abordagem orientada a modelosDissertação Uma abordagem por nuvem de partículas para problemas de otimização combinatória(Universidade Federal do Rio Grande do Norte, 2006-05-19) Souza, Givanaldo Rocha de; Gouvêa, Elizabeth Ferreira; Goldbarg, Marco César; ; http://lattes.cnpq.br/1371199678541174; ; http://lattes.cnpq.br/2888641121265608; ; http://lattes.cnpq.br/7293405724205132Os problemas de otimização combinatória têm como objetivo maximizar ou minimizar uma função definida sobre um certo domínio finito. Já as metaheurísticas são procedimentos destinados a encontrar uma boa solução, eventualmente a ótima, consistindo na aplicação de uma heurística subordinada, a qual tem que ser modelada para cada problema específico. Este trabalho apresenta algoritmos baseados na técnica de otimização por nuvem de partículas (metaheurística) para dois problemas de otimização combinatória: o Problema do Caixeiro Viajante e o Problema da Árvore Geradora Mínima Restrita em Grau Multicritério. O primeiro é um problema em que apenas um objetivo é otimizado, enquanto o segundo é um problema que deve lidar com múltiplos objetivos. Os algoritmos propostos são comparados a outras abordagens para o mesmo problema em questão, em termos de qualidade de solução, a fim de verificar a eficiência desses algoritmosDissertação Uma abordagem sistemática para implementação, gerenciamento e customização de testes de linhas de produto de software(Universidade Federal do Rio Grande do Norte, 2011-03-01) Câmara, Heitor Mariano de Aquino; Kulesza, Uira; Coelho, Roberta de Souza; ; http://lattes.cnpq.br/9854634275938452; ; http://lattes.cnpq.br/0189095897739979; ; http://lattes.cnpq.br/9916345689375151; Aranha, Eduardo Henrique da Silva; ; Soares, Sergio Castelo Branco; ; http://lattes.cnpq.br/6456667887502521Com o uso da abordagem de linhas de produto de software (LPSs), vários benefícios são alcançados quando comparados aos processos de desenvolvimento convencionais que se baseiam na criação de um único sistema por vez. O processo de desenvolvimento de uma LPS se diferencia da construção tradicional de software, uma vez que apresenta duas etapas essenciais: a engenharia de domínio - quando elementos comuns e variáveis da LPS são definidos e implementados; e a engenharia de aplicação quando uma ou mais aplicações (produtos específicos) são derivadas a partir do reuso dos artefatos criados na engenharia de domínio. Durante a elaboração da LPS, assim como no desenvolvimento convencional de sistemas, a atividade de teste é fundamental e tem como objetivo a detecção de defeitos nos artefatos produzidos. Contudo, as características de uma LPS trazem novos desafios a essa atividade e que precisam ser considerados. Diversas abordagens foram propostas para o processo de teste de linhas de produto, mas elas se mostram limitadas ou fornecem diretrizes muito gerais. Outro fator preocupante é a escassez de ferramentas que auxiliem na implementação, aplicação e acompanhamento dos testes, bem como na gerência e customização de tais artefatos. Com base nesse contexto relacionado ao processo de teste de LPSs, esta dissertação tem como objetivo propor uma abordagem sistemática para o teste de linhas de produto de software. A abordagem oferece: (i) estratégias de testes automatizados para LPSs tanto na engenharia de domínio quanto de aplicação; (ii) diretrizes para a implementação e reuso de casos de teste automatizados nos níveis de unidade, integração e sistema tanto para a engenharia de domínio quanto de aplicação; e (iii) suporte ferramental para gerência e customização automática de casos de teste usando técnicas de derivação automática de software. A abordagem é avaliada através da sua aplicação em uma linha de produto para sistemas web. Os resultados deste trabalho mostram que a abordagem proposta pode ajudar os desenvolvedores a lidar com os desafios impostos pelas características das LPSs durante o processo de testesDissertação Abordagens baseadas em teoria da informação para seleção automatizada de atributos(2018-09-21) Jesus, Jhoseph Kelvin Lopes de; Canuto, Anne Magaly de Paula; Araújo, Daniel Sabino Amorim de; ; ; ; Bedregal, Benjamin Rene Callejas; ; Carvalho, André Carlos Ponce de Leon Ferreira de;Com o rápido crescimento de dados complexos em aplicações do mundo real, a seleção de atributos se torna uma etapa de pré-processamento obrigatória em qualquer aplicação para reduzir a complexidade dos dados e o tempo computacional. Com base nisso, vários trabalhos têm desenvolvido métodos eficientes para realizar essa tarefa. A maioria das abordagens de seleção de atributos selecionam os melhores atributos baseado em alguns critérios específicos. Embora algum avanço tenha sido feito, uma má escolha de uma única abordagem ou critério para avaliar a importância dos atributos, e a escolha arbitrária dos números de atributos feita pelo usuário podem levar a uma queda de desempenho das técnicas. A fim de superar algumas dessas questões, este trabalho apresenta o desenvolvimento de duas vertentes de abordagens de seleção de atributos automatizadas. A primeira está relacionada a métodos de fusão de múltiplos algoritmos de seleção de atributos, que utilizam estratégias baseadas em ranking e comitês de classificadores para combinar algoritmos de seleção de atributos em termos de dados (Fusão de Dados) e de decisão (Fusão de Decisão), permitindo aos pesquisadores considerar diferentes perspectivas na etapa de seleção de atributos. A segunda vertente aborda o contexto de seleção dinâmica de atributos através da proposição do método PF-DFS, uma extensão do algoritmo de seleção dinâmica (DFS), usando como analogia a otimização multiobjetivo pela fronteira de pareto, que nos permite considerar perspectivas distintas da relevância dos atributos e definir automaticamente o número de atributos para selecionar. As abordagens propostas foram testadas usando diversas bases de dados reais e artificiais e os resultados mostraram que, quando comparado com métodos de seleção individuais, o desempenho de um dos métodos propostos é notavelmente superior. De fato, os resultados são promissores, uma vez que as abordagens propostas também alcançaram desempenho superiores quando comparados a métodos consagrados da redução de dimensionalidade, e ao usar os conjuntos de dados originais, mostrando que a redução de atributos ruidosos e/ou redundantes pode ter um efeito positivo no desempenho de tarefas de classificação.Dissertação AccNoSys: uma arquitetura adaptativa aceleradora com Interconexão baseada em rede em chip(2016-01-22) Cruz, Marcos Oliveira da; Pereira, Mônica Magalhães; ; ; Kreutz, Marcio Eduardo; ; Silva, Ivan Saraiva; ; Araújo, Silvio Roberto Fernandes de;A evolução dos processadores tem sido marcada pela crescente demanda por desempenho para atender as aplicações cada vez maiores e mais complexas. Juntamente com essa necessidade de desempenho, a heterogeneidade das aplicações exige também uma grande flexibilidade dos processadores. Os processadores convencionais são capazes de fornecer desempenho ou flexibilidade, mas sempre privilegiando um desses aspectos em detrimento do outro. Arquiteturas adaptativas aceleradoras de granularidade grossa têm sido propostas como uma solução capaz de oferecer, ao mesmo tempo, flexibilidade e desempenho. No entanto, um dos principais desafios desse tipo de arquitetura é o mapeamento de aplicações que é um problema NP-Completo. Dentre os fatores que contribuem para essa complexidade está o modelo de interconexão utilizado, que normalmente, se baseia em crossbar ou algum modelo próximo ao crossbar. Técnicas de exploração de paralelismo, como software pipelining, também são usadas para atingir melhor desempenho. Essas técnicas aumentam ainda mais a complexidade dos algoritmos de mapeamento. Este trabalho apresenta uma arquitetura adaptativa que utiliza um mecanismo de comunicação baseado em envio de pacotes para interconectar unidades funcionais. A arquitetura combinada com o modelo de interconexão é capaz de explorar paralelismo em dois níveis, a saber, ILP (incluindo técnicas de software pipeline) e TLP. O mapeamento das aplicações deve ser efetuado em tempo de compilação utilizando um algoritmo desenvolvido para a arquitetura de complexidade O(1). A arquitetura foi implementada em SystemC e a execução de diversas aplicações foi simulada, explorando tanto ILP quanto TLP. As simulações obtiveram, em média, 41% de ganho de desempenho em comparação com um processador RISC de 8 estágios de pipeline. Os resultados obtidos nas simulações confirmam que é possível explorar o paralelismo inerente das aplicações. Além disso a partir da escolha do modelo de mapeamento (como exploração de threads, ou de paralelismo no nível de instruções, laços, etc) é possível obter diferentes resultados através da adaptação da arquitetura a aplicação.