<!-- Small DTD for SURF based tools. -->
-<!ELEMENT platform ((include|trace|random|AS|trace:connect)*,(include|trace|random|cluster|set|foreach|host|router|link|trace:connect)*,(include|route:multi|route|trace:connect|process)*)>
+<!ELEMENT platform ((config|random)*,(include|cluster|cabinet|peer|AS|trace|trace_connect)*,(process)*)>
<!ATTLIST platform version CDATA "0.0">
-<!ATTLIST platform xmlns:link CDATA "http://simgrid.gforge.inria.fr/">
-<!ATTLIST platform xmlns:route CDATA "http://simgrid.gforge.inria.fr/">
-<!ELEMENT include EMPTY>
+<!ELEMENT include (include|cluster|cabinet|peer|AS|trace|trace_connect)*>
<!ATTLIST include file CDATA #REQUIRED>
<!ELEMENT trace (#PCDATA)>
<!ATTLIST trace file CDATA "">
<!ATTLIST trace periodicity CDATA #REQUIRED>
-<!ELEMENT random (prop*)>
+<!ELEMENT random EMPTY>
<!ATTLIST random id CDATA #REQUIRED>
<!ATTLIST random min CDATA #REQUIRED>
<!ATTLIST random max CDATA #REQUIRED>
<!ATTLIST random mean CDATA #REQUIRED>
<!ATTLIST random std_deviation CDATA #REQUIRED>
-<!ATTLIST random generator (DRAND48|RAND) "DRAND48">
+<!ATTLIST random seed CDATA "2147483647">
+<!ATTLIST random radical CDATA "">
+<!ATTLIST random generator (DRAND48|RAND|RNGSTREAM|NONE) "DRAND48">
-<!ELEMENT trace:connect EMPTY>
-<!ATTLIST trace:connect kind (HOST_AVAIL|POWER|LINK_AVAIL|BANDWIDTH|LATENCY) "HOST_AVAIL">
-<!ATTLIST trace:connect trace CDATA #REQUIRED>
-<!ATTLIST trace:connect element CDATA #REQUIRED>
+<!ELEMENT trace_connect EMPTY>
+<!ATTLIST trace_connect kind (HOST_AVAIL|POWER|LINK_AVAIL|BANDWIDTH|LATENCY) "HOST_AVAIL">
+<!ATTLIST trace_connect trace CDATA #REQUIRED>
+<!ATTLIST trace_connect element CDATA #REQUIRED>
-<!ELEMENT set EMPTY>
-<!ATTLIST set id CDATA #REQUIRED>
-<!ATTLIST set prefix CDATA #REQUIRED>
-<!ATTLIST set suffix CDATA #REQUIRED>
-<!ATTLIST set radical CDATA #REQUIRED>
-
-<!ELEMENT foreach (host|(host,link)|link)>
-<!ATTLIST foreach set_id CDATA #REQUIRED>
-
-<!ELEMENT host (prop*)>
+<!ELEMENT AS ((prop*),(((AS|include|storage_type|storage|link|backbone|cabinet|cluster|peer|trace|trace_connect)*,(ASroute|trace|trace_connect|bypassASroute)*,(trace|trace_connect)*)|((include|storage_type|storage|host|gpu|cabinet|router|link|backbone|trace|trace_connect|host_link)*,(route|trace|trace_connect|bypassRoute)*)))>
+<!ATTLIST AS id CDATA #REQUIRED>
+<!ATTLIST AS routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster) "None">
+
+<!ELEMENT storage_type (prop*)>
+<!ATTLIST storage_type id CDATA #REQUIRED>
+<!ATTLIST storage_type model CDATA #REQUIRED>
+<!ATTLIST storage_type size CDATA #REQUIRED>
+<!ATTLIST storage_type content CDATA "">
+<!ATTLIST storage_type content_type CDATA "txt_unix">
+
+<!ELEMENT storage (prop*)>
+<!ATTLIST storage id CDATA #REQUIRED>
+<!ATTLIST storage typeId CDATA #REQUIRED>
+<!ATTLIST storage content CDATA "">
+<!ATTLIST storage content_type CDATA "txt_unix">
+
+<!ELEMENT mount EMPTY>
+<!ATTLIST mount storageId CDATA #REQUIRED>
+<!ATTLIST mount name CDATA #REQUIRED>
+
+<!ELEMENT mstorage EMPTY>
+<!ATTLIST mstorage typeId CDATA #REQUIRED>
+<!ATTLIST mstorage name CDATA #REQUIRED>
+
+<!ELEMENT host (prop|mount|mstorage)*>
<!ATTLIST host id CDATA #REQUIRED>
<!ATTLIST host power CDATA #REQUIRED>
+<!ATTLIST host core CDATA "1">
<!ATTLIST host availability CDATA "1.0">
<!ATTLIST host availability_file CDATA "">
<!ATTLIST host state (ON|OFF) "ON">
<!ATTLIST host state_file CDATA "">
-<!ATTLIST host interference_send CDATA "1.0">
-<!ATTLIST host interference_recv CDATA "1.0">
-<!ATTLIST host interference_send_recv CDATA "1.0">
-<!ATTLIST host max_outgoing_rate CDATA "-1.0">
-<!ATTLIST host vivaldi CDATA "0 0 0">
+<!ATTLIST host coordinates CDATA "">
+<!ATTLIST host pstate CDATA "0.0">
-<!ELEMENT prop EMPTY>
-<!ATTLIST prop id CDATA #REQUIRED>
-<!ATTLIST prop value CDATA #REQUIRED>
+<!ELEMENT gpu EMPTY>
+<!ATTLIST gpu name CDATA #REQUIRED>
+
+<!ELEMENT host_link EMPTY>
+<!ATTLIST host_link id CDATA #REQUIRED>
+<!ATTLIST host_link up CDATA #REQUIRED>
+<!ATTLIST host_link down CDATA #REQUIRED>
-<!ELEMENT cluster EMPTY>
+<!ELEMENT cluster (prop*)>
<!ATTLIST cluster id CDATA #REQUIRED>
<!ATTLIST cluster prefix CDATA #REQUIRED>
<!ATTLIST cluster suffix CDATA #REQUIRED>
<!ATTLIST cluster radical CDATA #REQUIRED>
<!ATTLIST cluster power CDATA #REQUIRED>
+<!ATTLIST cluster core CDATA "1">
<!ATTLIST cluster bw CDATA #REQUIRED>
<!ATTLIST cluster lat CDATA #REQUIRED>
-<!ATTLIST cluster bb_bw CDATA #REQUIRED>
-<!ATTLIST cluster bb_lat CDATA #REQUIRED>
+<!ATTLIST cluster sharing_policy (SHARED|FULLDUPLEX|FATPIPE) "FULLDUPLEX">
+<!ATTLIST cluster bb_bw CDATA "">
+<!ATTLIST cluster bb_lat CDATA "">
+<!ATTLIST cluster bb_sharing_policy (SHARED|FATPIPE) "SHARED">
+<!ATTLIST cluster availability_file CDATA "">
+<!ATTLIST cluster state_file CDATA "">
+<!ATTLIST cluster router_id CDATA "">
+<!ATTLIST cluster limiter_link CDATA "">
+<!ATTLIST cluster loopback_bw CDATA "">
+<!ATTLIST cluster loopback_lat CDATA "">
+
+<!ELEMENT cabinet EMPTY>
+<!ATTLIST cabinet id CDATA #REQUIRED>
+<!ATTLIST cabinet prefix CDATA #REQUIRED>
+<!ATTLIST cabinet suffix CDATA #REQUIRED>
+<!ATTLIST cabinet radical CDATA #REQUIRED>
+<!ATTLIST cabinet power CDATA #REQUIRED>
+<!ATTLIST cabinet bw CDATA #REQUIRED>
+<!ATTLIST cabinet lat CDATA #REQUIRED>
+
+<!ELEMENT peer EMPTY>
+<!ATTLIST peer id CDATA #REQUIRED>
+<!ATTLIST peer power CDATA #REQUIRED>
+<!ATTLIST peer bw_in CDATA #REQUIRED>
+<!ATTLIST peer bw_out CDATA #REQUIRED>
+<!ATTLIST peer lat CDATA #REQUIRED>
+<!ATTLIST peer coordinates CDATA "">
+<!ATTLIST peer availability_file CDATA "">
+<!ATTLIST peer state_file CDATA "">
<!ELEMENT router EMPTY>
<!ATTLIST router id CDATA #REQUIRED>
+<!ATTLIST router coordinates CDATA "">
+
+<!ELEMENT backbone EMPTY>
+<!ATTLIST backbone id CDATA #REQUIRED>
+<!ATTLIST backbone bandwidth CDATA #REQUIRED>
+<!ATTLIST backbone latency CDATA #REQUIRED>
<!ELEMENT link (prop*)>
<!ATTLIST link id CDATA #REQUIRED>
<!ATTLIST link latency_file CDATA "">
<!ATTLIST link state (ON|OFF) "ON">
<!ATTLIST link state_file CDATA "">
-<!ATTLIST link sharing_policy (SHARED|FATPIPE) "SHARED">
-
-<!ELEMENT route:multi (link:ctn+)>
-<!ATTLIST route:multi src CDATA #REQUIRED>
-<!ATTLIST route:multi dst CDATA #REQUIRED>
-<!ATTLIST route:multi action (POSTPEND|PREPEND|OVERRIDE) "POSTPEND">
-<!ATTLIST route:multi symmetric (YES|NO) "YES">
+<!ATTLIST link sharing_policy (SHARED|FATPIPE|FULLDUPLEX) "SHARED">
-<!ELEMENT route (link:ctn*)>
+<!ELEMENT route (link_ctn*)>
<!ATTLIST route src CDATA #REQUIRED>
<!ATTLIST route dst CDATA #REQUIRED>
-<!ATTLIST route gw_src CDATA "">
-<!ATTLIST route gw_dst CDATA "">
-<!ATTLIST route impact_on_src CDATA "0.0">
-<!ATTLIST route impact_on_dst CDATA "0.0">
-<!ATTLIST route impact_on_src_with_other_recv CDATA "0.0">
-<!ATTLIST route impact_on_dst_with_other_send CDATA "0.0">
-<!ATTLIST route action (POSTPEND|PREPEND|OVERRIDE) "POSTPEND">
+<!ATTLIST route symmetrical (YES|NO) "YES">
-<!ELEMENT link:ctn EMPTY>
-<!ATTLIST link:ctn id CDATA #REQUIRED>
+<!ELEMENT ASroute (link_ctn*)>
+<!ATTLIST ASroute src CDATA #REQUIRED>
+<!ATTLIST ASroute dst CDATA #REQUIRED>
+<!ATTLIST ASroute gw_src CDATA #REQUIRED>
+<!ATTLIST ASroute gw_dst CDATA #REQUIRED>
+<!ATTLIST ASroute symmetrical (YES|NO) "YES">
+
+<!ELEMENT link_ctn EMPTY>
+<!ATTLIST link_ctn id CDATA #REQUIRED>
+<!ATTLIST link_ctn direction (UP|DOWN|NONE) "NONE">
+
+<!ELEMENT bypassRoute (link_ctn*)>
+<!ATTLIST bypassRoute src CDATA #REQUIRED>
+<!ATTLIST bypassRoute dst CDATA #REQUIRED>
+
+<!ELEMENT bypassASroute (link_ctn*)>
+<!ATTLIST bypassASroute src CDATA #REQUIRED>
+<!ATTLIST bypassASroute dst CDATA #REQUIRED>
+<!ATTLIST bypassASroute gw_src CDATA #REQUIRED>
+<!ATTLIST bypassASroute gw_dst CDATA #REQUIRED>
<!ELEMENT process ((argument|prop)*)>
<!ATTLIST process host CDATA #REQUIRED>
<!ATTLIST process function CDATA #REQUIRED>
<!ATTLIST process start_time CDATA "-1.0">
<!ATTLIST process kill_time CDATA "-1.0">
+<!ATTLIST process on_failure (DIE|RESTART) "DIE">
<!ELEMENT argument EMPTY>
<!ATTLIST argument value CDATA #REQUIRED>
-<!-- start added by DAVID -->
-
-<!ELEMENT AS ((AS|host|gateway|router|link|route)*)>
-<!ATTLIST AS id CDATA #REQUIRED>
-<!ATTLIST AS routing CDATA #REQUIRED>
+<!ELEMENT config (prop*)>
+<!ATTLIST config id CDATA "">
-<!ELEMENT gateway EMPTY>
-<!ATTLIST gateway id CDATA #REQUIRED>
-
-<!--
-
-<!ELEMENT AS ((AS|hostDef|routerDef|ASroute)*)>
-<!ATTLIST AS id CDATA #REQUIRED>
-
-<!ELEMENT hostDef (hostAdd*)>
-
-<!ELEMENT hostAdd EMPTY>
-<!ATTLIST hostAdd id CDATA #REQUIRED>
-
-<!ELEMENT routerDef (routerAdd*)>
-
-<!ELEMENT routerAdd EMPTY>
-<!ATTLIST routerAdd id CDATA #REQUIRED>
-
-<!ELEMENT ASroute (ASlink*)>
-<!ATTLIST ASroute src CDATA #REQUIRED>
-<!ATTLIST ASroute dst CDATA #REQUIRED>
-<!ATTLIST ASroute symmetric (YES|NO) "YES">
-
-<!ELEMENT ASlink EMPTY>
-<!ATTLIST ASlink id CDATA #REQUIRED>
-
--->
-<!-- end added by DAVID -->
+<!ELEMENT prop EMPTY>
+<!ATTLIST prop id CDATA #REQUIRED> <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
+<!ATTLIST prop value CDATA #REQUIRED>