# Concepts

Cette page présente les concepts importants pour comprendre Aseba.

# Nœud

Dans Aseba, il peut y avoir plusieurs robots ou un robot avec plusieurs processors fonctionnant dans le même réseau. Ce réseau peut être logiciel (TCP), matériel (CAN), ou une combinaison des deux. Chaque processeur d'un réseau Aseba, appelé nœud, fait tourner une petite machine virtuelle. Chaque nœud possède son propre onglet dans Aseba Studio, ce qui vous permet de le programmer indépendamment des autres nœuds. Les nœuds communiquent ensemble à travers des événements.

# Événement

Aseba est une architecture basée sur des événements, c'est à dire que des événements déclenchent l'exécution du code de façon asynchrone. Les événements ont un identificateur et transportent optionnellement des données. Les nœuds s'échangent des événements à l'intérieur d'un réseau Aseba. De plus, les événements peuvent être internes à un nœud, par exemple émis par un capteur qui possède un valeur nouvellement acquise. La réception d'un événement exécute, si défini, le bloc de code correspondant. Un script peut aussi envoyer des événements, ce qui lui permet de déclencher l'exécution de code sur un autre nœud ou de communiquer avec un programme externe. Afin de permettre l'exécution du code lors de la réception d'un nouvel événement, aucun script ne doit bloquer et donc les scripts ne doivent pas contenir de boucle infinie. Par exemple dans le contexte de la robotique, où un programme de contrôle de robot traditionnel travaillerait à l'intérieur d'une boucle infinie, un script Aseba ferait simplement le travail lors d'un événement lié aux capteurs.

# Que lire ensuite ?

Les pages suivantes peuvent vous intéresser :

- Documentation de Studio, l'environnement de développement intégré
- Description du langage de programmation d'Aseba
- Description de la bibliothèque standard de fonctions natives