• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • 1
  • Tagged with
  • 3
  • 3
  • 3
  • 3
  • 3
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

[en] EMPIRICAL EVALUATION OF EFFORT ON COMPOSING DESIGN MODELS / [pt] AVALIAÇÃO EMPÍRICA DE ESFORÇO EM COMPOSIÇÃO DE MODELOS DE PROJETO

KLEINNER SILVA FARIAS DE OLIVEIRA 19 January 2017 (has links)
[pt] Composição de modelos desempenha um papel fundamental em muitas atividades de engenharia de software como, por exemplo, evolução e reconciliação de modelos conflitantes desenvolvido em paralelo por diferentes times de desenvolvimento. Porém, os desenvolvedores têm dificuldades de realizar análises de custos e benefícios, bem como entender o real esforço de composição. Sendo assim, eles são deixados sem qualquer conhecimento prático sobre quanto é investido; além das estimativas de evangelistas que frequentemente divergem. Se o esforço de composição é alto, então os potenciais benefícios tais como aumento de produtividade podem ser comprometidos. Esta incapacidade de avaliar esforço de composição é motivada por três problemas: (i) as abordagens de avaliação atuais são inadequadas para mensurar os conceitos encontrados em composição, por exemplo, esforço e conflito; (ii) pesquisadores não sabem quais fatores podem influenciar o esforço de composição na prática. Exemplos de tais fatores seriam linguagem de modelagem e técnicas de composição que são responsáveis para manipular os modelos; (iii) a falta de conhecimento sobre como tais fatores desconhecidos afetam o esforço de composição. Esta tese, portanto, apresenta uma abordagem de avaliação de esforço de composição de modelos derivada de um conjunto de estudos experimentais. As principais contribuições são: (i) um modelo de qualidade para auxiliar a avaliação de esforço em composição de modelos; (ii) conhecimento prático sobre o esforço de composição e o impacto de fatores que afetam tal esforço; e (iii) diretivas sobre como avaliar esforço de composição, minimizar a propensão a erros, e reduzir os efeitos negativos dos fatores na prática de composição de modelos. / [en] Model composition plays a central role in many software engineering activities such as evolving models to add new features and reconciling conflicting design models developed in parallel by different development teams. As model composition is usually an error-prone and effort-consuming task, its potential benefits, such as gains in productivity can be compromised. However, there is no empirical knowledge nowadays about the effort required to compose design models. Only feedbacks of model composition evangelists are available, and they often diverge. Consequently, developers are unable to conduct any cost-effectiveness analysis as well as identify, predict, or reduce composition effort. The inability of evaluating composition effort is due to three key problems. First, the current evaluation frameworks do not consider fundamental concepts in model composition such as conflicts and inconsistencies. Second, researchers and developers do not know what factors can influence the composition effort in practice. Third, practical knowledge about how such influential factors may affect the developers effort is severely lacking. In this context, the contributions of this thesis are threefold: (i) a quality model for supporting the evaluation of model composition effort, (ii) practical knowledge, derived from a family of quantitative and qualitative empirical studies, about model composition effort and its influential factors, and (iii) insight about how to evaluate model composition efforts and tame the side effects of such influential factors.
2

[en] A BLUEPRINT-BASED APPROACH FOR PRIORITIZING AND RANKING CRITICAL CODE ANOMALIES / [pt] UMA ABORDAGEM BASEADA EM BLUEPRINTS PARA PRIORIZAÇÃO E CLASSIFICAÇÃO DE ANOMALIAS DE CÓDIGO CRÍTICAS

EVERTON TAVARES GUIMARAES 17 January 2017 (has links)
[pt] Sistemas de software estão evoluindo frequentemente devido a diversas requisições de mudanças. A medida que o software evolui, seu tamanho e complexidade aumentam, e consequentemente, sua arquitetura tende a se degradar. Sintomas de degradação arquitetural são por muitas vezes uma consequência direta da inserção progressiva de anomalias de código. Uma anomalia de código é uma estrutura da implementação recorrente que possivelmente indica problemas mais severos no projeto arquitetural. Anomalia de código é considerada crítica quando ela está relacionada problemas estruturais na arquitetura do software. Sua criticidade origina-se da sua influência negativa em uma ampla gama de requisitos não-funcionais. Por exemplo, a presença e anomalias e código críticas dificulta a manutenibilidade e software., ex. uma grande refatoração pode ser necessária para remover um problema arquitetural. Diversas abordagens tem sido propostas para a detecção de anomalias em sistemas de software, mas nenhuma delas suporta eficientemente a priorização e classificação de anomalias de código críticas de acordo com seu impacto na arquitetura. O presente trabalho investiga como a priorização e classificação dessas anomalias críticas de código pode se melhorado com o uso de blueprints arquiteturais. Blueprints arquiteturais são providos pelo arquiteto de software desde estágios iniciais de desenvolvimento do sistema. Blueprints são modelos de projeto informais normalmente definidos para capturar e comunicar as principais decisões de projeto arquitetural. Embora blueprints normalmente sejam incompletos e inconsistentes com respeito a implementação do sistema, eles podem contribuir para o processo de priorização e classificação de anomalias de código críticas. Com o intuito de alcançar nossos objetivos de pesquisa, um conjunto de estudos empíricos foram realizados. O trabalho também propõe e avalia um conjunto de heurísticas para auxiliar desenvolvedores na priorização e classificação de anomalias de código em 3 sistemas de software. Os resultados mostraram uma acurácia média de mais de 60 porcento na priorização e classificação de anomalias de código associadas com problemas arquiteturais nesses sistemas. / [en] Software systems are often evolving due to many changing requirements. As the software evolves, it grows in size and complexity, and consequently, its architecture design tends to degrade. Architecture degradation symptoms are often a direct consequence of the progressive insertion of code anomalies in the software implementation. A code anomaly is a recurring implementation structure that possibly indicates deeper architectural design problems. Code anomaly is considered critical when it is related with a structural problem in the software architecture. Its criticality stems from its negative influence on a wide range of non-functional requirements. For instance, the presence of critical code anomalies hinders software aintainability, i.e. these critical anomalies require wide refactoring in order to remove an architectural problem. Symptoms of architecture degradation have often to be observed in the source code due to the lack of an explicit, formal representation of the software architecture in a project. Many approaches are proposed for detecting code anomalies in software systems, but none of them efficiently support the prioritization and ranking of critical code anomalies according to their architecture impact. Our work investigates how the prioritization and ranking of such critical code anomalies could be improved by using blueprints. Architecture blueprints are usually provided by software architects since the early stages of the system development. Blueprints are informal design models usually defined to capture and communicate key architectural design decisions. Even though blueprints are often incomplete and inconsistent with respect to the underlying implementation, we aim to study if their use can contribute to improve the processes of prioritizing and ranking critical code anomalies. Aiming to address these research goals, a set of empirical studies has been performed. We also proposed and evaluated a set ofheuristics to support developers when prioritizing and ranking code anomalies in 3 software systems. The results showed an average accuracy higher than 60 percent when prioritizing and ranking code anomalies associated with architectural problems in these systems.
3

[en] MODULARITY AND STABILITY ASSESSMENT OF IMPLEMENTATION TECHNIQUES FOR MULTI-AGENT SYSTEMS PRODUCT LINES / [pt] AVALIAÇÃO DA MODULARIDADE E ESTABILIDADE DE TÉCNICAS DE IMPLEMENTAÇÃO PARA LINHAS DE PRODUTOS DE SISTEMAS MULTI-AGENTES

CAMILA PATRICIA BAZILIO NUNES 15 September 2017 (has links)
[pt] Uma Linha de Produtos de Sistemas Multi-agentes (LP-SMA) define uma arquitetura de linha de produto de software (LPS) cujo projeto e implementação são realizados usando agentes de software para compreender features comuns e variáveis. O desenvolvimento de LP-SMA pode ser feito através de plataformas específicas de SMA e técnicas de implementação. Exemplos de tais técnicas são: frameworks orientados a objetos, compilação condicional, arquivos de configuração e programação orientada a aspectos (POA). Todavia, os estudos empíricos existentes não focam na abordagem de LP-SMA, considerando diferentes técnicas de implementação e plataformas específicas de desenvolvimento de SMA. Nesse contexto, este trabalho apresenta uma comparação sistemática de diferentes técnicas de implementação de variabilidades de features de agentes no domínio de LP-SMA. Esta comparação sistemática envolveu o uso de duas plataformas de desenvolvimento de SMA (JADE e Jadex) e das técnicas de implementação: compilação condicional, arquivos de configuração e POA. Neste estudo, um conjunto de métricas de software foram utilizadas para avaliar atributos de qualidade, tais como modularidade e estabilidade. Para a realização deste estudo, duas LP-SMAs foram desenvolvidas. A primeira foi a LP-SMA do Expert Committee, uma linha de produto de sistemas de gerenciamento de conferências. A segunda foi a LP-SMA OLIS, que provê diversos serviços pessoais para os usuários. Os dados coletados durante a realização dos estudos empíricos permitiram o relato de um conjunto de lições aprendidas. / [en] A Multi-agent System Product Line (MAS-PL) defines a Software Product Line (SPL) architecture whose design and implementation are accomplished using software agents to address its common and variable features. The MAS-PL development can be performed through MAS specific platforms and implementation techniques. Examples of such techniques are: object-oriented frameworks, conditional compilation, configuration files and aspect-oriented programming (AOP). However, the existing empirical studies do not focus on MAS-PL approach, considering different implementation techniques and MAS specific platforms. In this context, this work presents a systematic comparison of different variability implementation techniques of agent features in the MAS-PL domain. This systematic comparison involved the use of two platforms of MAS development (JADE and Jadex) and implementation techniques conditional compilation, configuration files and AOP. In this study, a suite of software metries were used to evaluate quality attributes, such as modularity and stability. In order to perform this study, two MAS-PLs were developed. The first one was the Expert Commitee MAS-PL, a product line of conference management systems. The second one as the OLIS MAS-PL, which provides several personal services to the users. The collected data during the accomplished empirical studies allowed to report a set of lessons learned.

Page generated in 0.0598 seconds