A collection of configurations
Can t's operation return?
Try to fire t's operation if it produces the expected value (non-destructive).
Try to fire t's operation if it produces the expected value (non-destructive). Pre: t has a pending operation.
Either the new configuration (if successful) or the result produced (otherwise).
Try to return t's operation, firing it if it hasn't already been fired and produces the expected value (non-destructive).
Try to return t's operation, firing it if it hasn't already been fired and produces the expected value (non-destructive). Pre: thread t is in either a Pending or Ret state
Either the new configuration (if successful) or the result produced (otherwise).
Does t have a pending operation?
Log that op is invoked upon this configuration (destructive).
Create new configuration corresponding to op being invoked by t.
Create new configuration corresponding to op being invoked by t. (Non-destructive.)
Create new configurations caused by firing any pending operations from this, then logging t returning result; t should be the last fired, or no operations should be fired if t has already been fired.
Create new configurations caused by firing any pending operations from this, then logging t returning result; t should be the last fired, or no operations should be fired if t has already been fired. Add all such to configs. (Destructive.)
Create new configurations caused by firing any pending operations from this, then logging t returning result; t should be the last fired, or no operations should be fired if t has already been fired.
Create new configurations caused by firing any pending operations from this, then logging t returning result; t should be the last fired, or no operations should be fired if t has already been fired. (Non-destructive.)
A configuration of the testing automaton in the Linear Tester.