Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
- Update xml DTD to handle WIFI sharing policy
[simgrid.git] / src / surf / xml / simgrid.dtd
index 13d2cc4..c8b3b48 100644 (file)
@@ -1,33 +1,43 @@
-<!-- 
+<!--
              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
 
-* New in DTD version 5 (in SimGrid 3.16): backward compatible change (v4 files are valid v5 files)
+* 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
+    - <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.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>
-   - <zoneZoute> an be used as a synonym for the now deprecated <asroute>
+   - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
    - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
-   - <actor>  can be used as a synonym for the now deprecated <process>
+   - <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
      that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
 
    - 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.
-     
-   - In <cluster>, cannot set the availability nor state traces. 
+     It was redundant with state and availability profiles, and with peak values.
+
+   - In <cluster>, cannot set the availability nor state profiles.
      This was too complex and unused.
 
-   - The DOCTYPE points to the right URL (this file):
-     http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
-     
+   - The DOCTYPE points to the right URL (this file).
+
    - Kill <gpu>. Was not doing anything.
 
    - A warning is emitted for unit-less values (they are still accepted).
+     The value 0 can remain unit-less, as its unit does not matter.
 
      - speed. Default: 'f' or 'flops'. Also defined:
         'Yf',         'Zf',         'Ef',       'Pf',        'Tf',        'Gf',        'Mf',        'kf'
@@ -60,7 +70,7 @@ To upgrade your files, use the tool simgrid_update_xml
 
 * New in DTD version 1 (in SimGrid 3.3):
    - DTD is now versionned with the version attribute of platform
-   - Unit change: 
+   - Unit change:
      - Link bandwidth: from Mb/s to b/s
      - CPU speed: from MFlop/s to Flop/s
 
@@ -69,6 +79,7 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ELEMENT platform ((config|random)*,(include|cluster|cabinet|peer|AS|zone|trace|trace_connect)*,(process|actor)*)>
 <!ATTLIST platform version CDATA "0.0">
 
+<!-- tag include is deprecated. Not documented, and removed in v3.22 -->
 <!ELEMENT include (include|cluster|cabinet|peer|AS|zone|trace|trace_connect)*>
 <!ATTLIST include file CDATA #REQUIRED>
 
@@ -92,20 +103,33 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST trace_connect trace CDATA #REQUIRED>
 <!ATTLIST trace_connect element CDATA #REQUIRED>
 
-<!ELEMENT AS ((prop*), ((AS|zone|ASroute|zoneRoute|include|storage_type|storage|link|backbone|cabinet|router|host|cluster|peer|host_link)*,(route|ASroute|zoneRoute|trace|trace_connect|bypassRoute|bypassASroute|bypassZoneRoute)*))>
+<!-- A zone is either an internal node that contains other zones, 
+     or a  leaf containing hosts and other leaf-like elements -->
+<!ELEMENT AS ((prop*),
+          (((AS|zone|include|link|backbone|cabinet|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 AS id CDATA #REQUIRED>
 <!ATTLIST AS routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
 
-<!ELEMENT zone ((prop*), ((AS|zone|ASroute|zoneRoute|include|storage_type|storage|link|backbone|cabinet|router|host|cluster|peer|host_link)*,(route|ASroute|zoneRoute|trace|trace_connect|bypassRoute|bypassASroute|bypassZoneRoute)*))>
+<!-- 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|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>
 
 <!ELEMENT storage_type ((model_prop|prop)*)>
 <!ATTLIST storage_type id       CDATA #REQUIRED>
-<!ATTLIST storage_type model    CDATA #REQUIRED>
+<!ATTLIST storage_type model    CDATA "N11">
 <!ATTLIST storage_type size     CDATA #REQUIRED>
 <!ATTLIST storage_type content  CDATA "">
-<!ATTLIST storage_type content_type  CDATA "txt_unix">
 
 <!ELEMENT mount EMPTY>
 <!ATTLIST mount storageId CDATA #REQUIRED>
@@ -115,7 +139,8 @@ To upgrade your files, use the tool simgrid_update_xml
 <!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">
@@ -124,7 +149,6 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST storage id CDATA #REQUIRED>
 <!ATTLIST storage typeId CDATA #REQUIRED>
 <!ATTLIST storage content  CDATA "">
-<!ATTLIST storage content_type  CDATA "txt_unix">
 <!ATTLIST storage attach CDATA #REQUIRED>
 
 <!ELEMENT host_link EMPTY>
@@ -141,7 +165,7 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST cluster core CDATA "1">
 <!ATTLIST cluster bw CDATA #REQUIRED>
 <!ATTLIST cluster lat CDATA #REQUIRED>
-<!ATTLIST cluster sharing_policy (SHARED|FULLDUPLEX|FATPIPE) "FULLDUPLEX">
+<!ATTLIST cluster sharing_policy (SHARED|SPLITDUPLEX|FULLDUPLEX|FATPIPE) "SPLITDUPLEX">
 <!ATTLIST cluster topology (FLAT|TORUS|FAT_TREE|DRAGONFLY) "FLAT">
 <!ATTLIST cluster topo_parameters CDATA "">
 <!ATTLIST cluster bb_bw CDATA "">
@@ -168,7 +192,8 @@ To upgrade your files, use the tool simgrid_update_xml
 <!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>
@@ -187,26 +212,26 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST link latency CDATA "0">
 <!ATTLIST link latency_file CDATA "">
 <!ATTLIST link state_file CDATA "">
-<!ATTLIST link sharing_policy (SHARED|FATPIPE|FULLDUPLEX) "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">
+<!ATTLIST route symmetrical (YES|NO|yes|no) "YES">
 
 <!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">
+<!ATTLIST ASroute symmetrical (YES|NO|yes|no) "YES">
 
 <!ELEMENT zoneRoute (link_ctn*)>
 <!ATTLIST zoneRoute src CDATA #REQUIRED>
 <!ATTLIST zoneRoute dst CDATA #REQUIRED>
 <!ATTLIST zoneRoute gw_src CDATA #REQUIRED>
 <!ATTLIST zoneRoute gw_dst CDATA #REQUIRED>
-<!ATTLIST zoneRoute symmetrical (YES|NO) "YES">
+<!ATTLIST zoneRoute symmetrical (YES|NO|yes|no) "YES">
 
 <!ELEMENT link_ctn EMPTY>
 <!ATTLIST link_ctn id CDATA #REQUIRED>