+ //check if task container is already created
+ if (!xbt_dict_get_or_null (task_containers, alias)){
+ pajeCreateContainer (MSG_get_clock(), alias, "TASK", container, name);
+ xbt_dict_set (task_containers, xbt_strdup(alias), xbt_strdup("1"), xbt_free);
+ }
+}
+
+void __TRACE_task_location_present (m_task_t task)
+{
+ if (!IS_TRACING_TASKS) return;
+ //updating presence state of this task location
+ m_process_t process = MSG_process_self();
+ m_host_t host = MSG_process_get_host (process);
+
+ char alias[200];
+ TRACE_task_alias_container (task, process, host, alias, 200);
+ pajePushState (MSG_get_clock(), "presence", alias, "presence");
+}
+
+void __TRACE_task_location_not_present (m_task_t task)
+{
+ if (!IS_TRACING_TASKS) return;
+ //updating presence state of this task location
+ m_process_t process = MSG_process_self();
+ m_host_t host = MSG_process_get_host (process);
+
+ char alias[200];
+ TRACE_task_alias_container (task, process, host, alias, 200);
+ pajePopState (MSG_get_clock(), "presence", alias);