85 research outputs found
Contribuciones a la verificación funcional moderna
El incesante desarrollo tecnológico en la industria del silicio y la necesidad de cumplir con tiempos de mercado competitivos han llevado al desarrollo de nuevas técnicas de diseño y verificación funcional. En este trabajo de tesis se presentan diferentes aportes a la verificación funcional moderna partiendo de casos de estudio reales y en donde se plantean diversos problemas a resolver.
El trabajo se divide implícitamente en dos partes: La primera, se enfoca en realizar aportes a la verificación funcional proponiendo métodos para generación de entradas, chequeo de salidas y evaluación de cobertura funcional en diseños. En particular, se considera como caso de estudio la verificación funcional de unidades aritméticas sustentándose en la utilización y desarrollo de los frameworks para verificación funcional OVM y Teal and Truss. Del análisis y desarrollo se obtiene un conjunto de reglas para la generación aleatoria de casos de prueba para la verificación de unidades de punto flotante. Además, se realiza la evaluación de, no solo el comportamiento de los frameworks propuestos, sino también se analizan parámetros de calidad como su usabilidad, extensibilidad y nivel de abstracción. Como aporte se describen los pasos para diseñar e implementar monitores de verificación aplicables a diversos dominios. El monitor presentado, no sólo realiza el chequeo de resultados comparados con modelos de referencia, sino que además realiza el análisis de cobertura considerando los casos ejercitados. En la evaluación de los frameworks se verifican dos diseños diferentes de unidades aritméticas donde al menos se detectan dos errores en casos no considerados por parte del diseñador.
La segunda parte del trabajo propone un nuevo enfoque para la verificación funcional. El enfoque propuesto parte del hecho que las pruebas orientadas a la verificación deben realizarse indefectiblemente en todo proyecto y propone preparar a los entornos de verificación de manera tal que sus resultados sean de utilidad para el diseñador. Como caso de estudio se presenta la verificación de un modelo digital de un convertidor de potencia para emulación HIL (Hardware in the Loop). En particular, se hace énfasis en la aceleración obtenida al utilizar las técnicas de HIL en la verificación de diseños analógicos-digitales. Continuando con la línea de aritmética presentada en la primera sección, primero se compara el comportamiento de un modelo que utiliza punto fijo para la representación de variables de estado con otro que utiliza representación en punto flotante. La evaluación se realiza considerando diversos escenarios representativos y reales donde se aplicaría el convertidor. Luego de comprobar la funcionalidad del convertidor utilizando técnicas descritas en la primer parte de la tesis, se utilizan los resultados recopilados para el análisis de resolución de dos variables de estados en el modelo de convertidor de punto fijo. La motivación principal de este análisis es que partiendo de resoluciones ´optimas es posible obtener modelos que minimizan el ´área ocupada en el diseño final y la máxima velocidad de reloj del circuito. A partir de los resultados obtenidos, el diseñador puede apreciar que el aumento de resolución a partir de cierto umbral solo incrementa el área utilizada y reduce la frecuencia de reloj sin obtener mejoras significativas en la precisión. Para el caso de estudio evaluado, es posible apreciar que existe un pequeño intervalo de resolución crítico de las variables de estado donde los errores se reducen drásticamente a cero, sin reducción de la performance o aumentar el consumo de área. Si bien en este trabajo, los resultados completos de las pruebas se presentan en un apéndice, el enfoque propuesto resume un gran volumen de información en gráficas de rápida interpretación por parte del diseñador.Facultad de Informátic
Control de navegación híbrido sobre robótica evolutiva
En este trabajo se presenta un sistema de control híbrido para navegación robótica. El sistema combina el enfoque clásico de control mediante campos potenciales [1] como control deliberativo y la metodología de la robótica evolutiva para el control reactivo. La coordinación entre ambos es lograda mediante el uso de un neuro-controlador genéticamente evolucionado. Este es entrenado dentro de un entorno conocido a priori pero dinámico, situación que provoca que la coordinación deba ser ajustada en cada situación. Dicho ajuste se justifica ya que dentro de en un ambiente conocido, el controlador reactivo debe ser quien guíe al robot mientras que en uno estático el robot tiene un camino planificado hacia el objetivo y representado en un campo potencial. El sistema es desarrollado y probado dentro de un entorno simulado. Las pruebas realizadas usando dicha combinación muestran una navegación segura dentro de todo el ambiente. El desconocimiento a priori de caminos en ciertos sectores no resulta un problema en la navegación, situación que afirma lo expuesto en [1] y satisface los objetivos del presente trabajoRed de Universidades con Carreras en Informática (RedUNCI
Control de navegación híbrido sobre robótica evolutiva
En este trabajo se presenta un sistema de control híbrido para navegación robótica. El sistema combina el enfoque clásico de control mediante campos potenciales [1] como control deliberativo y la metodología de la robótica evolutiva para el control reactivo. La coordinación entre ambos es lograda mediante el uso de un neuro-controlador genéticamente evolucionado. Este es entrenado dentro de un entorno conocido a priori pero dinámico, situación que provoca que la coordinación deba ser ajustada en cada situación. Dicho ajuste se justifica ya que dentro de en un ambiente conocido, el controlador reactivo debe ser quien guíe al robot mientras que en uno estático el robot tiene un camino planificado hacia el objetivo y representado en un campo potencial. El sistema es desarrollado y probado dentro de un entorno simulado. Las pruebas realizadas usando dicha combinación muestran una navegación segura dentro de todo el ambiente. El desconocimiento a priori de caminos en ciertos sectores no resulta un problema en la navegación, situación que afirma lo expuesto en [1] y satisface los objetivos del presente trabajoRed de Universidades con Carreras en Informática (RedUNCI
SOL: Un Ambiente de Programación
En este trabajo se describen las características de un ambiente de concepción de programas desarrollado a través de diferentes implementaciones y aplicaciones de la metodología a lo largo de los últimos años (1),(2). En el trabajo se detallan las características del ambiente programado en DELPHI y orientado a la programación en PASCAL.
La idea central consiste en brindar un lenguaje para el programador, que refleje la metodología de concepción de ideas, más que un lenguaje estándar para programar donde finalmente será escrito el problema a resolver.
En este modelo la estructura de control de un programa se define separadamente del resto de las instrucciones del lenguaje de programación, y es modelada a su vez por el comportamiento de una jerarquía de autómatas finitos.
El enunciado inicial de un problema puede concebírselo como un autómata de un solo estado. A cada estado podrá corresponderle hasta dos próximos estados acorde a la evaluación lógica de una condición (si existe) al final de su tarea.
A partir de aquí y en forma recursiva se analiza si un estado particular puede ser sintetizado directamente por el lenguaje de programación disponible. En tal caso la descomposición se detiene, sino el comportamiento del estado particular se descompone en un nuevo autómata en un nivel inferior. Y así sucesivamente en un número finito de pasos se arribará a que todos los estados del autómata (jerarquía de autómatas) pueden ser sintetizados "razonablemente bien" por instrucciones del lenguaje de programación disponible.
La idea de concebir programas mediante este lenguaje (o metodología) resulta de interés como medio unificado de programación, ya que la descripción de la solución de un problema puede plantearse con cierto grado de independencia del lenguaje final a utilizar (paradigma imperativo) y por consiguiente puede permitir la reutilización y portabilidad de programas más eficientemente.Eje: Tecnología Informática aplicada en Educación (TIE)Red de Universidades con Carreras en Informática (RedUNCI
INCA-Tracker: Desarrollo de un sistema de vigilancia y supervisión de flotas
En el presente trabajo se describe un desarrollo en el que involucra diseño de hardware y software para el rastreo con supervisión de vehículos. Se utilizan la red GSM existentes en el territorio nacional para la comunicación entre un nodo base (fijo o móvil) y los nodos móviles. El vínculo entre ambos es bidireccional, permitiendo a la unidad móvil reportar posiciones de manera autónoma, así como ser comandada desde la base. El desarrollo es incremental y el primer prototipo completamente funcional es alcanzado a los seis meses de su inicio con resultados satisfactorios.Eje: Arquitectura, Redes y Sistemas OperativosRed de Universidades con Carreras en Informática (RedUNCI
INCA-Tracker: Desarrollo de un sistema de vigilancia y supervisión de flotas
En el presente trabajo se describe un desarrollo en el que involucra diseño de hardware y software para el rastreo con supervisión de vehículos. Se utilizan la red GSM existentes en el territorio nacional para la comunicación entre un nodo base (fijo o móvil) y los nodos móviles. El vínculo entre ambos es bidireccional, permitiendo a la unidad móvil reportar posiciones de manera autónoma, así como ser comandada desde la base. El desarrollo es incremental y el primer prototipo completamente funcional es alcanzado a los seis meses de su inicio con resultados satisfactorios.Eje: Arquitectura, Redes y Sistemas OperativosRed de Universidades con Carreras en Informática (RedUNCI
SOL: Un Ambiente de Programación
En este trabajo se describen las características de un ambiente de concepción de programas desarrollado a través de diferentes implementaciones y aplicaciones de la metodología a lo largo de los últimos años (1),(2). En el trabajo se detallan las características del ambiente programado en DELPHI y orientado a la programación en PASCAL.
La idea central consiste en brindar un lenguaje para el programador, que refleje la metodología de concepción de ideas, más que un lenguaje estándar para programar donde finalmente será escrito el problema a resolver.
En este modelo la estructura de control de un programa se define separadamente del resto de las instrucciones del lenguaje de programación, y es modelada a su vez por el comportamiento de una jerarquía de autómatas finitos.
El enunciado inicial de un problema puede concebírselo como un autómata de un solo estado. A cada estado podrá corresponderle hasta dos próximos estados acorde a la evaluación lógica de una condición (si existe) al final de su tarea.
A partir de aquí y en forma recursiva se analiza si un estado particular puede ser sintetizado directamente por el lenguaje de programación disponible. En tal caso la descomposición se detiene, sino el comportamiento del estado particular se descompone en un nuevo autómata en un nivel inferior. Y así sucesivamente en un número finito de pasos se arribará a que todos los estados del autómata (jerarquía de autómatas) pueden ser sintetizados "razonablemente bien" por instrucciones del lenguaje de programación disponible.
La idea de concebir programas mediante este lenguaje (o metodología) resulta de interés como medio unificado de programación, ya que la descripción de la solución de un problema puede plantearse con cierto grado de independencia del lenguaje final a utilizar (paradigma imperativo) y por consiguiente puede permitir la reutilización y portabilidad de programas más eficientemente.Eje: Tecnología Informática aplicada en Educación (TIE)Red de Universidades con Carreras en Informática (RedUNCI
Neuro-Controllers, scalability and adaptation
A Layered Evolution (LE) paradigm based method for the generation of a neuron-controller is developed and verified through simulations and experimentally. It is intended to solve scalability issues in systems with many behavioral modules. Each and every module is a genetically evolved neuro-controller specialized in performing a different task. The main goal is to reach a combination of different basic behavioral elements using different artificial neural-network paradigms concerning mobile robot navigation in an unknown environment. The obtained controller is evaluated over different scenarios in a structured environment, ranging from a detailed simulation model to a real experiment. Finally most important implies are shown through several focuses
Neuro-Controllers, scalability and adaptation
A Layered Evolution (LE) paradigm based method for the generation of a neuron-controller is developed and verified through simulations and experimentally. It is intended to solve scalability issues in systems with many behavioral modules. Each and every module is a genetically evolved neuro-controller specialized in performing a different task. The main goal is to reach a combination of different basic behavioral elements using different artificial neural-network paradigms concerning mobile robot navigation in an unknown environment. The obtained controller is evaluated over different scenarios in a structured environment, ranging from a detailed simulation model to a real experiment. Finally most important implies are shown through several focuses.Red de Universidades con Carreras en Informática (RedUNCI
Checkers Game, un agente de software para jugar a las damas
En la era digital la inclusión de las nuevas tecnologías de la información y la comunicación en el ámbito educativo tienen un impacto significativo en el desarrollo del aprendizaje de los estudiantes y en el fortalecimiento de sus competencias favoreciendo su inserción en la sociedad. La educación entonces enfrenta importantes desafíos, la inclusión de áreas de conocimiento como programación y robótica resultan elementales en la formación de profesionales del futuro. Estas áreas de conocimiento involucran que los alumnos adquieran ciertas habilidades y capacidades como: resolución de problemas, nivel de abstracción, atención, concentración, etc. Este trabajo propone la implementación de un agente de software para jugar a las damas como herramienta base para incentivar las áreas de programación, robótica y visión artificial. El entorno propuesto permite conocer y comprender conceptos básicos de cada temática y la forma en que ´estas se relacionan, así como experimentar nuevas alternativas.VII Workshop Innovación en Educación en Informática (WIEI)Red de Universidades con Carreras en Informática (RedUNCI
- …