[Butia-devel-list] [defensa pública de proyecto de grado] Willie: Programación funcional reactiva para robots con bajas capacidades de cómputo

Andres Aguirre aaguirre en fing.edu.uy
Vie Dic 18 10:00:16 UYT 2015


Hola, hoy 10:30 Guillermo Pacheco va a defender su proyecto de grado:

"El proyecto consiste en la creación de un lenguaje de programación para ro-
bots, cuyas capacidades de cómputo son limitadas. Para esto se escogió el
paradigma de Programación Funcional Reactiva (FRP ) el cual permite
expresar naturalmente reacciones a valores que varían en función del tiempo.
El objetivo es utilizarlo con fines educativos, por lo tanto debe ser simple
y fácil de usar por usuarios inexpertos, no familiarizados con la
electrónica
ni la informática.
Para resolver el problema, el mismo se dividi ́o en tres etapas. La primera
consistió en la definición del lenguaje Willie de alto nivel funcional y
reactivo.
Luego se definió el lenguaje Alf de bajo nivel (Bytecode) más simple de
interpretar y se implement ́o usando el lenguaje Haskell un compilador que
traduce un programa Willie al lenguaje Alf.
La última etapa consiste en crear una máquina virtual, que sea capaz de
interpretar el lenguaje Alf. Por cada plataforma objetivo, es posible reali-
zar una implementación de la máquina, lo que permite ejecutar un mismo
programa en alto nivel en diferentes plataformas.
El diseño de la máquina consiste de un núcleo común capaz de interpretar
instrucciones, y módulos bien definidos de entrada/salida los cuáles varían
de una plataforma a otra. Esto permite mayor portabilidad y extensibilidad.
Debe ser posible ejecutar programas en dicho lenguaje dentro de plataformas
de hardware reducido. Considerando esto, el lenguaje de programación
elegido para la implementación de la máquina virtual es C/C++.
De esta forma se creó un lenguaje reactivo con las características deseadas
y se codificó una máquina virtual que permite su ejecución en una
arquitectura objetivo deseada.
Las implementaciones tanto de la máquina virtual como del compilador
son fáciles de mantener, portables y al ser modulares cuentan con la
flexibi-
lidad necesaria para garantizar su extensibilidad."

Más información en:
https://github.com/guillep19/frob/blob/77a9519a4c875c53786506cc252f38c624864500/report/Informe.pdf
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://www.fing.edu.uy/pipermail/butia-devel-l/attachments/20151218/ae405330/attachment.html>


Más información sobre la lista de distribución Butia-devel-l