Una propuesta para la clasificación de la programación reflexiva orientada al desarrollo de sistemas autónomos

  • Francisco Moreno Universidad Nacional de Colombia
  • Jovani Jiménez Universidad Nacional de Colombia
  • Sebastián Castañeda Universidad Nacional de Colombia

Resumen

El fin de este trabajo es realizar una clasificación de la reflexión en niveles, con un enfoque orientado a alcanzar la programación autónoma. La reflexión es la capacidad de un programa de conocerse, examinarse y razonar para tomar acciones y modificarse a sí mismo en tiempo de compilación o ejecución. En este artículo, se proponen cuatro niveles de reflexión de acuerdo al grado de conocimiento, capacidad de modificación, tipo de modificaciones, tiempo en que se pueden realizar las modificaciones y la capacidad de razonamiento. Luego se analizan diferentes lenguajes de programación y se clasifican sobre dichos niveles, según la capacidad de reflexión que estos soportan. De cada nivel se presenta un ejemplo y finalmente se realizan una serie de experimentos donde se comparan con versiones equivalentes de programas no reflexivos. Los experimentos mostraron que aunque los programas reflexivos fueron más costosos, en cuanto a tiempo de ejecución y codificación, permiten una gran flexibilidad y más posibilidades para el diseño y desarrollo de aplicaciones. Siendo así la reflexividad el primer paso para llegar a desarrollar sistemas autónomos que puedan simular o igualar los sistemas biológicos.

Como citar
MORENO, Francisco; JIMÉNEZ, Jovani; CASTAÑEDA, Sebastián. Una propuesta para la clasificación de la programación reflexiva orientada al desarrollo de sistemas autónomos. INGENIERÍA Y COMPETITIVIDAD, [S.l.], v. 16, n. 2, p. 91-104, dic. 2014. ISSN 2027-8284. Disponible en: <http://revistaingenieria.univalle.edu.co/index.php/ingenieria_y_competitividad/article/view/3686>. Fecha de acceso: 19 sep. 2017 doi: https://doi.org/10.25100/iyc.v16i2.3686.
Sección
Artículos

Palabras clave

Lenguajes reflexivos, metaprogramación, programación autónoma, programación reflexiva, sistemas autónomos.