+/** \brief Creates a new sleep SIMIX action.
+ *
+ * This function creates a SURF action and allocates the data necessary to create the SIMIX action. It can raise a host_error exception if the host crashed. The default SIMIX name of the action is "sleep".
+ * \param host SIMIX host where the sleep will run.
+ * \param duration Time duration of the sleep.
+ * \return A new SIMIX action
+ * */
+smx_action_t SIMIX_action_sleep(smx_host_t host, double duration)
+{
+ char name[] = "sleep";
+
+ /* check if the host is active */
+ if ( surf_workstation_resource->extension_public->get_state(host->simdata->host)!=SURF_CPU_ON) {
+ THROW1(host_error,0,"Host %s failed, you cannot call this function",host->name);
+ }
+
+ /* alloc structures */
+ smx_action_t act = xbt_new0(s_smx_action_t,1);
+ act->simdata = xbt_new0(s_smx_simdata_action_t,1);
+ smx_simdata_action_t simdata = act->simdata;
+ act->cond_list = xbt_fifo_new();
+
+ /* initialize them */
+ simdata->source = host;
+ act->name = xbt_strdup(name);
+
+ simdata->surf_action = surf_workstation_resource->extension_public->
+ sleep(host->simdata->host, duration);
+
+ surf_workstation_resource->common_public->action_set_data(simdata->surf_action,act);
+
+ DEBUG1("Create sleep action %p",act);
+ return act;
+}
+
+/**
+ * \brief Cancels an action.
+ *
+ * This functions stops the execution of an action. It calls a surf functions.
+ * \param action The SIMIX action
+ */
+void SIMIX_action_cancel(smx_action_t action)