Show simple item record

dc.contributor.authorSantos, Bruno Marinho
dc.date.accessioned2016-06-02T19:06:20Z
dc.date.available2015-02-12
dc.date.available2016-06-02T19:06:20Z
dc.date.issued2014-10-21
dc.identifier.citationSANTOS, Bruno Marinho. Extensões do metamodelo KDM para apoiar modernizações orientadas a aspectos de sistemas legados. 2014. 132 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2014.por
dc.identifier.urihttps://repositorio.ufscar.br/handle/ufscar/593
dc.description.abstractMaintaining legacy systems is a complex and expensive activity for many companies. A recently proposal to solve this problem is Architecture-Driven Modernization (ADM), proposed by Object Management Group (OMG). The ADM consists of a set of concepts and standard metamodels that support systems modernization using models. The Knowledge Discovery Metamodel (KDM) is the main metamodel of ADM, it can represent many artifacts of a legacy system, such as source code, architecture, user interface, configuration files and business process. In general, legacy systems have crosscutting concerns, it can show source code problems like tangling and scattering, and it raises the maintenance costs. The aspect orientation is an alternative to improve crosscutting concerns modularization. Thus, in this dissertation is presented the term Aspect Oriented Modernization that uses the aspect oriented concepts in the ADM context. This modernization process consists in modularize legacy systems with aspects represented in model level. To achieve this goal, in this work were performed a lightweight and a heavyweight extension in the KDM metamodel, to analyze which one would present a better performance if used by Modernization Engineers. The evaluation of these extensions was performed by a case study that considered the modernization with aspects of a small-sized system. To evaluate the case study in both extensions, a set of comparison criteria were created to support the software engineers in choosing the best extension mechanism, according to their needs. In the context of this dissertation an experimental study were developed that aimed reproducing the scenarios that the modernization engineers had to perform maintenances and developing new refactorings in a aspect oriented KDM model. The experiment data considered the development time of the activities and the found number of errors. Finally, it was noticed that the extension mechanism to be choose will depend on the context that it will be applied, however, considering the approach studied here the best extension mechanism is the heavyweight one.eng
dc.formatapplication/pdfpor
dc.languageporpor
dc.publisherUniversidade Federal de São Carlospor
dc.rightsAcesso Abertopor
dc.subjectEngenharia de softwarepor
dc.subjectArchitecture-driven Modernization - ADMpor
dc.subjectKnowledge Discovery Metamodel - KDMpor
dc.subjectExtensões leves e pesadaspor
dc.subjectPOApor
dc.subjectEstudo de casospor
dc.subjectEngenheiro de modernizaçãopor
dc.subjectADMeng
dc.subjectKDMeng
dc.subjectExtension mechanismeng
dc.subjectLightweighteng
dc.subjectHeavyweighteng
dc.subjectAspect oriented programmingeng
dc.subjectModernization engineereng
dc.subjectStudy caseeng
dc.subjectExperimenteng
dc.titleExtensões do metamodelo KDM para apoiar modernizações orientadas a aspectos de sistemas legadospor
dc.typeDissertaçãopor
dc.contributor.advisor1Camargo, Valter Vieira de
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/6809743774407662por
dc.description.resumoManter sistemas legados é uma atividade complexa e onerosa para muitas empresas. Uma proposta recente para esse problema é a Modernização Dirigida à Arquitetura (Architecture-Driven Modernization - ADM), proposta pela OMG (Object Management Group). A ADM consiste em um conjunto de princípios e metamodelos padrões que apoiam a modernização de sistemas utilizando modelos. O Knowledge Discovery Metamodel (KDM) é o principal metamodelo da ADM, podendo representar diversos artefatos de um sistema, como código-fonte, arquitetura, interface de usuário, arquivos de configuração e processos de negócio. Em geral, sistemas legados possuem interesses transversais, apresentando problemas de entrelaçamento e espalhamento de código, o que eleva os custos de manutenção. A orientação a aspectos é uma alternativa para melhorar a modularização de interesses transversais. Mediante isso, neste trabalho é apresentado o termo Modernização Orientada a Aspectos que utiliza os conceitos da orientação a aspectos na ADM. Essa modernização consiste em remodularizar sistemas legados utilizando aspectos representados em nível de modelo. Para atingir esse objetivo, foi realizada uma extensão leve e outra pesada do metamodelo KDM, para analisar em qual das duas o desempenho dos engenheiros de modernização seria melhor. Para fazer a avaliação das extensões, foi realizado um estudo de caso levando em consideração a modernização com aspectos em um sistema de pequeno porte. Com o objetivo de avaliar o estudo de caso usando as duas extensões, foram desenvolvidos critérios de comparação que auxiliassem os engenheiros de software a escolher qual dos dois mecanismos de extensão utilizar em seu projeto. Foi feito também um estudo experimental que buscou reproduzir os cenários em que engenheiros de modernização tivessem que realizar manutenções e desenvolver novas refatorações em um modelo KDM orientado a aspectos. Os dados do experimento foram avaliados em relação ao tempo de desenvolvimento das atividades e quantidade de erros encontrados. Por fim, percebeu-se que o mecanismo de extensão a ser utilizado vai depender do contexto em que ele será aplicado, mas, para o domínio aqui estudado a extensão que melhor atendeu aos requisitos foi a pesada.por
dc.publisher.countryBRpor
dc.publisher.initialsUFSCarpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação - PPGCCpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.contributor.authorlatteshttp://lattes.cnpq.br/5550740009040625por


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record