-std::string MutexUnlockSimcall::to_string(int times_considered) const
-{
- return SimcallObserver::to_string(times_considered) + "Mutex UNLOCK";
-}
-
-std::string MutexUnlockSimcall::dot_label(int times_considered) const
-{
- return SimcallObserver::dot_label(times_considered) + "Mutex UNLOCK";
-}
-
-std::string MutexLockSimcall::to_string(int times_considered) const
-{
- auto mutex = get_mutex();
- std::string res = SimcallObserver::to_string(times_considered) + (blocking_ ? "Mutex LOCK" : "Mutex TRYLOCK");
- res += "(locked = " + std::to_string(mutex->is_locked());
- res += ", owner = " + std::to_string(mutex->get_owner() ? mutex->get_owner()->get_pid() : -1);
- res += ", sleeping = n/a)";
- return res;
-}
-
-std::string MutexLockSimcall::dot_label(int times_considered) const
-{
- return SimcallObserver::dot_label(times_considered) + (blocking_ ? "Mutex LOCK" : "Mutex TRYLOCK");
-}
-
-bool MutexLockSimcall::is_enabled() const
-{
- return not blocking_ || get_mutex()->get_owner() == nullptr || get_mutex()->get_owner() == get_issuer();
-}
-
-std::string ConditionWaitSimcall::to_string(int times_considered) const
-{
- std::string res = SimcallObserver::to_string(times_considered) + "Condition WAIT";
- res += "(" + (timeout_ == -1.0 ? "" : std::to_string(timeout_)) + ")";
- return res;
-}
-
-std::string ConditionWaitSimcall::dot_label(int times_considered) const
-{
- return SimcallObserver::dot_label(times_considered) + "Condition WAIT";
-}
-
-bool ConditionWaitSimcall::is_enabled() const