Prism 6.0 User's Guide

The cycle Pset

In debugging a message-passing program, you may often want to look in turn at each process within a pset--for example, to see what the problem is for each process in the error pset. The cycle pset provides you with a convenient way of doing this.

You create a cycle pset out of an existing pset. If the existing pset is dynamic, the cycle pset is statically fixed when you create it. You can then cycle through each process in this pset to examine it in turn.

By default, the cycle pset is equivalent to the current pset. You can set it to some other pset via the define pset command, as described in " Defining Psets". For example,

(prism all) define pset cycle foo

copies foo into the cycle pset.

You can cycle through the processes in the cycle pset as follows:

Clicking on a Cycle arrow does this:

Note that changing the cycle pset erases any previous cycling information. For example, if you do the following:

  1. Make foo the current set and cycle partway through it.

  2. Make bar the current set.

  3. Once again make foo the current set.

    Then you start at the beginning again when you cycle through the members of foo.

  4. From the source-window pop-up menu - Choose Cycle from this menu to advance to the next member of the cycle pset.

Cycle Visualizer Window

MP Prism includes a Cycle window type for visualizing data. When you print a variable's value to the Cycle window, the value changes to that of the variable in the new process whenever you cycle through the members of the cycle pset. For more information, see " Visualizing Multiple Processes in MP Prism".