Una propuesta para la clasificación de la programación reflexiva orientada al desarrollo de 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.
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).