# Aseba Studio

Aseba Studio is an integrated development environment within which we edit and debug the scripts of all nodes of an Aseba network.

# Discover the environment

## 1. Concurrent editing

Within Studio, each node of an Aseba network has its own tab with its script, memory content, execution status, and debugging commands. In addition, a toolbar provides general commands which affect all the nodes. This allows both an overall control of the network and a specific control of each node.

## 2. Powerful editor

The script editor provides syntax highlighting, indentation of blocks, and dragging of variables' names from memory. It also shows the current position of execution in step by step mode and colours errors in red.

## 3. Instant compilation

Studio recompiles the script while the developer is typing it. The result of compilation (success or a description of the error) is displayed below the editor. This permits the correction of errors as soon as they appear, which increases the quality of the code.

## 4. Data inspection

Studio lists the variables available on each node with their values. We can update this list in a single click. This list provides a quick overview of the state of the node.

## 5. Debugger

Studio has an integrated debugger; for each node, it gives the current execution status. It supports continuous execution, step by step, and breakpoints. A right click inside the script editor allows to set or clear a breakpoint on a specific line. After a breakpoint or a step, the values of the variables are updated.

## 6. Constants definition

We can define constants which are available on all the nodes.

## 7. Network-wide events

We can specify the names of the events, and by double-clicking on a name, we can send the corresponding event. Below the list of event names, a log shows the recent events along with their time stamps and parameters. This allows the monitoring of the distributed behaviour in the network.

## 8. Local events and native functions

Studio shows the local events available on each node. It also lists its native functions. The tool-tip of each function gives a short documentation.

# Tips

## 1. Save time

You can drag the names of variables, native functions, events, and constants and thus save typing.

## 2. Get help

The `Help` menu of Studio gives instant access to this documentation and to the documentation of the Aseba programming language.

# What to read next?

You might be interested to read:

- Description of the Aseba language
- Description of the native functions standard library