+ surf_workstation_model->common_private->finalize = finalize;
+
+ surf_workstation_model->common_public->suspend = action_suspend;
+ surf_workstation_model->common_public->resume = action_resume;
+ surf_workstation_model->common_public->is_suspended =
+ action_is_suspended;
+ surf_workstation_model->common_public->set_max_duration =
+ action_set_max_duration;
+ surf_workstation_model->common_public->set_priority =
+ action_set_priority;
+
+ surf_workstation_model->extension_public->execute = execute;
+ surf_workstation_model->extension_public->sleep = action_sleep;
+ surf_workstation_model->extension_public->get_state = get_state;
+ surf_workstation_model->extension_public->get_speed = get_speed;
+ surf_workstation_model->extension_public->get_available_speed =
+ get_available_speed;
+
+ /*manage the properties of the workstation*/
+ surf_workstation_model->common_public->get_properties = get_properties;
+
+ surf_workstation_model->extension_public->communicate = communicate;
+ surf_workstation_model->extension_public->execute_parallel_task =
+ execute_parallel_task;
+ surf_workstation_model->extension_public->get_route = get_route;
+ surf_workstation_model->extension_public->get_route_size =
+ get_route_size;
+ surf_workstation_model->extension_public->get_link_name =
+ get_link_name;
+ surf_workstation_model->extension_public->get_link_bandwidth =
+ get_link_bandwidth;
+ surf_workstation_model->extension_public->get_link_latency =
+ get_link_latency;
+ workstation_set = xbt_dict_new();
+}
+
+/********************************************************************/
+/* The model used in MSG and presented at CCGrid03 */
+/********************************************************************/
+/* @InProceedings{Casanova.CLM_03, */
+/* author = {Henri Casanova and Arnaud Legrand and Loris Marchal}, */
+/* title = {Scheduling Distributed Applications: the SimGrid Simulation Framework}, */
+/* booktitle = {Proceedings of the third IEEE International Symposium on Cluster Computing and the Grid (CCGrid'03)}, */
+/* publisher = {"IEEE Computer Society Press"}, */
+/* month = {may}, */
+/* year = {2003} */
+/* } */
+void surf_workstation_model_init_CLM03(const char *filename)
+{
+ surf_workstation_model_init_internal();
+ surf_cpu_model_init_Cas01(filename);
+ surf_network_model_init_CM02(filename);
+ update_model_description(surf_workstation_model_description,
+ surf_workstation_model_description_size,
+ "CLM03",
+ (surf_model_t) surf_workstation_model);
+ xbt_dynar_push(model_list, &surf_workstation_model);
+}
+
+void surf_workstation_model_init_compound(const char *filename)
+{