<!--
DTD of SimGrid platform and deployment files.
-More info: http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html
+More info: https://simgrid.org/doc/latest/platform.html
To upgrade your files, use the tool simgrid_update_xml
* Things that will change in upcoming version 5 (TODO):
- The following tags will be removed:
- <include> spits an error since v3.18
- - <random> does nothing since a very long time
+ - <random> and <model_prop> do nothing since a very long time
- <as>, <asroute>, <bypassZoneRoute> and <process>, deprecated in DTD4.1
- FULLDUPLEX sharing will be removed, deprecated in DTD4.2 (v3.19)
-* New in DTD version 4.2 (in SimGrid 3.19): backward compatible change (v4 files are valid v4.2 files)
- - SPLITDUPLEX is the new spelling of the deprecated FULLDUPLEX
-
* New in DTD version 4.1 (in SimGrid 3.16): backward compatible change (v4 files are valid v4.1 files)
- <zone> can be used as a synonym for the now deprecated <as>
- <zoneRoute> can be used as a synonym for the now deprecated <asroute>
- - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
+ - <bypassZoneRoute> can be used as a synonym for the now deprecated <bypassAsRoute>
- <actor> can be used as a synonym for the now deprecated <process>
+ Other backward-compatible changes for which we did not bump the DTD version.
+ - SPLITDUPLEX is the new spelling of the deprecated FULLDUPLEX (SimGrid v3.19)
+ - In <host> and <peer> availability_file is now speed_file (SimGrid v3.22)
* New in DTD version 4 (in SimGrid 3.13):
- Rename (power->speed) the attributes describing the amount of flop
- In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
- In <host> and <link>, attributes availability and state are gone.
- It was redundent with state and availability traces, and with peak values.
+ It was redundant with state and availability profiles, and with peak values.
- - In <cluster>, cannot set the availability nor state traces.
+ - In <cluster>, cannot set the availability nor state profiles.
This was too complex and unused.
- The DOCTYPE points to the right URL (this file).
- PLATFORM_DESCRIPTION -> PLATFORM
* New in DTD version 1 (in SimGrid 3.3):
- - DTD is now versionned with the version attribute of platform
+ - DTD is now versioned with the version attribute of platform
- Unit change:
- Link bandwidth: from Mb/s to b/s
- CPU speed: from MFlop/s to Flop/s
<!ATTLIST trace file CDATA "">
<!ATTLIST trace periodicity CDATA #REQUIRED>
+<!-- random is deprecated -->
<!ELEMENT random EMPTY>
<!ATTLIST random id CDATA #REQUIRED>
<!ATTLIST random min CDATA #REQUIRED>
<!ATTLIST trace_connect trace CDATA #REQUIRED>
<!ATTLIST trace_connect element CDATA #REQUIRED>
-<!-- A zone is either an internal node that contains other zones,
- or a leaf containing hosts and other leaf-like elements -->
+<!-- AS is a deprecated equivalent of zone -->
<!ELEMENT AS ((prop*),
(((AS|zone|include|link|backbone|cabinet|cluster|peer|trace|trace_connect)*,
(zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
|((include|storage_type|storage|host|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|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
+<!ATTLIST AS routing CDATA #REQUIRED>
<!-- A zone is either an internal node that contains other zones,
or a leaf containing hosts and other leaf-like elements -->
<!ELEMENT zone ((prop*),
- (((AS|zone|include|link|backbone|cabinet|cluster|peer|trace|trace_connect)*,
+ (((AS|zone|include|link|backbone|cluster|peer|trace|trace_connect)*,
(zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
(trace|trace_connect)*)
|((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
(route|trace|trace_connect|bypassRoute)*)))>
<!ATTLIST zone id CDATA #REQUIRED>
-<!ATTLIST zone routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
+<!ATTLIST zone routing CDATA #REQUIRED>
+<!-- storage, storage_type and mount are deprecated -->
<!ELEMENT storage_type ((model_prop|prop)*)>
<!ATTLIST storage_type id CDATA #REQUIRED>
<!ATTLIST storage_type model CDATA "N11">
<!ATTLIST storage_type size CDATA #REQUIRED>
<!ATTLIST storage_type content CDATA "">
-
+<!ELEMENT storage (prop*)>
+<!ATTLIST storage id CDATA #REQUIRED>
+<!ATTLIST storage typeId CDATA #REQUIRED>
+<!ATTLIST storage content CDATA "">
+<!ATTLIST storage attach CDATA #REQUIRED>
<!ELEMENT mount EMPTY>
<!ATTLIST mount storageId CDATA #REQUIRED>
<!ATTLIST mount name CDATA #REQUIRED>
-<!ELEMENT host (prop|mount)*>
+<!ELEMENT host (disk|prop|mount)*>
<!ATTLIST host id CDATA #REQUIRED>
<!ATTLIST host speed CDATA #REQUIRED>
<!ATTLIST host core CDATA "1">
-<!ATTLIST host availability_file CDATA "">
+<!ATTLIST host speed_file CDATA "">
+<!ATTLIST host availability_file CDATA ""> <!-- deprecated -->
<!ATTLIST host state_file CDATA "">
<!ATTLIST host coordinates CDATA "">
<!ATTLIST host pstate CDATA "0.0">
-<!ELEMENT storage (prop*)>
-<!ATTLIST storage id CDATA #REQUIRED>
-<!ATTLIST storage typeId CDATA #REQUIRED>
-<!ATTLIST storage content CDATA "">
-<!ATTLIST storage attach CDATA #REQUIRED>
+<!ELEMENT disk (prop*)>
+<!ATTLIST disk id CDATA "/">
+<!ATTLIST disk read_bw CDATA #REQUIRED>
+<!ATTLIST disk write_bw CDATA #REQUIRED>
<!ELEMENT host_link EMPTY>
<!ATTLIST host_link id CDATA #REQUIRED>
<!ATTLIST peer bw_out CDATA #REQUIRED>
<!ATTLIST peer lat CDATA "0">
<!ATTLIST peer coordinates CDATA "">
-<!ATTLIST peer availability_file CDATA "">
+<!ATTLIST peer speed_file CDATA "">
+<!ATTLIST peer availability_file CDATA ""> <!-- deprecated -->
<!ATTLIST peer state_file CDATA "">
<!ELEMENT router EMPTY>
<!ATTLIST link latency CDATA "0">
<!ATTLIST link latency_file CDATA "">
<!ATTLIST link state_file CDATA "">
-<!ATTLIST link sharing_policy (SHARED|SPLITDUPLEX|FULLDUPLEX|FATPIPE) "SHARED">
+<!ATTLIST link sharing_policy (SHARED|SPLITDUPLEX|FULLDUPLEX|FATPIPE|WIFI) "SHARED">
<!ELEMENT route (link_ctn*)>
<!ATTLIST route src CDATA #REQUIRED>
<!ATTLIST route dst CDATA #REQUIRED>
<!ATTLIST route symmetrical (YES|NO|yes|no) "YES">
+<!-- ASroute bypassASRoute are deprecated (prefer zoneRoute and friends) -->
<!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|no) "YES">
+<!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 zoneRoute (link_ctn*)>
<!ATTLIST zoneRoute src CDATA #REQUIRED>
<!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 bypassZoneRoute (link_ctn*)>
<!ATTLIST bypassZoneRoute src CDATA #REQUIRED>
<!ATTLIST bypassZoneRoute dst CDATA #REQUIRED>
<!ATTLIST bypassZoneRoute gw_src CDATA #REQUIRED>
<!ATTLIST bypassZoneRoute gw_dst CDATA #REQUIRED>
+<!-- process is deprecated -->
<!ELEMENT process ((argument|prop)*)>
<!ATTLIST process host CDATA #REQUIRED>
<!ATTLIST process function CDATA #REQUIRED>