+ xbt_assert(state_ == State::INITED, "Cannot change the tracing category of an exec after its start");
+ tracing_category_ = category;
+ return this;
+}
+
+///////////// SEQUENTIAL EXECUTIONS ////////
+ExecSeq::ExecSeq(sg_host_t host, double flops_amount) : Exec(), flops_amount_(flops_amount)
+{
+ Activity::set_remaining(flops_amount_);
+ boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(pimpl_)->set_host(host);
+}
+
+Exec* ExecSeq::start()
+{
+ kernel::actor::simcall([this] {
+ (*boost::static_pointer_cast<kernel::activity::ExecImpl>(pimpl_))
+ .set_name(name_)
+ .set_tracing_category(tracing_category_)
+ .set_sharing_penalty(1. / priority_)
+ .set_bound(bound_)
+ .set_flops_amount(flops_amount_)
+ .start();
+ });
+ state_ = State::STARTED;
+ on_start(*Actor::self(), *this);