Addressing aspect interactions in an industrial setting: experiences, problems and solutions

Autores
Zambrano Polo y La Borda, Arturo Federico
Año de publicación
2013
Idioma
inglés
Tipo de recurso
tesis doctoral
Estado
versión aceptada
Colaborador/a o director/a de tesis
Fabry, Johan
Gordillo, Silvia Ethel
Descripción
Aspect oriented programming (AOP) introduces new and powerful modularization constructs. The aspect module is used to encapsulate crosscutting concerns, which otherwise would remain tangled and scattered. The idea of encapsulating crosscutting concerns rapidly expanded to earlier phases in the development cycle, including requirement analysis (aspect oriented requirement engineering, AORE) and design (aspect oriented modeling, AOM). The overall application of aspect orientation concepts is known as aspect oriented software development (AOSD). AOP is not yet a mainstream practice. Particularly AOSD is still in its early stages. This is reflected in the lack of reports of full development cycles using aspect oriented approaches, especially using industrial case studies. Furthermore, the power of aspects comes at the price of new challenges, one of them is that systems built using aspects are more difficult to understand. The crosscutting nature of aspects allows them to alter the behavior of many other modules. As a result, aspects may interact in unintended and unanticipated ways. This problem is known as aspect interactions. In this work we deal with the aspect interaction problem in the context of an industrial domain: slots machines. We perform a complete development cycle of the slot machine software. This is, to the best of our knowledge, the first complete industrial case of study of aspect orientation. Through this experience we discovered the limitations with regard to aspect interactions, of some emblematic aspect oriented approaches for requirement engineering, design and implementation. The contribution of this work is threefold. Firstly, we contribute with the evaluation and extensions to some of AORE and AOM approaches, in order to provide explicit support for aspect interactions in requirement analysis and design phases. We also evaluate the implementation of interactions using a static and a dynamic AOP language, and propose an AspectJ extension that copes with aspect interactions. Secondly, this work is the first report of a complete aspect oriented development cycle of an industrial case study. Thirdly, this work provides a complex case study that presents several business logic crosscutting concerns, which in turn exhibit numerous aspect interactions, that serves as a challenging test bed for upcoming AOSD approaches.
Doctor en Ciencias Informáticas
Universidad Nacional de La Plata
Facultad de Informática
Materia
Ciencias Informáticas
PROGRAMMING TECHNIQUES
Industrial automation
Requirements/Specifications
software engineering
aspect oriented programming
aspects dependencies and interactions
industrial case
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-sa/2.5/ar/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/35861

id SEDICI_4fee1682a33c59685a7cc5a66cbaf683
oai_identifier_str oai:sedici.unlp.edu.ar:10915/35861
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Addressing aspect interactions in an industrial setting: experiences, problems and solutionsZambrano Polo y La Borda, Arturo FedericoCiencias InformáticasPROGRAMMING TECHNIQUESIndustrial automationRequirements/Specificationssoftware engineeringaspect oriented programmingaspects dependencies and interactionsindustrial caseAspect oriented programming (AOP) introduces new and powerful modularization constructs. The aspect module is used to encapsulate crosscutting concerns, which otherwise would remain tangled and scattered. The idea of encapsulating crosscutting concerns rapidly expanded to earlier phases in the development cycle, including requirement analysis (aspect oriented requirement engineering, AORE) and design (aspect oriented modeling, AOM). The overall application of aspect orientation concepts is known as aspect oriented software development (AOSD). AOP is not yet a mainstream practice. Particularly AOSD is still in its early stages. This is reflected in the lack of reports of full development cycles using aspect oriented approaches, especially using industrial case studies. Furthermore, the power of aspects comes at the price of new challenges, one of them is that systems built using aspects are more difficult to understand. The crosscutting nature of aspects allows them to alter the behavior of many other modules. As a result, aspects may interact in unintended and unanticipated ways. This problem is known as aspect interactions. In this work we deal with the aspect interaction problem in the context of an industrial domain: slots machines. We perform a complete development cycle of the slot machine software. This is, to the best of our knowledge, the first complete industrial case of study of aspect orientation. Through this experience we discovered the limitations with regard to aspect interactions, of some emblematic aspect oriented approaches for requirement engineering, design and implementation. The contribution of this work is threefold. Firstly, we contribute with the evaluation and extensions to some of AORE and AOM approaches, in order to provide explicit support for aspect interactions in requirement analysis and design phases. We also evaluate the implementation of interactions using a static and a dynamic AOP language, and propose an AspectJ extension that copes with aspect interactions. Secondly, this work is the first report of a complete aspect oriented development cycle of an industrial case study. Thirdly, this work provides a complex case study that presents several business logic crosscutting concerns, which in turn exhibit numerous aspect interactions, that serves as a challenging test bed for upcoming AOSD approaches.Doctor en Ciencias InformáticasUniversidad Nacional de La PlataFacultad de InformáticaFabry, JohanGordillo, Silvia Ethel2013-06-05info:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/acceptedVersionTesis de doctoradohttp://purl.org/coar/resource_type/c_db06info:ar-repo/semantics/tesisDoctoralapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/35861https://doi.org/10.35537/10915/35861enginfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-sa/2.5/ar/Creative Commons Attribution-ShareAlike 2.5 Argentina (CC BY-SA 2.5)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-03T10:32:09Zoai:sedici.unlp.edu.ar:10915/35861Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-03 10:32:10.063SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Addressing aspect interactions in an industrial setting: experiences, problems and solutions
title Addressing aspect interactions in an industrial setting: experiences, problems and solutions
spellingShingle Addressing aspect interactions in an industrial setting: experiences, problems and solutions
Zambrano Polo y La Borda, Arturo Federico
Ciencias Informáticas
PROGRAMMING TECHNIQUES
Industrial automation
Requirements/Specifications
software engineering
aspect oriented programming
aspects dependencies and interactions
industrial case
title_short Addressing aspect interactions in an industrial setting: experiences, problems and solutions
title_full Addressing aspect interactions in an industrial setting: experiences, problems and solutions
title_fullStr Addressing aspect interactions in an industrial setting: experiences, problems and solutions
title_full_unstemmed Addressing aspect interactions in an industrial setting: experiences, problems and solutions
title_sort Addressing aspect interactions in an industrial setting: experiences, problems and solutions
dc.creator.none.fl_str_mv Zambrano Polo y La Borda, Arturo Federico
author Zambrano Polo y La Borda, Arturo Federico
author_facet Zambrano Polo y La Borda, Arturo Federico
author_role author
dc.contributor.none.fl_str_mv Fabry, Johan
Gordillo, Silvia Ethel
dc.subject.none.fl_str_mv Ciencias Informáticas
PROGRAMMING TECHNIQUES
Industrial automation
Requirements/Specifications
software engineering
aspect oriented programming
aspects dependencies and interactions
industrial case
topic Ciencias Informáticas
PROGRAMMING TECHNIQUES
Industrial automation
Requirements/Specifications
software engineering
aspect oriented programming
aspects dependencies and interactions
industrial case
dc.description.none.fl_txt_mv Aspect oriented programming (AOP) introduces new and powerful modularization constructs. The aspect module is used to encapsulate crosscutting concerns, which otherwise would remain tangled and scattered. The idea of encapsulating crosscutting concerns rapidly expanded to earlier phases in the development cycle, including requirement analysis (aspect oriented requirement engineering, AORE) and design (aspect oriented modeling, AOM). The overall application of aspect orientation concepts is known as aspect oriented software development (AOSD). AOP is not yet a mainstream practice. Particularly AOSD is still in its early stages. This is reflected in the lack of reports of full development cycles using aspect oriented approaches, especially using industrial case studies. Furthermore, the power of aspects comes at the price of new challenges, one of them is that systems built using aspects are more difficult to understand. The crosscutting nature of aspects allows them to alter the behavior of many other modules. As a result, aspects may interact in unintended and unanticipated ways. This problem is known as aspect interactions. In this work we deal with the aspect interaction problem in the context of an industrial domain: slots machines. We perform a complete development cycle of the slot machine software. This is, to the best of our knowledge, the first complete industrial case of study of aspect orientation. Through this experience we discovered the limitations with regard to aspect interactions, of some emblematic aspect oriented approaches for requirement engineering, design and implementation. The contribution of this work is threefold. Firstly, we contribute with the evaluation and extensions to some of AORE and AOM approaches, in order to provide explicit support for aspect interactions in requirement analysis and design phases. We also evaluate the implementation of interactions using a static and a dynamic AOP language, and propose an AspectJ extension that copes with aspect interactions. Secondly, this work is the first report of a complete aspect oriented development cycle of an industrial case study. Thirdly, this work provides a complex case study that presents several business logic crosscutting concerns, which in turn exhibit numerous aspect interactions, that serves as a challenging test bed for upcoming AOSD approaches.
Doctor en Ciencias Informáticas
Universidad Nacional de La Plata
Facultad de Informática
description Aspect oriented programming (AOP) introduces new and powerful modularization constructs. The aspect module is used to encapsulate crosscutting concerns, which otherwise would remain tangled and scattered. The idea of encapsulating crosscutting concerns rapidly expanded to earlier phases in the development cycle, including requirement analysis (aspect oriented requirement engineering, AORE) and design (aspect oriented modeling, AOM). The overall application of aspect orientation concepts is known as aspect oriented software development (AOSD). AOP is not yet a mainstream practice. Particularly AOSD is still in its early stages. This is reflected in the lack of reports of full development cycles using aspect oriented approaches, especially using industrial case studies. Furthermore, the power of aspects comes at the price of new challenges, one of them is that systems built using aspects are more difficult to understand. The crosscutting nature of aspects allows them to alter the behavior of many other modules. As a result, aspects may interact in unintended and unanticipated ways. This problem is known as aspect interactions. In this work we deal with the aspect interaction problem in the context of an industrial domain: slots machines. We perform a complete development cycle of the slot machine software. This is, to the best of our knowledge, the first complete industrial case of study of aspect orientation. Through this experience we discovered the limitations with regard to aspect interactions, of some emblematic aspect oriented approaches for requirement engineering, design and implementation. The contribution of this work is threefold. Firstly, we contribute with the evaluation and extensions to some of AORE and AOM approaches, in order to provide explicit support for aspect interactions in requirement analysis and design phases. We also evaluate the implementation of interactions using a static and a dynamic AOP language, and propose an AspectJ extension that copes with aspect interactions. Secondly, this work is the first report of a complete aspect oriented development cycle of an industrial case study. Thirdly, this work provides a complex case study that presents several business logic crosscutting concerns, which in turn exhibit numerous aspect interactions, that serves as a challenging test bed for upcoming AOSD approaches.
publishDate 2013
dc.date.none.fl_str_mv 2013-06-05
dc.type.none.fl_str_mv info:eu-repo/semantics/doctoralThesis
info:eu-repo/semantics/acceptedVersion
Tesis de doctorado
http://purl.org/coar/resource_type/c_db06
info:ar-repo/semantics/tesisDoctoral
format doctoralThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/35861
https://doi.org/10.35537/10915/35861
url http://sedici.unlp.edu.ar/handle/10915/35861
https://doi.org/10.35537/10915/35861
dc.language.none.fl_str_mv eng
language eng
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-sa/2.5/ar/
Creative Commons Attribution-ShareAlike 2.5 Argentina (CC BY-SA 2.5)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-sa/2.5/ar/
Creative Commons Attribution-ShareAlike 2.5 Argentina (CC BY-SA 2.5)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1842260168303181824
score 13.13397