std::size_t State::interleave_size() const
{
- return boost::range::count_if(this->actor_states_, [](simgrid::mc::ProcessState const& p) { return p.is_todo(); });
+ return boost::range::count_if(this->actor_states_, [](simgrid::mc::ActorState const& a) { return a.is_todo(); });
}
Transition State::get_transition() const
* This can be seen as an iterator returning the next transition of the process.
*
* We only consider the processes that are both
- * - marked "to be interleaved" in their ProcessState (controlled by the checker algorithm).
+ * - marked "to be interleaved" in their ActorState (controlled by the checker algorithm).
* - which simcall can currently be executed (like a comm where the other partner is already known)
* Once we returned the last enabled transition of a process, it is marked done.
*
static inline smx_simcall_t MC_state_get_request_for_process(simgrid::mc::State* state, smx_actor_t actor)
{
/* reset the outgoing transition */
- simgrid::mc::ProcessState* procstate = &state->actor_states_[actor->get_pid()];
+ simgrid::mc::ActorState* procstate = &state->actor_states_[actor->get_pid()];
state->transition_.pid_ = -1;
state->transition_.argument_ = -1;
state->executed_req_.call_ = SIMCALL_NONE;
}
};
-/* On every state, each process has an entry of the following type.
- * This represents both the process and its transition because
- * a process cannot have more than one enabled transition at a given time.
+/* On every state, each actor has an entry of the following type.
+ * This represents both the actor and its transition because
+ * an actor cannot have more than one enabled transition at a given time.
*/
-class ProcessState {
- /* Possible exploration status of a process transition in a state.
- * Either the checker did not consider the transition, or it was considered and to do, or considered and done.
+class ActorState {
+ /* Possible exploration status of a actor transition in a state.
+ * Either the checker did not consider the transition, or it was considered and still to do, or considered and done.
*/
enum class InterleavingType {
/** This actor transition is not considered by the checker (yet?) */
void set_done() { this->state = InterleavingType::done; }
};
-/* A node in the exploration graph (kind-of)
- */
+/* A node in the exploration graph (kind-of) */
class XBT_PRIVATE State {
public:
/** Sequential state number (used for debugging) */
int num_ = 0;
/** State's exploration status by process */
- std::vector<ProcessState> actor_states_;
+ std::vector<ActorState> actor_states_;
Transition transition_;