New model format (reforged)
This commit is contained in:
parent
299ca225a0
commit
242d6a9cd6
|
@ -1,99 +1,140 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<gem-graph-model>
|
<gem-graph-model version="0.1">
|
||||||
|
|
||||||
|
<!-- Model identity informations -->
|
||||||
<identity>
|
<identity>
|
||||||
<anything_but_not_just_the_word_name>Modèle de test</anything_but_not_just_the_word_name>
|
<name>Modèle de test</name>
|
||||||
<name value="(Trois dimères)"/>
|
|
||||||
<owner>2</owner>
|
<owner>Gaston Lagaffe</owner>
|
||||||
|
|
||||||
|
<owner_id>2</owner_id>
|
||||||
|
|
||||||
<date>1629830000</date>
|
<date>1629830000</date>
|
||||||
|
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
|
|
||||||
</identity>
|
</identity>
|
||||||
|
|
||||||
<parameters id="0" date="0" author="Gaston Lagaffe">
|
<!-- Model parameters -->
|
||||||
|
<parameters id="texte" date="0" author="Gaston Lagaffe">
|
||||||
<modelization>
|
<simulation>
|
||||||
<max_thread value="0"/>
|
<max_thread value="0"/>
|
||||||
<max_cycles value="13"/>
|
<max_cycles value="13"/>
|
||||||
</modelization>
|
|
||||||
|
|
||||||
<space>
|
</simulation>
|
||||||
|
|
||||||
|
<space-param>
|
||||||
<dimension value="1"/>
|
<dimension value="1"/>
|
||||||
<size value="39"/>
|
<size value="39"/>
|
||||||
<site_multiplicity value="2"/>
|
<site_multiplicity value="2"/>
|
||||||
<boundaries/>
|
|
||||||
</space>
|
</space-param>
|
||||||
|
|
||||||
</parameters>
|
</parameters>
|
||||||
|
|
||||||
<objects id="A list of connex states" date="1629830000" author="Jean Sirmai">
|
<!-- Model objects definition -->
|
||||||
|
<objects id="texte" date="1629830000" author="Jean Sirmai">
|
||||||
<state id="dimer 1-1" date="1629830000" author="Jean Sirmai">
|
<object id="dimer 1-1" date="1629830000" author="Jean Sirmai">
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
||||||
</state>
|
|
||||||
|
|
||||||
<state id="dimer 2-2" date="1629830000" author="Jean Sirmai">
|
</object>
|
||||||
|
|
||||||
|
<object id="dimer 2-2" date="1629830000" author="Jean Sirmai">
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="2"/>
|
<arrow x="0" y="0" z="0" site="1" weight="2"/>
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="2"/>
|
<arrow x="1" y="0" z="0" site="0" weight="2"/>
|
||||||
</state>
|
|
||||||
|
|
||||||
<state id="dimer 3-3" date="1629830000" author="Jean Sirmai">
|
</object>
|
||||||
|
|
||||||
|
<object id="dimer 3-3" date="1629830000" author="Jean Sirmai">
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="3"/>
|
<arrow x="0" y="0" z="0" site="1" weight="3"/>
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="3"/>
|
<arrow x="1" y="0" z="0" site="0" weight="3"/>
|
||||||
</state>
|
|
||||||
|
|
||||||
<!-- Just for the fun ! Can you imagine a rules in a next model ? -->
|
</object>
|
||||||
<state id="dimer 1-2" date="1629830000" author="Jean Sirmai">
|
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="2"/>
|
|
||||||
</state>
|
|
||||||
|
|
||||||
</objects>
|
</objects>
|
||||||
|
|
||||||
<state id="initial state" date="1629830000" author="Jean Sirmai">
|
<!-- Saved space description (initial space is sequence 0) -->
|
||||||
<!-- three dimers of three types (1-1, 2-2, 3-3) are defined in three locations-->
|
<savestates id="texte" date="1629830000" author="THE MATRIX">
|
||||||
|
<space id="initial" date="1629830000" author="Jean Sirmai" sequence="0">
|
||||||
|
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||||
|
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
||||||
|
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
<arrow x="10" y="0" z="0" site="1" weight="1"/>
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
<arrow x="11" y="0" z="0" site="0" weight="1"/>
|
||||||
|
|
||||||
<arrow x="10" y="0" z="0" site="1" weight="2"/>
|
<arrow x="20" y="0" z="0" site="1" weight="1"/>
|
||||||
<arrow x="11" y="0" z="0" site="0" weight="2"/>
|
<arrow x="21" y="0" z="0" site="0" weight="1"/>
|
||||||
|
|
||||||
<arrow x="20" y="0" z="0" site="1" weight="3"/>
|
</space>
|
||||||
<arrow x="21" y="0" z="0" site="0" weight="3"/>
|
|
||||||
|
|
||||||
</state>
|
</savestates>
|
||||||
|
|
||||||
<produced_states id="a computed state" date="000" author="THE MATRIX (you know it...)">
|
<!-- Model transitions definition (rules) -->
|
||||||
</produced_states>
|
<transitions id="texte" date="1629830000" author="THE SUPER MATRIX">
|
||||||
|
<transition id="texte" date="1629830000" author="Bob" parent="texte"
|
||||||
|
probability="1">
|
||||||
|
<quote id="texte" date="1629830000" author="Bob" lang="fr">
|
||||||
|
Moves a dimer to east.
|
||||||
|
</quote>
|
||||||
|
|
||||||
<transitions id="how many ?" date="000" author="THE SUPER MATRIX (you did'not know it ? Did you ?...)">
|
<if>
|
||||||
|
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||||
|
|
||||||
<transition id="0" date="1629830000" author="Jean Sirmai" probability="1"> <!-- moves a dimer to east-->
|
<arrow x="1" y="0" z="0" site="0" weight="1">
|
||||||
<state id="initial transition state" date="0" author="Jean Sirmai">
|
<quote lang="fr">A dimer is identified</quote>
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="1"/> <!-- a dimer is identified-->
|
|
||||||
<!-- the local space origin is its "west" particule-->
|
|
||||||
<arrow x="2" y="0" z="0" site="1" weight="0"/> <!-- the east location next this dimer is empty-->
|
|
||||||
<arrow x="3" y="0" z="0" site="0" weight="0"/> <!-- In this very simple model, I do not need to check this condition-->
|
|
||||||
|
|
||||||
</state>
|
</arrow>
|
||||||
|
|
||||||
<state id="final transition state" date="0" author="Jean Sirmai"> <!-- Therefore I can (and I want to) move it to its next east location-->
|
<arrow x="2" y="0" z="0" site="1" weight="0">
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="0"/>
|
<quote lang="fr">
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="0"/> <!-- The identified dimer no more exists ( :-(( -->
|
The east location next this dimer is empty
|
||||||
<arrow x="1" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="2" y="0" z="0" site="0" weight="1"/> <!-- Happily, it is now rebuilt at its east location ( ;-))-->
|
|
||||||
|
|
||||||
</state>
|
</quote>
|
||||||
|
|
||||||
</transition>
|
</arrow>
|
||||||
|
|
||||||
|
<arrow x="3" y="0" z="0" site="0" weight="0">
|
||||||
|
<quote lang="fr">
|
||||||
|
In this very simple model, I do not need to check this condition
|
||||||
|
|
||||||
|
</quote>
|
||||||
|
|
||||||
|
</arrow>
|
||||||
|
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<then>
|
||||||
|
<quote>
|
||||||
|
Therefore I can (and I want to) move it to its next east location
|
||||||
|
|
||||||
|
</quote>
|
||||||
|
|
||||||
|
<arrow x="0" y="0" z="0" site="1" weight="0"/>
|
||||||
|
<arrow x="1" y="0" z="0" site="0" weight="0">
|
||||||
|
<quote>The identified dimer no more exists ( :-(( </quote>
|
||||||
|
|
||||||
|
</arrow>
|
||||||
|
|
||||||
|
<arrow x="1" y="0" z="0" site="1" weight="1"/>
|
||||||
|
|
||||||
|
<arrow x="2" y="0" z="0" site="0" weight="1">
|
||||||
|
<quote>
|
||||||
|
Happily, it is now rebuilt at its east location ( ;-))
|
||||||
|
|
||||||
|
</quote>
|
||||||
|
|
||||||
|
</arrow>
|
||||||
|
|
||||||
|
</then>
|
||||||
|
|
||||||
|
</transition>
|
||||||
|
|
||||||
</transitions>
|
</transitions>
|
||||||
|
|
||||||
<ref></ref>
|
<!-- Non context-specific tags, designed to annotate anything -->
|
||||||
|
<ref id="texte" date="1629830000" author="Jean" lang="ref"></ref>
|
||||||
|
|
||||||
<quote></quote>
|
<quote id="texte" date="1629830000" author="Jean" lang="ref"></quote>
|
||||||
|
|
||||||
</gem-graph-model>
|
</gem-graph-model>
|
||||||
|
|
|
@ -6,17 +6,6 @@
|
||||||
<!-- use="required" is NOT allowed in attributes declarations-->
|
<!-- use="required" is NOT allowed in attributes declarations-->
|
||||||
<!-- To know : Attribute 'name' Cannot Appear In Element 'element'.-->
|
<!-- To know : Attribute 'name' Cannot Appear In Element 'element'.-->
|
||||||
|
|
||||||
<!-- TODO
|
|
||||||
<BALISE>texte</BALISE> doit toujours être équivalent à <BALISE value="texte"/>
|
|
||||||
quelle que soit la BALISE et quel que soit le texte.
|
|
||||||
(excepté pour certaines balises sans texte)
|
|
||||||
|
|
||||||
Les balises concernées sont :
|
|
||||||
name, owner, date, version, max_thread, max_cycles,
|
|
||||||
dimension, site_multiplicity, boundaries, ref et quote
|
|
||||||
|
|
||||||
Comment déclarer cette équivalence ? -->
|
|
||||||
|
|
||||||
<!-- xs:element name="name" type="xs:string"/ -->
|
<!-- xs:element name="name" type="xs:string"/ -->
|
||||||
<!-- Cos-element-consistent: Error For Type '#AnonType_identitygem-graph-model'.
|
<!-- Cos-element-consistent: Error For Type '#AnonType_identitygem-graph-model'.
|
||||||
Multiple Elements With Name 'name', With Different Types, Appear In The Model Group. -->
|
Multiple Elements With Name 'name', With Different Types, Appear In The Model Group. -->
|
||||||
|
@ -89,14 +78,7 @@
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
|
||||||
<xs:element name="anything_but_not_just_the_word_name" type="xs:string"/>
|
<xs:element name="name" type="xs:string"/>
|
||||||
|
|
||||||
<xs:element name="name">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute name="value" type="xs:string" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
|
|
||||||
<xs:element name="owner" type="xs:integer"/>
|
<xs:element name="owner" type="xs:integer"/>
|
||||||
<xs:element name="date" type="xs:integer"/>
|
<xs:element name="date" type="xs:integer"/>
|
||||||
<xs:element name="version" type="xs:float"/>
|
<xs:element name="version" type="xs:float"/>
|
||||||
|
|
|
@ -1,102 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<!-- TODO DTD or XML Schema-->
|
|
||||||
|
|
||||||
<gem-graph-model version="0.1">
|
|
||||||
|
|
||||||
<!-- Model identity informations -->
|
|
||||||
<identity>
|
|
||||||
<name>Model created for testing purposes</name>
|
|
||||||
<name value="(Three dimers)"/>
|
|
||||||
<owner>Jean Sirmai</owner>
|
|
||||||
<owner_id>2</owner_id>
|
|
||||||
<date>1629830000</date> <!--Warning: it's an arbitrary unchecked date...-->
|
|
||||||
<version>1.0</version>
|
|
||||||
|
|
||||||
</identity>
|
|
||||||
|
|
||||||
<!-- Model parameters -->
|
|
||||||
<parameters id="test" date="1629830000" author="Jean Sirmai">
|
|
||||||
<modelization>
|
|
||||||
<max_thread value="0"/> <!--Why "0" ?-->
|
|
||||||
<max_cycles value="13"/>
|
|
||||||
|
|
||||||
</modelization>
|
|
||||||
|
|
||||||
<space_param>
|
|
||||||
<dimension value="1"/>
|
|
||||||
<size x="39" y="0" z="0"/>
|
|
||||||
<site_multiplicity value="2"/> <!-- Indicates that there are two sites per cell-->
|
|
||||||
<boundaries/> <!-- TODO -->
|
|
||||||
|
|
||||||
</space_param>
|
|
||||||
|
|
||||||
</parameters>
|
|
||||||
|
|
||||||
<!-- Model objects definition -->
|
|
||||||
<objects>
|
|
||||||
<object id="dimer" date="1629830000" author="Jean Sirmai">
|
|
||||||
<!-- A dimer is made of two linked adjacent particles.-->
|
|
||||||
<!-- Site 1 of particle 0 points at east to next particle.-->
|
|
||||||
<!-- Site 0 of particle 1 points at west to previous particle.-->
|
|
||||||
<arrow x="0" y="0" z="0" site="0" weight="0"/>
|
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="1" weight="0"/>
|
|
||||||
|
|
||||||
</object>
|
|
||||||
|
|
||||||
</objects>
|
|
||||||
|
|
||||||
<!-- Space description (initial state) -->
|
|
||||||
<space id="test" date="1629830000" author="Jean Sirmai">
|
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
|
||||||
<arrow x="10" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="11" y="0" z="0" site="0" weight="1"/>
|
|
||||||
<arrow x="20" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="21" y="0" z="0" site="0" weight="1"/>
|
|
||||||
<!-- three dimers have been defined-->
|
|
||||||
|
|
||||||
</space>
|
|
||||||
|
|
||||||
<!-- Saved space description (saved states) -->
|
|
||||||
<savestates id="test" date="1629830000" author="Jean Sirmai">
|
|
||||||
|
|
||||||
<space id="test" date="1629830000" author="Jean Sirmai">
|
|
||||||
</space>
|
|
||||||
|
|
||||||
</savestates>
|
|
||||||
|
|
||||||
<!-- Model transitions definition (rules) -->
|
|
||||||
<transitions id="test" date="1629830000" author="Jean Sirmai">
|
|
||||||
<transition id="0" date="1629830000" author="Jean Sirmai" probability="1"> <!-- moves a dimer to east-->
|
|
||||||
<if>
|
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="1"/> <!-- a dimer is identified-->
|
|
||||||
<!-- the local space origin is its "west" particule-->
|
|
||||||
<arrow x="2" y="0" z="0" site="1" weight="0"/> <!-- the east location next this dimer is empty-->
|
|
||||||
<arrow x="3" y="0" z="0" site="0" weight="0"/> <!-- In this very simple model, I do not need to check this condition-->
|
|
||||||
|
|
||||||
</if>
|
|
||||||
|
|
||||||
<then> <!-- Therefore I can (and I want to) move it to its next east location-->
|
|
||||||
<arrow x="0" y="0" z="0" site="1" weight="0"/>
|
|
||||||
<arrow x="1" y="0" z="0" site="0" weight="0"/> <!-- The identified dimer no more exists ( :-(( -->
|
|
||||||
<arrow x="1" y="0" z="0" site="1" weight="1"/>
|
|
||||||
<arrow x="2" y="0" z="0" site="0" weight="1"/> <!-- Happily, it is now rebuilt at its east location ( ;-))-->
|
|
||||||
|
|
||||||
</then>
|
|
||||||
|
|
||||||
</transition>
|
|
||||||
|
|
||||||
</transitions>
|
|
||||||
|
|
||||||
<!-- Non context-specific tags -->
|
|
||||||
<ref id="Best reference!" date="1629830000" author="Jean Sirmai" lang="fr">
|
|
||||||
https://www.a-lec.org
|
|
||||||
</ref>
|
|
||||||
|
|
||||||
<quote>This is a quote.</quote>
|
|
||||||
|
|
||||||
</gem-graph-model>
|
|
Loading…
Reference in New Issue