-
Notifications
You must be signed in to change notification settings - Fork 3
Program evaluation
We've enabled three different modes for controlling the evaluation of a program in a debugging session.
The manual mode is meant to perform step-by-step evaluations.
To use this mode, just type the Pid (or Message Id) in the Pid/MsgId
text box, then choose any of the fireable rules.
The fireable rule buttons are shown below the Pid/MsgId
text box, and updated accordingly to the value of the identifier.
- For processes, the
Pid
appears in the header of the process. - For messages, the
MsgId
is highlighted in different colours.
The automatic mode is meant to evaluate programs in a fast manner.
- Introduce a number of steps
N
in theSteps
text box. - Push the
Forward
or theBackward
button.
N
evaluation steps will be performed in the chosen direction.
The Normalize
button performs automatic evaluations in the forward direction (note that the steps value is not used here).
Basically, CauDEr ignores any actions related to scheduling messages when performing a normalizing evaluation. Hence, the evaluation stops when:
- The only possible actions are scheduling messages.
- The evaluation has been completed.
The rollback mode allows you to automatically undo all the actions (in a causal-consistent way) up to a particular action.
The available rollback commands are:
- Roll: Undo
Steps
steps in processPid
. - Roll spawn: Undo the spawn of process
Pid
. - Roll send: Undo the sending of message
MsgId
. - Roll receive: Undo the receiving of message
MsgId
. - Roll var: Undo the binding of variable
Name
.
In order to keep causal consistency, a rollback may propagate itself to other dependent processes. The Roll Log
tab is automatically focused in case the rollback is propagated.