Return to search

[en] BLENDING AND REUSING RULES FOR ARCHITECTURAL DEGRADATION PREVENTION / [pt] COMPOSIÇÃO E REUSO DE REGRAS PARA PREVENÇÃO DA DEGRADAÇÃO ARQUITETURAL

[pt] Durante a manutenção de sistemas de software, os projetos arquiteturais
podem se degradar através dos processos de erosão e descaracterização
arquitetural. Estes processos estão usualmente entrelaçados e, consequentemente,
sintomas de descaracterização arquitetural favorecem a manifestação posterior de
sintomas de erosão e vice-versa. De fato, estudos empíricos recentes revelam que
estes sintomas tendem a afetar os mesmos módulos de um sistema. Desta forma,
arquitetos devem elaborar estratégias híbridas para uma prevenção simultânea de
ambos os processos de degradação arquitetural. Embora as especificações de
regras arquiteturais demandem um esforço considerável, estas são frequentemente
similares em diversos projetos de uma mesma companhia ou de um mesmo
domínio de aplicação. Essa dissertação descreve a linguagem específica de
domínio TamDera para: (i) especificar estratégias de regras para permitir
prevenção simultânea de ambos os processos de erosão e descaracterização
arquitetural, e (ii) prover o reúso tanto hierárquico quanto composicional de regras
de projetos em múltiplos contextos. Essa dissertação apresenta a avaliação
empírica da linguagem em termos de provisão de suporte para descrição e reúso
de regras de projeto em cinco projetos de software. O presente trabalho também
apresenta um protótipo que suporta a utilização da linguagem para detecção de
sintomas de degradação arquitetural.. Nossos resultados sugerem que arquitetos
podem se beneficiar de abordagens que permitam a definição e reúso de regras
híbridas para detectar ocorrências de ambos os processos de erosão e
descaracterização arquitetural in diversos cenários. / [en] During the maintenance of software systems, their architecture often
degrades through processes of architectural erosion and drift. These processes are
often intertwined and, as a consequence, a given module in the code becomes the
locus of both erosion and drift symptoms. Architects should elaborate strategies
for detecting co-occurrences of both degradation symptoms. Strategies for
enabling the detection of these symptoms are based on design rules. While the
specification of design rules is time-consuming, they are often similar across
different software projects. In this context, the contribution of this dissertation is
threefold. First, it presents TamDera, an unified domain-specific language for: (i)
specifying rule-based strategies to detect both erosion and drift symptoms, and (ii)
promoting the hierarchical and compositional reuse of design rules across multiple
contexts. Second, a tool implementation for supporting the language usage and
rule enforcement is also presented in this dissertation. Third, we evaluated the
language in supporting the description and reuse of design rules on five software
projects. Our evaluation revealed that architects could be benefited by using
TamDera to blend and reuse rules for detecting erosion and drift occurrences in
multiple scenarios.

Identiferoai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:23952
Date29 January 2015
CreatorsALESSANDRO CAVALCANTE GURGEL
ContributorsALESSANDRO FABRICIO GARCIA, ALESSANDRO FABRICIO GARCIA
PublisherMAXWELL
Source SetsPUC Rio
LanguageEnglish
Detected LanguagePortuguese
TypeTEXTO

Page generated in 0.0022 seconds