Index: java/FramclipsePlugin/src/main/resources/framscript.xml
===================================================================
--- java/FramclipsePlugin/src/main/resources/framscript.xml	(revision 21)
+++ java/FramclipsePlugin/src/main/resources/framscript.xml	(revision 27)
@@ -151,5 +151,5 @@
 		<element name="numparts" type="integer"/>
 		<element name="orient" type="Orient">
-			<description><![CDATA[by convention the creature orientation is equal to its first part orientation]]></description>
+			<description><![CDATA[By convention, the orientation of the creature is equal to the orientation of its first Part]]></description>
 		</element>
 		<element name="othermask" type="integer" min="0" max="2147483647" default="0"/>
@@ -175,5 +175,5 @@
 		<element name="signals" type="CreatureSignals"/>
 		<element name="size_x" type="float">
-			<description><![CDATA[(size_x,size_y,size_z) are dimensions of the axis-aligned bounding box of the creature, including the imaginary part sizes (Part.s, usually 1.0). A creature consisting of a single default part has the size of (2.0,2.0,2.0) - twice the Part.s value (like a sphere diameter is twice its radius).
+			<description><![CDATA[(size_x,size_y,size_z) are dimensions of the axis-aligned bounding box of the creature, including the imaginary part sizes (Part.s, usually 1.0). A creature consisting of a single default Part has the size of (2.0,2.0,2.0) - twice the Part.s value (like a sphere diameter is twice its radius).
 See also: Creature.moveAbs]]></description>
 		</element>
@@ -242,5 +242,5 @@
 
 origin (pos_x,pos_y,pos_z) = (-1,-1,-1)
-size (size_x,size_y,size_z) = (2,1,1)
+size (size_x,size_y,size_z) = (3,2,2)
 
 The following example places the bottom of a creature at a given location (x,y,z):
@@ -269,5 +269,5 @@
 		</element>
 		<element name="rotateLocal" function="true" type="void">
-			<description><![CDATA[Rotate the creature around (local) X, Y and Z axes. Should only be used immediately after creating a new creature (before the first simulation step is performed for this creature), otherwise the further simulation could be disturbed.]]></description>
+			<description><![CDATA[Rotate the creature around (local) X, Y and Z axes. Should only be used immediately after creating a new creature (before the first simulation step is performed for this creature), otherwise further simulation can be disturbed.]]></description>
 			<arguments>
 				<argument name="x" type="float"/>
@@ -582,4 +582,14 @@
 		</element>
 		<element name="readUntilEOF" function="true" type="string"><arguments/></element>
+		<element name="system" function="true" type="integer">
+			<description><![CDATA[Invokes a system command, returns its return code (0 usually means it was completed successfully)
+
+Example:
+File.system("wget",["-O","/tmp/filename","http://example.com/file"]);]]></description>
+			<arguments>
+				<argument name="executable" type="string"/>
+				<argument name="string arguments" type="Vector"/>
+			</arguments>
+		</element>
 		<element name="writeComment" function="true" type="void">
 			<arguments>
@@ -651,8 +661,8 @@
 		<element name="name" type="string"/>
 		<element name="size" type="integer">
-			<description><![CDATA[In standard.expdef, this is equivalent to the number of unique genotypes. Standard experiment definition uses the Genotype.popsiz field to indicate that some genotypes exist in multiple instances despite having only one item in the group. Other experiment definitions may create multiple copies of the same genotype.]]></description>
+			<description><![CDATA[In standard.expdef, this is equivalent to the number of unique genotypes. Standard experiment definition uses the Genotype.instances field to indicate that some genotypes exist in multiple instances despite having only one item in the group. Other experiment definitions may create multiple copies of the same genotype.]]></description>
 		</element>
 		<element name="totalpop" type="integer">
-			<description><![CDATA[Takes into account the Genotype.popsiz field (which may give the total number of instances depending on the experiment definition)]]></description>
+			<description><![CDATA[Takes into account the Genotype.instances field (which may give the total number of instances depending on the experiment definition)]]></description>
 		</element>
 		<element name="addGeno" function="true" type="Genotype">
@@ -716,5 +726,5 @@
 		</element>
 		<element name="addPerformanceFromCreature" function="true" type="void">
-			<description><![CDATA[Updates the current Genotype's performance values merging them with the current Creture's performance. It assumes the Genotype.popsiz has a reasonable value and performs the proper weighting. Use your own function instead if these conditions are not met in your experiment.]]></description>
+			<description><![CDATA[Updates the current Genotype's performance values merging them with the current Creture's performance. It assumes the Genotype.instances has a reasonable value and performs the proper weighting. Use your own function instead if these conditions are not met in your experiment.]]></description>
 <arguments/></element>
 		<element name="clear" function="true" type="void">
@@ -745,5 +755,5 @@
 		</element>
 		<element name="deleteOne" function="true" type="void">
-			<description><![CDATA[delete one individual from the gene pool = decrease popsiz and delete the genotype if the popsiz goes to 0]]></description>
+			<description><![CDATA[delete one individual from the gene pool = decrease 'instances' and delete the genotype if the 'instances' goes to 0]]></description>
 			<arguments>
 				<argument name="genotype index" type="integer"/>
@@ -1140,5 +1150,5 @@
 		</element>
 		<element name="neuadd_Fuzzy" type="integer" min="0" max="1">
-			<description><![CDATA[Refer to publications to learn about this neuron
+			<description><![CDATA[Refer to publications to learn more about this neuron.
 
 Characteristics:
@@ -1155,5 +1165,7 @@
 		</element>
 		<element name="neuadd_VEye" type="integer" min="0" max="1">
-			<description><![CDATA[Characteristics:
+			<description><![CDATA[Refer to publications to learn more about this neuron.
+
+Characteristics:
    uses single input
    provides output value
@@ -1173,5 +1185,5 @@
 		</element>
 		<element name="neuadd_VMotor" type="integer" min="0" max="1">
-			<description><![CDATA[Must be connected to the VEye and properly set up.
+			<description><![CDATA[Must be connected to the VEye and properly set up. Refer to publications to learn more about this neuron.
 
 Characteristics:
@@ -1411,5 +1423,5 @@
 		<element name="fit" type="float"/>
 		<element name="fit2" type="float">
-			<description><![CDATA[Fitnes shifted by (avg-n*stddev)]]></description>
+			<description><![CDATA[Fitness shifted by (avg-n*stddev)]]></description>
 		</element>
 		<element name="geno" type="Geno">
@@ -1421,5 +1433,7 @@
 			<description><![CDATA[Additional information or comments]]></description>
 		</element>
-		<element name="instances" type="integer"/>
+		<element name="instances" type="integer">
+			<description><![CDATA[Copies of this genotype]]></description>
+		</element>
 		<element name="isValid" type="integer" min="0" max="1"/>
 		<element name="lifespan" type="float">
@@ -1427,10 +1441,6 @@
 		</element>
 		<element name="name" type="string"/>
-		<element name="nncon" type="float">
-			<description><![CDATA[(deprecated) old name for numconnections]]></description>
-		</element>
-		<element name="nnsiz" type="float">
-			<description><![CDATA[(deprecated) old name for numneurons]]></description>
-		</element>
+		<element name="nncon" type="float"/>
+		<element name="nnsiz" type="float"/>
 		<element name="num" type="integer"/>
 		<element name="numconnections" type="float"/>
@@ -1438,14 +1448,8 @@
 		<element name="numneurons" type="float"/>
 		<element name="numparts" type="float"/>
-		<element name="popsiz" type="integer">
-			<description><![CDATA[(deprecated) old name for instances]]></description>
-		</element>
+		<element name="popsiz" type="integer"/>
 		<element name="simi" type="float"/>
-		<element name="strjoints" type="float">
-			<description><![CDATA[(deprecated) old name for numjoints]]></description>
-		</element>
-		<element name="strsiz" type="float">
-			<description><![CDATA[(deprecated) old name for numparts]]></description>
-		</element>
+		<element name="strjoints" type="float"/>
+		<element name="strsiz" type="float"/>
 		<element name="uid" type="string">
 			<description><![CDATA[Unique identifier]]></description>
@@ -1486,8 +1490,8 @@
 		<element name="name" type="string"/>
 		<element name="size" type="integer">
-			<description><![CDATA[In standard.expdef, this is equivalent to the number of unique genotypes. Standard experiment definition uses the Genotype.popsiz field to indicate that some genotypes exist in multiple instances despite having only one item in the group. Other experiment definitions may create multiple copies of the same genotype.]]></description>
+			<description><![CDATA[In standard.expdef, this is equivalent to the number of unique genotypes. Standard experiment definition uses the Genotype.instances field to indicate that some genotypes exist in multiple instances despite having only one item in the group. Other experiment definitions may create multiple copies of the same genotype.]]></description>
 		</element>
 		<element name="totalpop" type="integer">
-			<description><![CDATA[Takes into account the Genotype.popsiz field (which may give the total number of instances depending on the experiment definition)]]></description>
+			<description><![CDATA[Takes into account the Genotype.instances field (which may give the total number of instances depending on the experiment definition)]]></description>
 		</element>
 		<element name="addGeno" function="true" type="Genotype">
@@ -2488,5 +2492,5 @@
 There are 2 kinds of data you can receive:
 1. aggregating functions (receive and receiveFilter) calculate the overall power of the received signal (based on the distance and the source power).
-2.receiveSet and receiveSingle fetch the individual Signal object(s) so it is possible to transmit something else than just a single number (by using Signal.value) and do more sophisticated processing.
+2. receiveSet and receiveSingle fetch the individual Signal object(s) so it is possible to transmit something else than just a single number (by using Signal.value) and do more sophisticated processing.
 
 Creating: Use "add" in Creature.signals, Neuro.signals, or World.signals.]]></description>
@@ -2883,5 +2887,5 @@
 		</element>
 		<element name="neuadd_Fuzzy" type="integer" min="0" max="1">
-			<description><![CDATA[Refer to publications to learn about this neuron
+			<description><![CDATA[Refer to publications to learn more about this neuron.
 
 Characteristics:
@@ -2898,5 +2902,7 @@
 		</element>
 		<element name="neuadd_VEye" type="integer" min="0" max="1">
-			<description><![CDATA[Characteristics:
+			<description><![CDATA[Refer to publications to learn more about this neuron.
+
+Characteristics:
    uses single input
    provides output value
@@ -2916,5 +2922,5 @@
 		</element>
 		<element name="neuadd_VMotor" type="integer" min="0" max="1">
-			<description><![CDATA[Must be connected to the VEye and properly set up.
+			<description><![CDATA[Must be connected to the VEye and properly set up. Refer to publications to learn more about this neuron.
 
 Characteristics:
@@ -3127,5 +3133,5 @@
 		</element>
 		<element name="ncl_Fuzzy" type="integer" min="0" max="1">
-			<description><![CDATA[Refer to publications to learn about this neuron
+			<description><![CDATA[Refer to publications to learn more about this neuron.
 
 Characteristics:
@@ -3142,5 +3148,7 @@
 		</element>
 		<element name="ncl_VEye" type="integer" min="0" max="1">
-			<description><![CDATA[Characteristics:
+			<description><![CDATA[Refer to publications to learn more about this neuron.
+
+Characteristics:
    uses single input
    provides output value
@@ -3160,5 +3168,5 @@
 		</element>
 		<element name="ncl_VMotor" type="integer" min="0" max="1">
-			<description><![CDATA[Must be connected to the VEye and properly set up.
+			<description><![CDATA[Must be connected to the VEye and properly set up. Refer to publications to learn more about this neuron.
 
 Characteristics:
@@ -4452,5 +4460,5 @@
 		<element name="fit" type="float"/>
 		<element name="fit2" type="float">
-			<description><![CDATA[Fitnes shifted by (avg-n*stddev)]]></description>
+			<description><![CDATA[Fitness shifted by (avg-n*stddev)]]></description>
 		</element>
 		<element name="geno" type="Geno">
@@ -4462,5 +4470,7 @@
 			<description><![CDATA[Additional information or comments]]></description>
 		</element>
-		<element name="instances" type="integer"/>
+		<element name="instances" type="integer">
+			<description><![CDATA[Copies of this genotype]]></description>
+		</element>
 		<element name="isValid" type="integer" min="0" max="1"/>
 		<element name="lifespan" type="float">
@@ -4468,10 +4478,6 @@
 		</element>
 		<element name="name" type="string"/>
-		<element name="nncon" type="float">
-			<description><![CDATA[(deprecated) old name for numconnections]]></description>
-		</element>
-		<element name="nnsiz" type="float">
-			<description><![CDATA[(deprecated) old name for numneurons]]></description>
-		</element>
+		<element name="nncon" type="float"/>
+		<element name="nnsiz" type="float"/>
 		<element name="num" type="integer"/>
 		<element name="numconnections" type="float"/>
@@ -4479,14 +4485,8 @@
 		<element name="numneurons" type="float"/>
 		<element name="numparts" type="float"/>
-		<element name="popsiz" type="integer">
-			<description><![CDATA[(deprecated) old name for instances]]></description>
-		</element>
+		<element name="popsiz" type="integer"/>
 		<element name="simi" type="float"/>
-		<element name="strjoints" type="float">
-			<description><![CDATA[(deprecated) old name for numjoints]]></description>
-		</element>
-		<element name="strsiz" type="float">
-			<description><![CDATA[(deprecated) old name for numparts]]></description>
-		</element>
+		<element name="strjoints" type="float"/>
+		<element name="strsiz" type="float"/>
 		<element name="uid" type="string">
 			<description><![CDATA[Unique identifier]]></description>
@@ -4566,5 +4566,5 @@
 		<element name="numparts" type="integer"/>
 		<element name="orient" type="Orient">
-			<description><![CDATA[by convention the creature orientation is equal to its first part orientation]]></description>
+			<description><![CDATA[By convention, the orientation of the creature is equal to the orientation of its first Part]]></description>
 		</element>
 		<element name="othermask" type="integer" min="0" max="2147483647" default="0"/>
@@ -4590,5 +4590,5 @@
 		<element name="signals" type="CreatureSignals"/>
 		<element name="size_x" type="float">
-			<description><![CDATA[(size_x,size_y,size_z) are dimensions of the axis-aligned bounding box of the creature, including the imaginary part sizes (Part.s, usually 1.0). A creature consisting of a single default part has the size of (2.0,2.0,2.0) - twice the Part.s value (like a sphere diameter is twice its radius).
+			<description><![CDATA[(size_x,size_y,size_z) are dimensions of the axis-aligned bounding box of the creature, including the imaginary part sizes (Part.s, usually 1.0). A creature consisting of a single default Part has the size of (2.0,2.0,2.0) - twice the Part.s value (like a sphere diameter is twice its radius).
 See also: Creature.moveAbs]]></description>
 		</element>
@@ -4657,5 +4657,5 @@
 
 origin (pos_x,pos_y,pos_z) = (-1,-1,-1)
-size (size_x,size_y,size_z) = (2,1,1)
+size (size_x,size_y,size_z) = (3,2,2)
 
 The following example places the bottom of a creature at a given location (x,y,z):
@@ -4684,5 +4684,5 @@
 		</element>
 		<element name="rotateLocal" function="true" type="void">
-			<description><![CDATA[Rotate the creature around (local) X, Y and Z axes. Should only be used immediately after creating a new creature (before the first simulation step is performed for this creature), otherwise the further simulation could be disturbed.]]></description>
+			<description><![CDATA[Rotate the creature around (local) X, Y and Z axes. Should only be used immediately after creating a new creature (before the first simulation step is performed for this creature), otherwise further simulation can be disturbed.]]></description>
 			<arguments>
 				<argument name="x" type="float"/>
@@ -5143,5 +5143,5 @@
 There are 2 kinds of data you can receive:
 1. aggregating functions (receive and receiveFilter) calculate the overall power of the received signal (based on the distance and the source power).
-2.receiveSet and receiveSingle fetch the individual Signal object(s) so it is possible to transmit something else than just a single number (by using Signal.value) and do more sophisticated processing.
+2. receiveSet and receiveSingle fetch the individual Signal object(s) so it is possible to transmit something else than just a single number (by using Signal.value) and do more sophisticated processing.
 
 Creating: Use "add" in Creature.signals, Neuro.signals, or World.signals.]]></description>
