## Sceneflow, Nodes and SuperNodes
### Sceneflow
The logic of an interactive application in Visual SceneMaker is controlled by a **Sceneflow**.
A Sceneflow is a hierarchical statechart variant specifying the logic and temporal order in which individual scenes are played, commands are executed and user interactions are processed. It consists of different types of **nodes** and **edges**. Nodes can be seen as little code pieces that structure the content of an interactive presentation while edges specify how this content is linked together.
In this section we will go through the different types of nodes defined in the Sceneflow language.
### Nodes
Nodes are also called **Scenenodes** because they represent a state which allows the specification of a command statement to playback Scenes.
A node is graphically represented by a circle which is always labeled with the name of the node and with a unique identifier. Several nodes may have the same name but different identifiers, so that different nodes with the same name refer to different states of the corresponding state machine.
![Alt text](../../images/tutorials/node.png)
Nodes hold scenegroup playback commands or statements specified in a simple scripting language format. These are type definitions and variable definitions, variable assignments, and function calls to predefined functions of the underlying implementation language (e.g. Java functions). A **Start Node** may be a node or a supernode and is always marked with a red filled arrowhead.
![Alt text](../../images/tutorials/nodeCommand.png)
### SuperNodes
A Supernode is graphically represented by a quadrat labeled with a name and with a unique identifier. It extends the functionality of scenenodes by creating a hierarchical structure of Sceneflows.
![Alt text](../../images/tutorials/supernode.png)
A Supernode may enfold a subautomat consisting of an arbitrary number of nodes and other Supernodes which are called Subnodes.
The supernode hierarchy can be used for a scoping of types and variables. Type definitions and variable definitions are inherited to all subnodes of a supernode.
Back to Tutorials Index...