# Conceptos básicos

Esta página define algunos conceptos que debes entender antes de aprender ASEBA.

# Nodo

En ASEBA puede haber uno o varios robots, cada uno con uno o más procesadores interactuando en la misma red. La red puede ser de software (TCP), hardware (CAN), o una mezcla entre ambas. cada procesador de la red, ejecuta una pequeña máquina virtual llamada nodo. En Aseba Studio, cada nodo puede ser programado independientemente (a través de su respectiva pestaña), pero también puede interactuar por medio de eventos.

# Evento

ASEBA es una arquitectura de programación dirigida por eventos, lo que significa que un evento desencadena la ejecución de un bloque de código de manera no sincrónica. Los eventos se etiquetan con un identificador, pero también pueden contener información (datos). Los nodos ASEBA pueden intercambiar eventos que pueden ser de dos tipos:

- eventos globales, que son los eventos que los nodos ASEBA intercambian dentro de una red ASEBA; y
- eventos locales, que son los eventos al interior de cada nodo. Un ejemplo de evento local es aquel generado por la actualización de datos provenientes de un sensor.

La realización de un evento ejecuta, si se definió, el bloque de código correspondiente. También se pueden generar eventos desde el código, lo que permite ejecutar código en otro nodo o comunicarse con un programa externo. Para permitir la ejecución de un determinado código cuando se genera un evento, las instrucciones no se deben bloquear ni contener ciclos infinitos. En el contexto de la robótica, los tradicionales programas de control ejecutan procesos dentro de un ciclo infinito; en ASEBA, los procesos se ejecutan al interior de eventos vinculados a sensores.

# Qué más puedo leer ahora?

Con seguridad te interesará consultar:

- Documentación del entorno integrado de desarrollo
- Descripción del lenguaje Aseba
- Descripción de la librería estándar de funciones nativas