4 research outputs found

    Uma abordagem para integração e teste de módulos baseada em agrupamento e algoritmos de otimização multiobjetivos

    Get PDF
    Resumo: Para encontrar defeitos de comunicaçõ entre diferentes partes de um sistema é realizado o teste de integração, no qual cada módulo desenvolvido deve ser integrado e testado com os módulos já existentes. Entretanto, um módulo a ser integrado e testado, pode necessitar de recursos de outro módulo ainda em desenvolvimento, levando a necessidade de se construir um stub. Stubs são simula_c~oes de recursos essenciais para o teste mas que ainda não estão disponíveis. O stub não faz parte do sistema, então a construção de stubs implica em custo adicional. Para minimizar a necessidade de stubs e conseqüentemente reduzir o custo do projeto, várias estratégias para integrar e testar módulos foram propostas. Porém, nenhuma dessas estratégias considera uma característica presente na maioria dos sistemas, que é a modularização. Dado este fato, este trabalho propõe uma estratégia que considera agrupamentos de módulos durante o estabelecimento de ordens para a integração e teste. Esta estratégia é implementada em uma abordagem chamada MECBA-Clu, uma abordagem baseada em algoritmos de otimização multiobjetivos e diferentes medidas de acoplamento para avaliar diversos fatores que inuenciam o custo de construção de stubs. A abordagem MECBA-Clu é avaliada através da condução de um experimento com oito sistemas reais, quatro Orientados a Objetos e quatro Orientados a Aspectos, no qual os três diferentes algoritmos evolutivos multiobjetivos NSGA-II, SPEA2 e PAES foram aplicados. Os resultados apontam que o espaço de busca fica restrito a determinadas áreas em que as soluções podem ser encontradas. Além disso, de acordo com quatro indicadores de qualidade utilizados, observa-se que o algoritmo PAES obteve o melhor resultado, seguido pelo NSGA-II e por fim o SPEA2. Exemplos da utilização da abordagem também são apresentados

    Application of Bio-inspired Metaheuristics in the Data Clustering Problem

    No full text
    Clustering analysis includes a number of different algorithms and methods for grouping objects by their similar characteristics into categories. In recent years, considerable effort has been made to improve such algorithms performance. In this sense, this paper explores three different bio-inspired metaheuristics in the clustering problem: Genetic Algorithms (GAs), Ant Colony Optimization (ACO), and Artificial Immune Systems (AIS). This paper proposes some refinements to be applied to these metaheuristics in order to improve their performance in the data clustering problem. The performance of the proposed algorithms is compared on five different numeric UCI databases. The results show that GA, ACO and AIS based algorithms are able to efficiently and automatically forming natural groups from a pre-defined number of clusters

    Application of Bio-inspired Metaheuristics in the Data Clustering Problem

    No full text

    Uma abordagem de otimização multiobjetivo para projeto arquitetural de linha de produto de software

    Get PDF
    Resumo: A indústria de software tem adotado a abordagem de Linha de Produto de Software (LPS) com o objetivo de aumentar o reúso de software e diminuir o tempo de produção e os custos de desenvolvimento dos produtos. Nessa abordagem, o principal artefato e a arquitetura de LPS (PLA - Product Line Architecture). No entanto, obter uma PLA modular, extensível e reusável e uma tarefa não trivial. O arquiteto pode se apoiar em métricas arquiteturais para definir e melhorar o projeto da PLA. Contudo, essa tarefa pode envolver vários fatores, muitas vezes conflitantes entre si, e encontrar o melhor trade-off entre as métricas utilizadas para avaliar o projeto transforma o projeto de PLA em uma tarefa que demanda grande esforço humano. Nesse contexto, o projeto de PLA pode ser formulado como um problema de otimização com varios fatores. Porém, elaborar um projeto que atenda a todos os fatores envolvidos pode ser mais difícil do que reconhecer um bom projeto. Problemas da Engenharia de Software similares a esse tem sido eficientemente resolvidos com algoritmos de busca em um campo de pesquisa conhecido como Engenharia de Software Baseada em Busca (SBSE - Search Based Software Engineering). Entretanto, as abordagens existentes utilizadas para otimizar arquiteturas de software nãao são apropriadas para projeto de PLAs, pois não consideram características específicas de LPS. Desse modo, este trabalho propõe uma abordagem de otimização multiobjetivo automatizada para avaliar e melhorar um projeto de PLA no que tange a modularização de características, estabilidade do projeto e extensibilidade de LPS. A abordagem proposta inclui: (a) um processo sistemático para conduzir a otimização de projeto de PLA por meio de algoritmos de busca; (b) um metamodelo que permite que esses algoritmos manipulem projetos de PLA; (c) novos operadores de busca para evoluir projetos de PLA em termos de modularização de características; e (d) um tratamento multiobjetivo para o problema de projeto de PLA. Esse tratamento multiobjetivo engloba métricas que indicam a modularização de características e a extensibilidade de LPS, além de métricas convencionais para medir princípios básicos de projeto como coesão e acoplamento. Ao final do processo de otimização, um conjunto de possíveis soluções de projeto de PLA que representam os melhores trade-off entre os objetivos otimizados e retornado. O arquiteto deve selecionar uma solução de acordo com as suas prioridades. A ferramenta OPLA-Tool foi desenvolvida para instanciar a abordagem usando algoritmos evolutivos multiobjetivos, os quais tem sido usados com sucesso na área de SBSE. Utilizando a OPLA-Tool, quatro estudos empíricos foram realizados com nove PLAs para avaliar: os operadores de busca propostos; o uso das métricas de LPS; e os algoritmos escolhidos. Em comparação às PLAs originais, os resultados mostraram que a abordagem proposta consegue gerar projetos mais estáveis, mais elegantes e com melhor modularização de características
    corecore