# Concetti base

Questa pagina presenta concetti importanti da comprendere quando si legge la documentazione di Aseba.

# Nodi

In Aseba, ci possono essere diversi robot o robot con unità centrali di processamento multiple in esecuzione sulla stessa rete.
Questa rete può essere software (TCP), hardware (CAN), o un misto di entrambe. Ciascun processore nella rete esegue una piccola macchina virtuale ed è chiamato nodo. Ciascun nodo ha il suo proprio tab in Aseba Studio, consentendo di programmare indipendentemente ciascun nodo, ma con possibili interazioni attraverso gli eventi.

# Eventi

Aseba è un ambiente di programmazione ad eventi, il che significa che gli eventi scatenano l'esecuzione del codice ad essi associato in maniera totalmente asincrona. Gli eventi hanno un identificatore e un "carico utile" opzionale (informazioni associate all'evento che possono essewre lette dal codice). I nodi Aseba nodes possono scambiare eventi e questi possono essere di due tipi.

- Gli eventi che i nodi Aseba scambiano nella rete Aseba sono chiamati eventi globali.
- Gli eventi che sono interni ad un nodo sono chiamati eventi locali. Un esempio di eventi locali sono quelli emessi da un sensore che fornisce un aggiornamento sui dati.

Se è stato definito del codice in grado di gestire un evento, questo viene esguito quando il corrispondente evento viene riconosciuto.
Il codice può anche emettere eventi, che possono scatenare l'esecuzione di codice di un altro nodo o abilitare la comunicazione verso un programma esterno. Per avviare l'esecuzione del codice relativo quando viene emesso un evento, gli script non devono essere bloccanti e quindi non devono contenere loop infiniti.Per esempio nel contesto della robotica là dove tradizionalmente il programma di controllo avrebbe eseguito un qualche processamento all'interno di un loop infinito, uno script Aseba esegue il processamento all'interno del codice legato a un evento generato da un sensore.

# Cosa leggere ora?

Potreste essere interessati a leggere:

- Documentazione sull'ambiente integrato di sviluppo Aseba Studio
- Descrizione del linguaggio Aseba
- Descrizione della libreria standard delle funzioni native