Building an expert system to assist system refactorization

The separation of concerns is an important issue in the building of maintenable systems. Aspect oriented programming (AOP) is a software paradigm that allows the encapsulation of those concerns that crosscut a system and can not be modularized using current paradigms such as object-oriented programm...

ver descrição completa

Detalhes bibliográficos
Autores: Vidal, Santiago Agustín, Marcos, Claudia Andrea
Tipo de documento: artigo
Estado:Versão publicada
Data de publicação:2012
País:Argentina
Recursos:Consejo Nacional de Investigaciones Científicas y Técnicas
Repositório:CONICET Digital (CONICET)
Idioma:inglês
OAI Identifier:oai:ri.conicet.gov.ar:11336/64856
Acesso em linha:http://hdl.handle.net/11336/64856
Access Level:Acceso aberto
Palavra-chave:Aspect Refactoring
Aspect-Oriented Software Development
Expert Systems
Interface Agents
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
id AR_ee73d546d7dfe91cf70541e90a8ee4ee
oai_identifier_str oai:ri.conicet.gov.ar:11336/64856
network_acronym_str AR
network_name_str Argentina
repository_id_str
spelling Building an expert system to assist system refactorizationVidal, Santiago AgustínMarcos, Claudia AndreaAspect RefactoringAspect-Oriented Software DevelopmentExpert SystemsInterface Agentshttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1The separation of concerns is an important issue in the building of maintenable systems. Aspect oriented programming (AOP) is a software paradigm that allows the encapsulation of those concerns that crosscut a system and can not be modularized using current paradigms such as object-oriented programming. In this way, AOP increases the software modularization and reduces the impact when changes are made in the system. In order to take advantage of the benefits of AOP, the legacy OO systems should be migrated. To migrate object-oriented systems to aspect-oriented ones, specific refactorings for aspects should be used. This is a complex and tedious task for the developer because he/she needs to know how the refactorings should be applied and under what context. Therefore, it is desirable to have tools that help him/her through the process. In this article, we present an expert software agent, named RefactoringRecommender, that assists the developer during a refactorization of a system. The agent uses a Markovian algorithm with the goal of predicting the needed restructurings. © 2011 Elsevier Ltd. All rights reserved.Fil: Vidal, Santiago Agustín. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; ArgentinaFil: Marcos, Claudia Andrea. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina. Provincia de Buenos Aires. Gobernación. Comisión de Investigaciones Científicas; ArgentinaPergamon-Elsevier Science Ltd2012-02info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/64856Vidal, Santiago Agustín; Marcos, Claudia Andrea; Building an expert system to assist system refactorization; Pergamon-Elsevier Science Ltd; Expert Systems with Applications; 39; 3; 2-2012; 3810-38160957-4174CONICET DigitalCONICETenginfo:eu-repo/semantics/altIdentifier/doi/10.1016/j.eswa.2011.09.084info:eu-repo/semantics/altIdentifier/url/https://linkinghub.elsevier.com/retrieve/pii/S0957417411014072info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2024-05-08T13:53:44Zoai:ri.conicet.gov.ar:11336/64856instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982024-05-08 13:53:44.807CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv Building an expert system to assist system refactorization
title Building an expert system to assist system refactorization
spellingShingle Building an expert system to assist system refactorization
Vidal, Santiago Agustín
Aspect Refactoring
Aspect-Oriented Software Development
Expert Systems
Interface Agents
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
title_short Building an expert system to assist system refactorization
title_full Building an expert system to assist system refactorization
title_fullStr Building an expert system to assist system refactorization
title_full_unstemmed Building an expert system to assist system refactorization
title_sort Building an expert system to assist system refactorization
dc.creator.none.fl_str_mv Vidal, Santiago Agustín
Marcos, Claudia Andrea
author Vidal, Santiago Agustín
author_facet Vidal, Santiago Agustín
Marcos, Claudia Andrea
author_role author
author2 Marcos, Claudia Andrea
author2_role author
dc.subject.none.fl_str_mv Aspect Refactoring
Aspect-Oriented Software Development
Expert Systems
Interface Agents
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
topic Aspect Refactoring
Aspect-Oriented Software Development
Expert Systems
Interface Agents
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
description The separation of concerns is an important issue in the building of maintenable systems. Aspect oriented programming (AOP) is a software paradigm that allows the encapsulation of those concerns that crosscut a system and can not be modularized using current paradigms such as object-oriented programming. In this way, AOP increases the software modularization and reduces the impact when changes are made in the system. In order to take advantage of the benefits of AOP, the legacy OO systems should be migrated. To migrate object-oriented systems to aspect-oriented ones, specific refactorings for aspects should be used. This is a complex and tedious task for the developer because he/she needs to know how the refactorings should be applied and under what context. Therefore, it is desirable to have tools that help him/her through the process. In this article, we present an expert software agent, named RefactoringRecommender, that assists the developer during a refactorization of a system. The agent uses a Markovian algorithm with the goal of predicting the needed restructurings. © 2011 Elsevier Ltd. All rights reserved.
publishDate 2012
dc.date.none.fl_str_mv 2012-02
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/64856
Vidal, Santiago Agustín; Marcos, Claudia Andrea; Building an expert system to assist system refactorization; Pergamon-Elsevier Science Ltd; Expert Systems with Applications; 39; 3; 2-2012; 3810-3816
0957-4174
CONICET Digital
CONICET
url http://hdl.handle.net/11336/64856
identifier_str_mv Vidal, Santiago Agustín; Marcos, Claudia Andrea; Building an expert system to assist system refactorization; Pergamon-Elsevier Science Ltd; Expert Systems with Applications; 39; 3; 2-2012; 3810-3816
0957-4174
CONICET Digital
CONICET
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/doi/10.1016/j.eswa.2011.09.084
info:eu-repo/semantics/altIdentifier/url/https://linkinghub.elsevier.com/retrieve/pii/S0957417411014072
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Pergamon-Elsevier Science Ltd
publisher.none.fl_str_mv Pergamon-Elsevier Science Ltd
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1799195479380066304
score 15.811543