// Find an enabled transition to pick
for (const auto& [_, actor] : get_actors_list()) {
if (actor.is_enabled()) {
- // For each variant of the transition, we want
- // to insert the action into the tree. This ensures
- // that all variants are searched
+ // For each variant of the transition that is enabled, we want to insert the action into the tree.
+ // This ensures that all variants are searched
for (unsigned times = 0; times < actor.get_max_considered(); ++times) {
wakeup_tree_.insert(prior, odpor::PartialExecution{actor.get_transition(times)});
}
void State::sprout_tree_from_parent_state()
{
- XBT_DEBUG("Initializing Wut with parent one:");
- XBT_DEBUG("\n%s", parent_state_->wakeup_tree_.string_of_whole_tree().c_str());
+ XBT_DEBUG("Initializing Wut with parent one:");
+ XBT_DEBUG("\n%s", parent_state_->wakeup_tree_.string_of_whole_tree().c_str());
-
xbt_assert(parent_state_ != nullptr, "Attempting to construct a wakeup tree for the root state "
"(or what appears to be, rather for state without a parent defined)");
const auto min_process_node = parent_state_->wakeup_tree_.get_min_single_process_node();
wakeup_tree_.remove_min_single_process_subtree();
}
+void State::remove_subtree_at_aid(const aid_t proc)
+{
+ wakeup_tree_.remove_subtree_at_aid(proc);
+}
+
odpor::WakeupTree::InsertionResult State::insert_into_wakeup_tree(const odpor::PartialExecution& pe,
const odpor::Execution& E)
{