**6. The butterfly effect**

Interesting metaphors may be adopted from science fiction works. Thus, a time machine metaphor and a butterfly effect metaphor were used in a project of an environment for adjusting parallel programs dealing with software visualization systems [31].

One may consider time as an axis that is analogous to traditional spatial axes. And the event stream may be depicted along this axis. Any change in this stream may break the whole chain of cause-and-effect relations. In this case, the idea of traveling in time in both directions seems to be natural. One may consider a set of parallel processes as consistent streams of events flowing and changing along this time axis. In this case, effects of an event in the process cause a reaction, affecting both the process in which it has occurred and other processes. It is possible to correct errors by going back in time along the axis and interfering with the sequence of events at the moment. This approach can be described as the "time machine"

*Sources of Computer Metaphors for Visualization and Human-Computer Interaction DOI: http://dx.doi.org/10.5772/intechopen.89973*

metaphor. Note that the use of the time machine metaphor does not require any knowledge of the source (science fiction novels). We have developed a prototype of a visualization component for a parallel process control and representation system. This system can be used for debugging parallel programs. We use 3D imagery to visualize processes. Processes are represented by color cylinders connected with each other by thin "threads" (similarly to visual representations in the VisuaLinda system [32]). Globules representing data move along these threads. The states of processes are depicted by colors. A user may navigate along the time axis and change the processes'states. The time machine metaphor may be considered similar to a traditional record player metaphor. However, in the case of a time machine, there is a possibility of event changes described by the well-known butterfly effect metaphor, which is connected with the situation when a small change of initial conditions causes significant and often unpredictable effects.

A time machine metaphor seemed promising for software visualization of parallel computing. However, after analyzing its implementation, this impression may change. In this case further development of fully fledged debugging and visualization facilities for parallel programs is needed, for example, trapping events, online visualization, and other tools similar to those implemented in the debuggers of the 1990s, such as [33, 34]. These metaphors may also be applied in the systems of software visualization based on virtual reality [31].
