• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • Tagged with
  • 3
  • 3
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Desarrollo de una herramienta gráfica de exploración de robots con ROS

Schkolnik Müller, Demian Aley January 2015 (has links)
Ingeniero Civil en Computación / ROS, un middleware para robots, ofrece gran variedad de herramientas para su utilización. Sin embargo, carece de una importante herramienta: Algo que permita visualizar de forma dinámica sus componentes, y poder así entender sistemas complejos de mejor forma. Esta memoria consistió en desarrollar una herramienta, que es capaz de visualizar, mediante un grafo, un sistema completo creado en ROS, pudiendo ver cuáles son sus distintos componentes y cómo interactúan. Además, la herramienta incluye la opción de visualizar tres tipos de mensajes comunes presentes en ROS. El trabajo se realizó en el lenguaje de programación Smalltalk, y usando el ambiente de desarrollo Pharo. Para las visualizaciones se utilizó el motor de visualizaciones Roassal, basado en Pharo. El trabajo se dividió en cuatro grandes etapas. La primera etapa consistió en un trabajo de investigación, haciendo una revisión de las herramienta a usar en el desarrollo, junto a un análisis de los mensajes comunes de ROS y como se representaban. Esto sería usado en la segunda etapa. La segunda etapa consistió en el desarrollo de una API, que permitiera comunicación entre Pharo y ROS. Para ello se hizo uso de las herramientas de consola presentes en ROS. Junto a la API, se desarrollaron una serie de tests, a modo de robustecer la API frente a posibles cambios en ROS. La tercera etapa consistió en la creación del grafo general de ROS. Este grafo nos muestra el sistema completo creado en ROS, indicándonos también de qué forma interactúan los componentes entre ellos. En esta etapa, la comunicación con ROS se hace exclusivamente a través de la API implementada en la segunda etapa. La cuarta y última etapa consistió en la creación de las visualizaciones para tres mensajes comunes de ROS. Estas visualizaciones son dinámicas, es decir, cambian en tiempo real cuando los mensajes cambian. El presente trabajo presenta primero el estudio previo, explicando las herramientas, lenguajes y funcionalidades que se usarán en el desarrollo. Esta sección también incluye información de herramientas similares existentes, y explica las falencias de éstas y la justificación de la creación de una nueva herramienta. La segunda parte de este trabajo contiene el desarrollo de la herramienta, comenzando por la API, para luego seguir con el grafo general y las visualizaciones. A modo de conclusión, la herramienta creada presenta una manera eficaz y usable de explorar robots creados con ROS, y fue creada de manera modular y extensible, generando algunas visualizaciones de ejemplo. Puede servir como base para un trabajo futuro, que genere más visualizaciones así como también incluya un sistema de inserción de mensajes.
2

El lenguaje de aspectos amistoso Casper

Campusano Araya, Miguel Enrique January 2013 (has links)
Ingeniero Civil en Computación / Mientras los programas se vuelven más complejos, nacen nuevos problemas. Uno de ellos es la poca modularidad que se tiene con las llamadas funcionalidades transversales. Estas funcionalidades están dispersas por toda la aplicación y no pueden separarse mediante el paradigma de la programación orientada a objetos. Para solucionar este problema nace el paradigma de la programación orientada a aspectos. En la programación orientada a aspectos se modularizan las funcionalidades trans- versales en una entidad llamada aspecto. El aspecto se ejecuta donde corresponde gracias a que, conceptualmente, el programa se está monitoreando por el aspecto en toda su ejecución, decidiendo cuando se debe ejecutar una acción provista por el aspecto. La- mentablemente, el monitoreo de la aplicación conlleva a un sobrecosto que, muchas veces, los desarrolladores no están dispuestos a pagar. En este trabajo se presenta Casper, un lenguaje orientado a aspectos construido sobre Pharo Smalltalk. Las características más importantes buscadas por Casper son la simplicidad de uso, la explicitud de lo que sucede con los aspectos y bajar el sobrecosto de la ejecución de los programas que utilicen Casper. Casper basa sus funcionalidades en PHANtom. PHANtom es un lenguaje de aspectos construidos sobre Pharo Smalltalk. Ambos lenguajes tienen sintaxis similares, pero las implementaciones son muy diferentes. Casper busca mejorar los sobrecostos generados al usar PHANtom. Para ello Casper propone compilar las funcionalidades dadas por los aspectos junto con los métodos originales. Gracias a la compilación, Casper expone las funcionalidades al desarrollador, en cambio, PHANtom esconde las funcionalidades y nunca muestra de forma explícita donde se ejecuta una funcionalidad transversal. Se comprobó el uso de Casper refactorizando SPY. SPY es un framework para el aná- lisis dinámico de programas. SPY instrumentaliza los métodos que se quieren analizar. Casper provee la instrumentalización de SPY con aspectos. Se realizaron pruebas sobre SPY versus SPY con Casper versus SPY con PHANtom. Se tomaron los tiempos sobre la preparación de la aplicación misma y lo que demora en ejecutar. Estos resultados comprueban un sobrecosto del uso de aspectos en la aplicación. Sin embargo, también demuestra que la ejecución de la refactorización de SPY con Casper es mucho menos costosa que la refactorización de SPY usando PHANtom.
3

Diseño e Implementación de PHANtom, un Lenguaje de Aspectos para Pharo Smalltalk

Galdames Grünberg, Daniel Andrés January 2011 (has links)
La 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.

Page generated in 0.0169 seconds