Show simple item record

Professor Advisordc.contributor.advisorFabry, Johanes_CL
Authordc.contributor.authorGaldames Grünberg, Daniel Andréses_CL
Staff editordc.contributor.editorFacultad de Ciencias Físicas y Matemáticases_CL
Staff editordc.contributor.editorDepartamento de Ciencias de la Computaciónes_CL
Associate professordc.contributor.otherTanter, Éric
Associate professordc.contributor.otherMateu Brûle, Luis
Admission datedc.date.accessioned2012-09-12T18:18:29Z
Available datedc.date.available2012-09-12T18:18:29Z
Publication datedc.date.issued2011es_CL
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/104335
Abstractdc.description.abstractLa programación orientada a aspectos es un paradigma de programación que intenta solucionar el problema de las funcionalidades transversales, esto es, funcionalidades de la aplicación que están dispersas por muchas áreas del código, y no pueden separarse en forma eficiente usando el paradigma de programación orientada a objetos. Un aspecto representa una funcionalidad transversal de la aplicación. Éste incluye en su definición un pointcut, que representa un conjunto de puntos en la ejecución de la aplicación que van a ser capturados por el aspecto, y un advice, que representa la funcionalidad del aspecto, esto es, el código que va a ser ejecutado en los puntos capturados. En este trabajo se diseñó e implementó un lenguaje de aspectos para el lenguaje de programación Pharo Smalltalk, donde se incluyeron características destacadas de otros lenguajes de aspectos, junto a nuevas funcionalidades que le otorgan un mayor control y flexibilidad al lenguaje desarrollado. El lenguaje desarrollado incluye un sistema de definición de patrones para la definición de los pointcuts, reglas de precedencia globales y a nivel de pointcut. También contiene modificadores de clases similares a las inter-type declarationsde AspectJ, y un sistema de control dinámico en el orden de ejecución de los advice. Para el lenguaje desarrollado se implementó el concepto de membranas computacionales. Éstas son una forma de controlar el alcance que tienen los aspectos en el sistema, permitiendo controlar problemas como la reentrancia en los aspectos, esto es, cuando un aspecto captura un evento desencadenado por sí mismo. Junto a esto, las membranas computacionales son capaces de controlar la visibilidad que los aspectos tienen sobre el sistema donde son instalados. Se creó una suite de test usando el framework para test unitarios de Pharo Smalltalk, para comprobar el correcto funcionamiento del lenguaje desarrollado, además, se comprobó el grado de cobertura de la suite de test usando el software Hapao. Finalmente, se comprobó el funcionamiento del lenguaje de aspectos desarrollado, usándolo para refactorizar algunas partes del software de análisis dinámico de código Spy. Se realizaron algunos benchmark para comprobar el sobrecosto generado por la infraestructura de aspectos desarrollada, donde se pudo apreciar un sobrecosto variable, siendo elevado en algunos casos.
Lenguagedc.language.isoeses_CL
Publisherdc.publisherUniversidad de Chilees_CL
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 Chile
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/
Keywordsdc.subjectLenguajes de programación (Computadores)es_CL
Keywordsdc.subjectProgramación orientada al objeto (Cienica de la computación)es_CL
Keywordsdc.subjectSmalltalk (Lenguaje de programación para computadores), PHANtomes_CL
Keywordsdc.subjectPharoes_CL
Títulodc.titleDiseño e Implementación de PHANtom, un Lenguaje de Aspectos para Pharo Smalltalkes_CL
Document typedc.typeTesis


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Chile
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Chile