Programa de Pós-Graduação em Sistemas e Computação
URI Permanente desta comunidadehttps://repositorio.ufrn.br/handle/123456789/11978
Navegar
Navegando Programa de Pós-Graduação em Sistemas e Computação por Título
Agora exibindo 1 - 20 de 504
- Resultados por página
- Opções de Ordenação
Tese Uma abordagem anotativa para gerência de variabilidade em linhas de processos de software: concepção, implementação e avaliação(Universidade Federal do Rio Grande do Norte, 2013-08-19) Aleixo, Fellipe Araújo; Kulesza, Uira; ; http://lattes.cnpq.br/0189095897739979; ; http://lattes.cnpq.br/9598457318220683; Aranha, Eduardo Henrique da Silva; ; Figueira Filho, Fernando Marques; ; http://lattes.cnpq.br/6874649375434646; Werner, Claudia Maria Lima; ; http://lattes.cnpq.br/9719247117370600; Oliveira Junior, Edson Alves de; ; http://lattes.cnpq.br/8717980588591239A indústria de software encontra-se, nos dias de hoje, em um cenário altamente dinâmico, o qual reflete o mundo dos negócios e a sociedade como um todo. A demanda por sistemas de software é, dessa forma, cada vez mais crescente e visa atender a diferentes domínios. Nesse cenário, onde sistemas de software complexos precisam ser desenvolvidos com um excelente nível de qualidade e consumindo menor quantidade de recursos; aumenta a importância da definição de processos de software. Porém, tais processos necessitam ser devidamente adaptados aos contextos específicos de cada projeto, de forma a garantir a qualidade dos produtos de software desenvolvidos bem como o uso eficaz dos recursos disponíveis. Para que essa adaptação dos processos de software ocorra de forma eficaz, é necessário promover a reutilização de especificações de processos já existentes, bem como experiências e práticas de sucesso passadas. Este trabalho explora a adoção de técnicas de engenharia de linha de produtos de software de forma a promover a gerência de variabilidades de famílias de processos de software. Para um melhor entendimento do problema em questão foi realizada uma revisão sistemática da literatura, a qual identificou um conjunto de abordagens para a gerência de variabilidades em processos de software e suas principais características. Também foi realizada a proposta de uma abordagem anotativa para a gerência de variabilidades em processos de software, bem como um estudo exploratório visando a concretização dessa abordagem e a implementação de um protótipo de ferramenta para auxiliar na aplicação da mesma. A abordagem anotativa proposta foi, então, avaliada e comparada com a abordagem composicional do EPF Composer. Tais avaliações foram conduzidas por meio da realização de estudos empíricos e um experimento controlado. Nos estudos empíricos as abordagens foram avaliadas: (i) qualitativamente de acordo com um conjunto de critérios de análise da especificação de suas variabilidades; e (ii) quantitativamente por meio da comparação de valores obtidos para métricas de modularidade, tamanho e complexidade para as especificações de uma mesma linha de processo usando as abordagens anotativa e composicionais. O experimento controlado teve como objetivo comparar as abordagens anotativa e composicional sob a perspectiva do esforço e entendimento das abordagens quando utilizadas na especificação de variabilidades em uma linha de processos de software. Os estudos evidenciaram diversos benefícios proporcionados pela abordagem anotativa no contexto de linhas de processos de software e seu potencial de integração com abordagens composicionais para auxiliar na modelagem de variabilidades em processos de softwareDissertaçã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íquasTese Uma abordagem de apoio à extração da política de tratamento de exceções(2017-02-13) Sena, Demóstenes Santos de; Coelho, Roberta de Souza; Kulesza, Uira; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/9854634275938452; http://lattes.cnpq.br/3949512835562758; Aranha, Eduardo Henrique da Silva; http://lattes.cnpq.br/9520477461031645; Barbosa, Eiji Adachi Medeiros; http://lattes.cnpq.br/8833409749475821; Medeiros Neto, Francisco Dantas de; http://lattes.cnpq.br/5525562330158282; Almeida, Rodrigo Bonifácio de; http://lattes.cnpq.br/0368311142108150Os mecanismos de tratamento de exceções são recursos fornecidos pelas principais linguagens de programação para auxiliar no desenvolvimento de sistemas robustos. A política de tratamento de exceções corresponde ao conjunto de regras de design do tratamento excepcional e definem os elementos de código (métodos, classes ou pacotes) responsáveis pela sinalização, propagação, captura das exceções e as respectivas ações de tratamento. Alguns estudos empíricos demonstraram que o tratamento inadequado de exceções, consequência da falta da política documentada, é uma possível fonte de defeitos. Por outro lado, devido à natureza implícita dos fluxos de exceções, a identificação e correção dos tratamentos de exceções tornam-se tarefas complexas. Para amenizar os problemas decorrentes do tratamento inadequado devido à falta de documentação do tratamento de exceções, algumas abordagens definiram linguagens de especificação das regras de tratamento com suporte ferramental para auxiliar na definição e checagem das regras. Entretanto, historicamente, as políticas de tratamento de exceções dos sistemas são postergadas ou ignoradas no processo de desenvolvimento. Adicionalmente, nenhuma das abordagens propostas oferece suporte à definição das regras, de forma a auxiliar o arquiteto a extrair as regras a partir da análise de código fonte pré-existente, e este é o objetivo da abordagem apresentada neste trabalho. Para apoiar a execução da abordagem proposta, foi desenvolvida uma ferramenta de análise estática que permite: (i) a coleta dos fluxos excepcionas e das respectivas ações de tratamentos; (ii) a identificação e definição dos agrupamentos, que são os elementos de código que possuem os mesmos comportamentos em relação ao tratamento de exceções; (iii) a extração das regras; e, (iv) a checagem das regras e identificação das causas das violações à política. A abordagem é demonstrada em dois estudos empíricos. No primeiro estudo empírico foram analisadas 656 bibliotecas (libs) Java do repositório central Maven com objetivo de extrair e caracterizar a política de tratamento de exceções destas libs. Este estudo revelou que 80,9% das bibliotecas possuem fluxos excepcionais que implementam pelo menos um anti-pattern do tratamento excepcional. O segundo estudo empírico teve como objetivo investigar os benefícios da extração das regras excepcionais a partir do código pré-existente no processo de definição e checagem da política de tratamento de exceções. Dois sistemas de informação Web (i.e., IProject e SIGAA) foram utilizados neste segundo estudo. Neste estudo pudemos observar que todas as regras reportadas pelos arquitetos foram extraídas pelo suporte ferramental, e que os resultados do processo de extração permitiram que novas regras fossem adicionadas pelos arquitetos. Essas regras adicionadas foram as regras não definidas pelos arquitetos e corresponderam à 57,1% (IProject) e 52,8% (SIGAA/Graduação) das regras da política dos sistemas analisados. O processo de checagem das regras definidas com o apoio da abordagem mostrou que 35,6% e 45,7% dos fluxos excepcionais do IProject e SIGAA/Graduação, respectivamente, violavam alguma das regras de tratamento de exceções.Dissertaçã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)Tese Uma abordagem multiobjetivo para o problema da realização da radioterapia de intensidade modulada(Universidade Federal do Rio Grande do Norte, 2021-08-10) Medeiros, Hudson Geovane de; Goldbarg, Elizabeth Ferreira Gouvea; http://lattes.cnpq.br/2888641121265608; http://lattes.cnpq.br/6075528442511848; Goldbarg, Marco César; http://lattes.cnpq.br/1371199678541174; Rodrigues, Anna Giselle Câmara Dantas Ribeiro; http://lattes.cnpq.br/4440595486888973; Menezes, Matheus da Silva; http://lattes.cnpq.br/7790866637385232; Obal, Thalita Monteiro; http://lattes.cnpq.br/7574246674522809Os algoritmos são parte essencial no planejamento da radioterapia, que, sob o ponto de vista da otimização, pode ser dividido em três sub-problemas. A definição dos ângulos de disparo e o mapa de dosagem para cada ângulo são dois deles. Este trabalho estuda o terceiro problema, que é chamado de problema da realização. Ele consiste em definir uma sequência de configurações para um dispositivo (chamado colimador multilâminas) que corretamente entregará a radiação ao paciente. Um modelo comum para este problema é a decomposição de uma matriz em uma soma ponderada de (0-1)-matrizes, chamadas segmentos, em que cada linha pode apenas ter 1s consecutivos. Cada segmento corresponde a uma configuração do colimador. Outras restrições aos segmentos podem ser também consideradas. O problema abordado neste trabalho possui três objetivos. O primeiro é minimizar a soma de coeficientes associados aos segmentos. O segundo minimiza a quantidade de segmentos. O terceiro minimiza o deslocamento das lâminas. Este trabalho investiga e apresenta algoritmos para duas variantes do problema: irrestrita e restrita por colisão de lâminas. Um novo algoritmo guloso e aleatório – GRA – foi desenvolvido inicialmente para a versão irrestrita e então estendido para a versão restrita. Seus resultados foram comparados a outros algoritmos propostos na literatura, sob os pontos de vista mono e multiobjetivo. No problema irrestrito, os experimentos demonstram que o GRA possui desempenho superior aos demais algoritmos em todos os indicadores analisados. No caso restrito, o GRA apresentou resultados competitivos, sobretudo no segundo objetivo, em que teve o melhor desempenho.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 algoritmos