Please check our Instructions to Authors and send your manuscripts to nifs.journal@gmail.com. Next issue: September/October 2024.
Deadline for submissions: 16 November 2024.
Help:Genedit/XML format
Jump to navigation
Jump to search
XML tags: Logical order
<gn> | <transitions> | | <transition> // 1+ transitions | | | <inputs> | | | | <input> // 1+ inputs | | | | | <arc> // exactly 1 arc | | | | | | <point/> // 2+ points | | | | | | <point/> | | | | | | ... | | | | | </arc> | | | | </input> | | | | ... | | | </inputs> | | | <outputs> | | | | <output> // 1+ outputs | | | | | <arc> // exactly 1 arc | | | | | | <point/> // 2+ points | | | | | | <point/> | | | | | | ... | | | | | </arc> | | | | </output> | | | | ... | | | </outputs> | | | <predicates> | | | | <predicate> // number of predicates <= number of inputs * number of outputs | | | | | value | | | | </predicate> | | | </predicates> | | </transition> | | ... | </transitions> | <places> | | <place/> // 1+ places | </places> | <tokens> | | <token> // 1+ tokens | | | <char> // 0+ token characteristic | | | ... | | | </char> | | </token> | | ... | </tokens> | </tokens> | <functions> // to be continued in a separate section | ... | </functions> </gn>
XML tags: Alphabetical order
Tag | Tag parameters | Tag body |
---|---|---|
<arc> </arc> | - | <point/> |
<char> </char> |
|
|
<functions> </functions> | - | - |
<gn> </gn> |
|
|
<input> </input> | ref | <arc> </arc> |
<inputs> </inputs> | - | <input> </input> |
<output> </output> | ref | <arc> </arc> |
<outputs> </outputs> | - | <output> </output> |
<place/> |
|
- |
<places> </places> | - | <place> </place> |
<point/> |
|
- |
<predicate> </predicate> |
|
|
<predicates> </predicates> | - | <predicate> </predicate> |
<token> </token> |
|
<char> </char> |
<tokens> </tokens> | - | <token> </token> |
<transition> </transition> |
|
|
<transitions> </transitions> | - | <transition> </transition> |
Example: Defines Chars
<?xml version="1.0" ?>
<gn xmlns="http://www.clbme.bas.bg/GN" name="example-define-chars" time="256" timeStart="0" timeStep="1" root="true">
<transitions>
<transition id="T" name="T" priority="0" startTime="0" lifeTime="-1" positionX="130" positionY="100" sizeY="100">
<inputs>
<input ref="LStart">
<arc>
<point positionX="80" positionY="140"/>
<point positionX="130" positionY="140"/>
</arc>
</input>
</inputs>
<outputs>
<output ref="LEnd">
<arc>
<point positionX="130" positionY="140"/>
<point positionX="180" positionY="140"/>
</arc>
</output>
</outputs>
<predicates>
<predicate input="LStart" output="LEnd">true</predicate>
</predicates>
</transition>
</transitions>
<places>
<place id="LStart" name="LStart" priority="1" capacity="-1" char="CharLStart" merge="false" positionX="80" positionY="140"/>
<place id="LEnd" name="LEnd" priority="1" capacity="-1" char="CharLEnd" merge="false" positionX="180" positionY="140"/>
</places>
<tokens>
<token id="Tkn" name="Tkn" priority="0" host="LStart" entering="0" leaving="-1">
<char name="Default" type="double" history="1">0</char>
<char name="array" type="vector" history="1">[ 1 2 3]</char>
<char name="testDouble" type="double" history="1">0</char>
</token>
</tokens>
<functions><![CDATA[; CHAR FUNCTIONS
; ----------
(defun getParam "" (tkn param) (distribution)
(if (= (get-named tkn (+ param "/type")) "explicit")
;--------- explicit parameter
(get-named tkn param)
;---------- manual parameter?
(if (= (get-named tkn (+ param "/type")) "manual")
(begin
(print "Please enter the value of " param " :")
(read-double)
);begin manual parameter
;--------- random parameter
(begin
(let distribution (get-named tkn (+ param "/distribution")))
(if (= distribution "uniform")
;------------ uniform distribution
(random (get-named tkn (+ param "/interval-end")))
;---------------------------------
(if (= distribution "normal")
;------------ normal distribution
(random-normal (get-named tkn (+ param "/mean"))
(get-named tkn (+ param "/variance")))
;--------------------------------
(if (= distribution "exponential")
;------------ exponential distribution
(random-exp (get-named tkn (+ param "/mean")))
;---------------------------------
(+ 0)
);if exp
);if norm
);if uniform
);begin
);if manual
);if explicit
); defun
(defun CharLStart "" () ()
(print "start")
)
(defun CharLEnd "" () ()
(def-ch tokenobj )
(print (xml-output tokenobj))
(print "Parameter 'array': " (getParam tokenobj "array")) (newline)
(print "Parameter 'testDouble': " (getParam tokenobj "testDouble")) (newline)
)]]></functions>
</gn>