ASL - Lenguaje de Esquemas Abstracto
La Teoría de Esquemas (Arbib 1992) busca definir aspectos
de los comportamientos animales. Varios sistemas de simulación
han sido desarrollados en diferentes dominios de aplicación.
- En el dominio robótico, RS, Esquemas Robóticos
(Lyons and Arbib 1989), basados en autómata de puertos,
ha servido como base para la simulación de sistemas robóticos
altamente estructurados, donde las características principales
de RS son su naturaleza estática y síncrona, y su
noción de ensamblajes de esquemas como base para la composición.
En el dominio de visión por computadora, VISIONS (Draper
et al. 1989), basado en una arquitectura de pizarrón distribuida,
ha servido como base para aplicaciones de comprensión de
imágenes, donde las características principales
de VISIONS son su naturaleza dinámica y asíncrona,
y también su noción de ensamblajes como base para
lo composición.
- Estos sistemas tienen ciertas limitaciones, como que RS está
demasiado restringida por su naturaleza estática, mientras
que VISIONS se basa en una arquitectura particular restringiendo
su utilización en otros dominios. Además, ni RS
ni VISIONS incluyen características para integrar procesamiento
de redes neuronales.
Para sobreponerse a estas restricciones, se diseño ASL (Abstract
Schema Language) en base a estos dos sistemas, añadiendo
nuevas características como una arquitectura general basada
en la programación orientada a objetos concurrentes, e integración
a redes neuronales
- ASL representa un esquema como un "template" del cual
muchas instancias pueden ser creadas de manera similar a la de
los sistemas orientados a objetos (Wegner 1990). ASL incorpora
aspectos de la programación orientada a objetos concurrentes,
y se implementa utilizando dicha tecnología. ASL utiliza
un modelo jerárquico, permitiendo diseños de arriba
hacia abajo y de abajo hacia arriba, apoyado por un lenguaje concurrente
que permite una implementación distribuida, a demás
de integrarse con redes neuronales. Otras características
de ASL son su naturaleza dinámica y asíncrona, y
la inclusión de ensamblajes de esquemas dinámicos
como base para la composición. Un esquema describe, de
acuerdo a su comportamiento, cómo las instancias de un
esquema responderán a comunicaciones externas. Cada instancia
de un esquema cuenta con un conjunto de múltiples puertos
de entrada y salida a través de los cuales la comunicación
toma lugar. Un ensamblaje de esquemas, la base para agregación,
es una red de instancias de esquemas, y puede considerarse un
esquema para su procesamiento. Como un esquema puede ser descompuesto
en cualquier número de "sub-esquemas", pudieran
haber virtualmente cualquier número de niveles de abstracción.
Algunos de los aspectos más importantes introducidos en
ASL:
- Delegación: La implementación de esquemas
puede hacerse de manera dinámica, por medio del lenguaje
de alto nivel de ASL, por ejemplo, a redes neuronales.
- "Wrapping": Código previamente definido
puede ligarse estáticamente dentro de un esquema.
- Heterogeneidad: Incorporación de dos conceptos
distintos de programación, procesamiento neuronal y procesamiento
procedural, en un sólo modelo
Encapsulación: Una instancia de un esquema incluye una
interfaz pública mientras que todos los datos y su implementación
están ocultas, ofreciendo flexibilidad y extensibilidad
dado que cambios locales a su estructura e implementación
no afectan su interacción con otros esquemas. Más
aún, la abstracción de comunicación de los
puertos de entrada y salida permite un entorno donde los esquemas
pueden diseñarse independientemente sin conocer la arquitectura
particular donde estos posteriormente ejecutarán.
- Reusabilidad: Siguiendo las abstracciones orientadas
a objetos, tales como herencia, la definición de esquemas
como "templates" compartidos de donde ocurre la instanciación
de esquemas, permite su reusabilidad en nuevas definiciones de
esquemas.
Una meta actual de desarrollo es integrar ASL y NSL
- Lenguaje de Simulación Neuronal en un sólo ambiente
de simulación como un paso necesario para poder desarrollar
modelos más complejos, basados en redes neuronales e inspirados
por sistemas biológicos.
|