Una propuesta para la clasificación de la programación reflexiva orientada al desarrollo de sistemas autónomos
Palabras clave:
Lenguajes reflexivos, metaprogramación, programación autónoma, programación reflexiva, sistemas autónomos.Contenido principal del artículo
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.
Downloads
Los autores que publican en esta revista están de acuerdo con los siguientes términos:
Los autores ceden los derechos patrimoniales a la revista y a la Universidad del Valle sobre los manuscritos aceptados, pero podrán hacer los reusos que consideren pertinentes por motivos profesionales, educativos, académicos o científicos, de acuerdo con los términos de la licencia que otorga la revista a todos sus artículos.
Los artículos serán publicados bajo la licencia Creative Commons 4.0 BY-NC-SA (de atribución, no comercial, sin obras derivadas).