Sceneflows

From IDSwiki
Revision as of 13:59, 20 December 2011 by Birgit Endrass (talk | contribs)

Jump to: navigation, search

IRIS Wiki - Computational Models - Sceneflows

Background

Description

A sceneflow is a hierarchical and concurrent statechart that consists of different types of nodes and edges. A scenenode can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A supernode extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the startnode of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable scoping. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different branching strategies within the sceneflow, such as logical and temporal conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An epsilon edge represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). Timeout edges are used to regulate the temporal flow of a sceneflow's execution and to schedule the playback of scenes and computation steps. A probabilistic edge represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). Probabilistic edges are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A conditional edge represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.

Examples

References