Validación de arquitecturas a través de la programación orientada a aspectos

Autores
Graiño, Claudio Ariel
Año de publicación
2015
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Asteasuain, Fernando
Descripción
Las arquitecturas de software se enfocan en el diseño y modelado de sistemas con un alto nivel de abstracción, revelando sólo las principales interacciones entre los elementos de software involucrados, ignorando detalles de carácter implementativo de bajo nivel. Uno de los desafíos más relevantes dentro del mundo de las arquitecturas de software es poder determinar si, dado un sistema, éste cumple o satisface su especificación arquitectónica. Esto se debe principalmente a dos razones. Por un lado, es difícil llevar una trazabilidad de elementos arquitectónicos a código, ya que conviven en distintos niveles de abstracción. Por otro lado, la especificación arquitectónica sufre de un problema conocido como separación y erosión (drift & erosión). Esto ocurre cuando la especificación arquitectónica queda desactualizada frente a la evolución y/o cambios del sistema. Muchas veces la estructura estática de un sistema (clases, paquetes, etc) no está relacionada con su comportamiento arquitectónico, por lo que una aproximación razonable para comprobar si un sistema cumple su especificación arquitectónica es observar su comportamiento en ejecución. En particular, dado que el comportamiento arquitectónico puede entrecruzar o atravesar distintas partes del sistema, la utilización de mecanismos avanzados de modularización como los propuestos en la Programación Orientada a Aspectos comprende un enfoque atractivo para encarar el problema descrito. Dado este contexto, esta tesis pretende combinar mecanismos de la Programación Orientada a Aspectos para poder determinar si la implementación de un sistema cumple con su especificación arquitectónica. Específicamente, en este trabajo se atacará el problema de validar la utilización de conectores al reconstruir la arquitectura dinámicamente de un sistema en ejecución haciendo uso de la programación orientada a aspectos.
Software architectures focus on system design and modeling at a high level of abstraction, by revealing only the main interactions between involved software elements, ignoring low level details. One of the key challenges in the software architecture domain is to be able to determine if a given system’s implementation satisfies its architecture. This problem arises mainly from two factors. On one hand, it’s hard to translate architectural elements to code, since they live in different abstraction levels. On the other hand, the specification suffers from problems known as drift & erosion. This occurs when the architecture gets outdated in relation to the evolution and/or changes of the system. Often, the static structure of a system (classes, packages, etc) is not related to the behavior of the architecture. Therefore, a reasonable approach to check if a system satisfies its architecture is to analyze the behavior in run time. In particular, since the architectural elements may cross various parts of the system, the use of advanced mechanisms of modularization as the ones proposed by the Aspect Oriented Programming might be an attractive approach to deal with the described problem. Given this context, this thesis combines mechanisms of the Aspect Oriented Programming to determine if the implementation of a system satisfies its architecture. In particular, in this thesis we will tackle the problem of validating the use of connectors by dynamically generating the architecture of an executing system using aspect oriented programming.
Fil: Graiño, Claudio Ariel. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
ARQUITECTURAS DE SOFTWARE
PROGRAMACION ORIENTADA A ASPECTOS
VALIDACION DE CONECTORES
ANALISIS DINAMICO
SOFTWARE ARCHITECTURES
ASPECT ORIENTED PROGRAMMING
CONNECTOR VALIDATIONS
DYNAMIC ANALYSIS
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000685_Graino

id BDUBAFCEN_e0b7a58ace13e9fb89c4e4a9bf7da559
oai_identifier_str seminario:seminario_nCOM000685_Graino
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Validación de arquitecturas a través de la programación orientada a aspectosArchitecture validation through aspect oriented programmingGraiño, Claudio ArielARQUITECTURAS DE SOFTWAREPROGRAMACION ORIENTADA A ASPECTOSVALIDACION DE CONECTORESANALISIS DINAMICOSOFTWARE ARCHITECTURESASPECT ORIENTED PROGRAMMINGCONNECTOR VALIDATIONSDYNAMIC ANALYSISLas arquitecturas de software se enfocan en el diseño y modelado de sistemas con un alto nivel de abstracción, revelando sólo las principales interacciones entre los elementos de software involucrados, ignorando detalles de carácter implementativo de bajo nivel. Uno de los desafíos más relevantes dentro del mundo de las arquitecturas de software es poder determinar si, dado un sistema, éste cumple o satisface su especificación arquitectónica. Esto se debe principalmente a dos razones. Por un lado, es difícil llevar una trazabilidad de elementos arquitectónicos a código, ya que conviven en distintos niveles de abstracción. Por otro lado, la especificación arquitectónica sufre de un problema conocido como separación y erosión (drift & erosión). Esto ocurre cuando la especificación arquitectónica queda desactualizada frente a la evolución y/o cambios del sistema. Muchas veces la estructura estática de un sistema (clases, paquetes, etc) no está relacionada con su comportamiento arquitectónico, por lo que una aproximación razonable para comprobar si un sistema cumple su especificación arquitectónica es observar su comportamiento en ejecución. En particular, dado que el comportamiento arquitectónico puede entrecruzar o atravesar distintas partes del sistema, la utilización de mecanismos avanzados de modularización como los propuestos en la Programación Orientada a Aspectos comprende un enfoque atractivo para encarar el problema descrito. Dado este contexto, esta tesis pretende combinar mecanismos de la Programación Orientada a Aspectos para poder determinar si la implementación de un sistema cumple con su especificación arquitectónica. Específicamente, en este trabajo se atacará el problema de validar la utilización de conectores al reconstruir la arquitectura dinámicamente de un sistema en ejecución haciendo uso de la programación orientada a aspectos.Software architectures focus on system design and modeling at a high level of abstraction, by revealing only the main interactions between involved software elements, ignoring low level details. One of the key challenges in the software architecture domain is to be able to determine if a given system’s implementation satisfies its architecture. This problem arises mainly from two factors. On one hand, it’s hard to translate architectural elements to code, since they live in different abstraction levels. On the other hand, the specification suffers from problems known as drift & erosion. This occurs when the architecture gets outdated in relation to the evolution and/or changes of the system. Often, the static structure of a system (classes, packages, etc) is not related to the behavior of the architecture. Therefore, a reasonable approach to check if a system satisfies its architecture is to analyze the behavior in run time. In particular, since the architectural elements may cross various parts of the system, the use of advanced mechanisms of modularization as the ones proposed by the Aspect Oriented Programming might be an attractive approach to deal with the described problem. Given this context, this thesis combines mechanisms of the Aspect Oriented Programming to determine if the implementation of a system satisfies its architecture. In particular, in this thesis we will tackle the problem of validating the use of connectors by dynamically generating the architecture of an executing system using aspect oriented programming.Fil: Graiño, Claudio Ariel. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesAsteasuain, Fernando2015info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000685_Grainospainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-10-23T11:19:05Zseminario:seminario_nCOM000685_GrainoInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-10-23 11:19:06.481Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Validación de arquitecturas a través de la programación orientada a aspectos
Architecture validation through aspect oriented programming
title Validación de arquitecturas a través de la programación orientada a aspectos
spellingShingle Validación de arquitecturas a través de la programación orientada a aspectos
Graiño, Claudio Ariel
ARQUITECTURAS DE SOFTWARE
PROGRAMACION ORIENTADA A ASPECTOS
VALIDACION DE CONECTORES
ANALISIS DINAMICO
SOFTWARE ARCHITECTURES
ASPECT ORIENTED PROGRAMMING
CONNECTOR VALIDATIONS
DYNAMIC ANALYSIS
title_short Validación de arquitecturas a través de la programación orientada a aspectos
title_full Validación de arquitecturas a través de la programación orientada a aspectos
title_fullStr Validación de arquitecturas a través de la programación orientada a aspectos
title_full_unstemmed Validación de arquitecturas a través de la programación orientada a aspectos
title_sort Validación de arquitecturas a través de la programación orientada a aspectos
dc.creator.none.fl_str_mv Graiño, Claudio Ariel
author Graiño, Claudio Ariel
author_facet Graiño, Claudio Ariel
author_role author
dc.contributor.none.fl_str_mv Asteasuain, Fernando
dc.subject.none.fl_str_mv ARQUITECTURAS DE SOFTWARE
PROGRAMACION ORIENTADA A ASPECTOS
VALIDACION DE CONECTORES
ANALISIS DINAMICO
SOFTWARE ARCHITECTURES
ASPECT ORIENTED PROGRAMMING
CONNECTOR VALIDATIONS
DYNAMIC ANALYSIS
topic ARQUITECTURAS DE SOFTWARE
PROGRAMACION ORIENTADA A ASPECTOS
VALIDACION DE CONECTORES
ANALISIS DINAMICO
SOFTWARE ARCHITECTURES
ASPECT ORIENTED PROGRAMMING
CONNECTOR VALIDATIONS
DYNAMIC ANALYSIS
dc.description.none.fl_txt_mv Las arquitecturas de software se enfocan en el diseño y modelado de sistemas con un alto nivel de abstracción, revelando sólo las principales interacciones entre los elementos de software involucrados, ignorando detalles de carácter implementativo de bajo nivel. Uno de los desafíos más relevantes dentro del mundo de las arquitecturas de software es poder determinar si, dado un sistema, éste cumple o satisface su especificación arquitectónica. Esto se debe principalmente a dos razones. Por un lado, es difícil llevar una trazabilidad de elementos arquitectónicos a código, ya que conviven en distintos niveles de abstracción. Por otro lado, la especificación arquitectónica sufre de un problema conocido como separación y erosión (drift & erosión). Esto ocurre cuando la especificación arquitectónica queda desactualizada frente a la evolución y/o cambios del sistema. Muchas veces la estructura estática de un sistema (clases, paquetes, etc) no está relacionada con su comportamiento arquitectónico, por lo que una aproximación razonable para comprobar si un sistema cumple su especificación arquitectónica es observar su comportamiento en ejecución. En particular, dado que el comportamiento arquitectónico puede entrecruzar o atravesar distintas partes del sistema, la utilización de mecanismos avanzados de modularización como los propuestos en la Programación Orientada a Aspectos comprende un enfoque atractivo para encarar el problema descrito. Dado este contexto, esta tesis pretende combinar mecanismos de la Programación Orientada a Aspectos para poder determinar si la implementación de un sistema cumple con su especificación arquitectónica. Específicamente, en este trabajo se atacará el problema de validar la utilización de conectores al reconstruir la arquitectura dinámicamente de un sistema en ejecución haciendo uso de la programación orientada a aspectos.
Software architectures focus on system design and modeling at a high level of abstraction, by revealing only the main interactions between involved software elements, ignoring low level details. One of the key challenges in the software architecture domain is to be able to determine if a given system’s implementation satisfies its architecture. This problem arises mainly from two factors. On one hand, it’s hard to translate architectural elements to code, since they live in different abstraction levels. On the other hand, the specification suffers from problems known as drift & erosion. This occurs when the architecture gets outdated in relation to the evolution and/or changes of the system. Often, the static structure of a system (classes, packages, etc) is not related to the behavior of the architecture. Therefore, a reasonable approach to check if a system satisfies its architecture is to analyze the behavior in run time. In particular, since the architectural elements may cross various parts of the system, the use of advanced mechanisms of modularization as the ones proposed by the Aspect Oriented Programming might be an attractive approach to deal with the described problem. Given this context, this thesis combines mechanisms of the Aspect Oriented Programming to determine if the implementation of a system satisfies its architecture. In particular, in this thesis we will tackle the problem of validating the use of connectors by dynamically generating the architecture of an executing system using aspect oriented programming.
Fil: Graiño, Claudio Ariel. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description Las arquitecturas de software se enfocan en el diseño y modelado de sistemas con un alto nivel de abstracción, revelando sólo las principales interacciones entre los elementos de software involucrados, ignorando detalles de carácter implementativo de bajo nivel. Uno de los desafíos más relevantes dentro del mundo de las arquitecturas de software es poder determinar si, dado un sistema, éste cumple o satisface su especificación arquitectónica. Esto se debe principalmente a dos razones. Por un lado, es difícil llevar una trazabilidad de elementos arquitectónicos a código, ya que conviven en distintos niveles de abstracción. Por otro lado, la especificación arquitectónica sufre de un problema conocido como separación y erosión (drift & erosión). Esto ocurre cuando la especificación arquitectónica queda desactualizada frente a la evolución y/o cambios del sistema. Muchas veces la estructura estática de un sistema (clases, paquetes, etc) no está relacionada con su comportamiento arquitectónico, por lo que una aproximación razonable para comprobar si un sistema cumple su especificación arquitectónica es observar su comportamiento en ejecución. En particular, dado que el comportamiento arquitectónico puede entrecruzar o atravesar distintas partes del sistema, la utilización de mecanismos avanzados de modularización como los propuestos en la Programación Orientada a Aspectos comprende un enfoque atractivo para encarar el problema descrito. Dado este contexto, esta tesis pretende combinar mecanismos de la Programación Orientada a Aspectos para poder determinar si la implementación de un sistema cumple con su especificación arquitectónica. Específicamente, en este trabajo se atacará el problema de validar la utilización de conectores al reconstruir la arquitectura dinámicamente de un sistema en ejecución haciendo uso de la programación orientada a aspectos.
publishDate 2015
dc.date.none.fl_str_mv 2015
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000685_Graino
url https://hdl.handle.net/20.500.12110/seminario_nCOM000685_Graino
dc.language.none.fl_str_mv spa
language spa
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
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1846784896070057984
score 12.982451