+ return surf_get_clock();
+}
+
+void clean() {
+ SIMIX_clean();
+}
+
+CpuModel *getCpuModel(){
+ return surf_cpu_model_pm;
+}
+
+CpuModel *java_cpu_model;
+static void java_cpu_model_init_preparse() {
+ surf_cpu_model_pm = java_cpu_model;
+ xbt_dynar_push(all_existing_models, &java_cpu_model);
+}
+
+void setCpuModel(CpuModel *cpuModel){
+ java_cpu_model = cpuModel;
+ surf_cpu_model_init_preparse = java_cpu_model_init_preparse;
+}
+
+void setCpu(char *name, Cpu *cpu) {
+ sg_host_surfcpu_set(sg_host_by_name(name), cpu);
+}
+
+LinkDynar getRoute(char *srcName, char *dstName) {
+ RoutingEdge *src = sg_host_edge(sg_host_by_name(srcName));
+ RoutingEdge *dst = sg_host_edge(sg_host_by_name(dstName));
+ xbt_assert(src,"Cannot get the route from a NULL source");
+ xbt_assert(dst,"Cannot get the route to a NULL destination");
+ xbt_dynar_t route = xbt_dynar_new(sizeof(RoutingEdge*), NULL);
+ routing_platf->getRouteAndLatency(src, dst, &route, NULL);
+ return route;