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> <inputs> <input> <arc> <point/> ... <point/> </arc> </input> <input> .... </input> ..... <input> .... </input> </inputs>
XML tags: Alphabetical order
Tag | Tag parameters | Tag body |
---|---|---|
<arc> | ||
<functions> | ||
<gn> |
|
|
<input> | ||
<inputs> | ||
<output> | ||
<outputs> | ||
<place> | ||
<places> | ||
<point> | ||
<predicate> | ||
<predicates> | ||
<token> | ||
<tokens> | ||
<transition> |
|
|
<transitions> | - |
|
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>