Computational steering

Computational steering is the practice of manually intervening with an otherwise autonomous computational process, to change its outcome. The term is commonly used within the numerical simulation community, where it more specifically refers to the practice of interactively guiding a computational experiment into some region of interest.

Examples
A simple, but contrived, example of computational steering is:


 * In a simulated chess match with two automated players: manually forcing a certain move at a particular time for one player, to change the evolution of the game.

Some real examples of computational steering are:


 * In a population dynamics simulation: changing selection pressures exerted between hosts and parasites, to examine the effect on their coevolution.


 * In a fluid dynamics simulation: resetting the phase state of an immiscible fluid, to speed the search for its critical separation temperature.

System design
Computational steering systems are a manner of feedback control system, where some or all of the feedback is provided interactively by the operator.

All computational steering mechanisms have three fundamental components:


 * A target system that is being studied
 * A representation of the target system, typically a graphical visualization, that can be perceived by the investigator
 * A set of controls that the investigator can use to provide feedback that modifies the state, behavior, or product of the system being studied

Disambiguation
There appears to be a distinction that the term computational steering is used only when referring to interaction with simulated systems, not operational ones. Further clarification on this point is needed. For example: Vetter (who is apparently well acquainted with the computational steering field ) refers to the following practice as interactive steering.


 * In a grid computing framework: adjusting the cache size of a computational process, to examine the effect on its performance.

Computational steering software

 * SCIRun
 * Cumulvs
 * CSE
 * RealityGrid
 * EStA