+ const auto* cast_strategy = dynamic_cast<BasicStrategy const*>(strategy);
+ xbt_assert(cast_strategy != nullptr);
+ depth_ = cast_strategy->depth_ - 1;
+ if (depth_ <= 0) {
+ XBT_CERROR(mc_dfs,
+ "The exploration reached a depth greater than %d. Change the depth limit with "
+ "--cfg=model-check/max-depth. Here are the 100 first trace elements",
+ _sg_mc_max_depth.get());
+ auto trace = Exploration::get_instance()->get_textual_trace(100);
+ for (auto const& elm : trace)
+ XBT_CERROR(mc_dfs, " %s", elm.c_str());
+ xbt_die("Aborting now.");
+ }
+ }
+ BasicStrategy() = default;
+ ~BasicStrategy() override = default;
+
+ std::pair<aid_t, int> best_transition(bool must_be_todo) const override {