diff --git a/.bzrignore b/.bzrignore
index ee56d8e3e3242e1cc21141f328dae3709eb32b82..563f5df3a4db8ac4a1c6904cf3c2600fc3df39de 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -158,3 +158,7 @@ examples/actors/xdfAST/XsiNoNamespaceSchemaLocation.java
 examples/actors/xdfAST/xdf.jj
 examples/actors/xlimAST/xlim.jj
 examples/scxml/scxml.jjt
+examples/actors/xdfAST
+examples/actors/xlimAST
+examples/actors/new_sdftest.xdf
+examples/actors/AddOne_0_Double_0_SubOne_0.xlim
diff --git a/examples/actors/AddFiveOnce_0.xlim b/examples/actors/AddFiveOnce_0.xlim
index b6fd5d81f15b8c28bde9628ff9e05ea13c7d3ce4..d4edba5dffe40ea6cd0589cb8e420868c929f3b2 100644
--- a/examples/actors/AddFiveOnce_0.xlim
+++ b/examples/actors/AddFiveOnce_0.xlim
@@ -3,6 +3,7 @@
     <actor-port dir="in" name="In" size="32" typeName="int"/>
     <actor-port dir="out" name="Out" size="32" typeName="int"/>
     <!--Action 0$id$w146ab2--><module autostart="false" kind="action" name="init">
+        <note kind="consumptionRates" name="In" value="1"/>
         <operation kind="pinRead" portName="In" removable="no" style="simple">
             <port dir="out" size="32" source="0$id$w146ab2b3b1" typeName="int"/>
         </operation>
@@ -13,23 +14,25 @@
             <port dir="in" source="0$id$w146ab2b3b1"/>
             <port dir="out" size="32" source="0$id$w146ab2b5b1ab1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w561ab3b5b1ab1b1--><operation kind="$literal_Integer" value="5">
-            <port dir="out" size="4" source="1$id$w561ab3b5b1ab1b1" typeName="int"/>
+        <!--Expr 2$id$w911ab4b5b1ab1b1--><operation kind="$literal_Integer" value="5">
+            <port dir="out" size="4" source="2$id$w911ab4b5b1ab1b1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w561ab3b5b1a--><operation kind="$add">
+        <!--Expr 1$id$w516ab3b5b1a--><operation kind="$add">
             <port dir="in" source="0$id$w146ab2b5b1ab1"/>
-            <port dir="in" source="1$id$w561ab3b5b1ab1b1"/>
-            <port dir="out" size="33" source="1$id$w561ab3b5b1a" typeName="int"/>
+            <port dir="in" source="2$id$w911ab4b5b1ab1b1"/>
+            <port dir="out" size="33" source="1$id$w516ab3b5b1a" typeName="int"/>
         </operation>
         <!--Expr 0$id$w146ab2b5b1--><operation kind="noop">
-            <port dir="in" source="1$id$w561ab3b5b1a"/>
+            <port dir="in" source="1$id$w516ab3b5b1a"/>
             <port dir="out" size="33" source="0$id$w146ab2b5b1" typeName="int"/>
         </operation>
         <operation kind="pinWrite" portName="Out" style="simple">
             <port dir="in" source="0$id$w146ab2b5b1"/>
         </operation>
+        <note kind="productionRates" name="Out" value="1"/>
     </module>
     <!--Action 0$id$w146ab3--><module autostart="false" kind="action" name="run">
+        <note kind="consumptionRates" name="In" value="1"/>
         <operation kind="pinRead" portName="In" removable="no" style="simple">
             <port dir="out" size="32" source="0$id$w146ab3b3b1" typeName="int"/>
         </operation>
@@ -47,18 +50,22 @@
         <operation kind="pinWrite" portName="Out" style="simple">
             <port dir="in" source="0$id$w146ab3b5b1"/>
         </operation>
+        <note kind="productionRates" name="Out" value="1"/>
     </module>
-    <stateVar name="0$id$w146a$fsm$init">
-        <initValue size="1" typeName="bool" value="1"/>
-    </stateVar>
-    <stateVar name="0$id$w146a$fsm$run">
-        <initValue size="1" typeName="bool" value="0"/>
+    <stateVar name="currentState">
+        <initValue size="32" typeName="int" value="1"/>
     </stateVar>
     <module autostart="true" kind="action-scheduler" name="action-scheduler"
             sourceName="action-scheduler">
         <operation kind="$literal_Integer" value="1">
             <port dir="out" size="1" source="0$id$w146a$sched$true" typeName="bool"/>
         </operation>
+        <operation kind="$literal_Integer" value="1">
+            <port dir="out" size="32" source="0$id$w146a$fsm$init" typeName="int"/>
+        </operation>
+        <operation kind="$literal_Integer" value="2">
+            <port dir="out" size="32" source="0$id$w146a$fsm$run" typeName="int"/>
+        </operation>
         <module kind="loop">
             <module decision="0$id$w146a$sched$true$loop" kind="test">
                 <operation kind="noop">
@@ -108,29 +115,46 @@
                     <port dir="in" source="0$id$w146ab3b3$ready"/>
                     <port dir="out" size="1" source="0$id$w146ab3$guard" typeName="bool"/>
                 </operation>
-                <operation kind="pinStatus" portName="Out">
-                    <port dir="out" size="1" source="0$id$w146ab1$status" typeName="bool"/>
+                <operation kind="pinAvail" portName="Out">
+                    <port dir="out" size="32" source="0$id$w146ab1$status" typeName="int"/>
                 </operation>
-                <operation kind="$and">
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w146ab2$Out$exprCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
                     <port dir="in" source="0$id$w146ab1$status"/>
-                    <port dir="out" size="1" source="0$id$w146ab2$fireable" typeName="bool"/>
+                    <port dir="in" source="0$id$w146ab2$Out$exprCount"/>
+                    <port dir="out" size="1" source="0$id$w146ab2$Out" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="1" source="0$id$w146ab2$true" typeName="bool"/>
                 </operation>
                 <operation kind="$and">
+                    <port dir="in" source="0$id$w146ab2$true"/>
+                    <port dir="in" source="0$id$w146ab2$Out"/>
+                    <port dir="out" size="1" source="0$id$w146ab2$fireable" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w146ab3$Out$exprCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
                     <port dir="in" source="0$id$w146ab1$status"/>
-                    <port dir="out" size="1" source="0$id$w146ab3$fireable" typeName="bool"/>
+                    <port dir="in" source="0$id$w146ab3$Out$exprCount"/>
+                    <port dir="out" size="1" source="0$id$w146ab3$Out" typeName="bool"/>
                 </operation>
-                <operation kind="noop">
-                    <port dir="in" source="0$id$w146a$fsm$init"/>
-                    <port dir="out" size="1" source="0$id$w146a$fsm$copy$init" typeName="bool"/>
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="1" source="0$id$w146ab3$true" typeName="bool"/>
                 </operation>
-                <operation kind="noop">
-                    <port dir="in" source="0$id$w146a$fsm$run"/>
-                    <port dir="out" size="1" source="0$id$w146a$fsm$copy$run" typeName="bool"/>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w146ab3$true"/>
+                    <port dir="in" source="0$id$w146ab3$Out"/>
+                    <port dir="out" size="1" source="0$id$w146ab3$fireable" typeName="bool"/>
                 </operation>
                 <module kind="if">
                     <module decision="init$enabled" kind="test">
-                        <operation kind="noop">
-                            <port dir="in" source="0$id$w146a$fsm$copy$init"/>
+                        <operation kind="$eq">
+                            <port dir="in" source="0$id$w146a$fsm$init"/>
+                            <port dir="in" source="currentState"/>
                             <port dir="out" size="1" source="init$enabled" typeName="bool"/>
                         </operation>
                     </module>
@@ -152,17 +176,8 @@
                                     </module>
                                     <module kind="then">
                                         <operation kind="taskCall" target="init"/>
-                                        <operation kind="$literal_Integer" value="0">
-                                            <port dir="out" size="1" source="d985e1$false" typeName="bool"/>
-                                        </operation>
-                                        <operation kind="$literal_Integer" value="1">
-                                            <port dir="out" size="1" source="d985e1$true" typeName="bool"/>
-                                        </operation>
-                                        <operation kind="assign" target="0$id$w146a$fsm$init">
-                                            <port dir="in" source="d985e1$false"/>
-                                        </operation>
-                                        <operation kind="assign" target="0$id$w146a$fsm$run">
-                                            <port dir="in" source="d985e1$true"/>
+                                        <operation kind="assign" target="currentState">
+                                            <port dir="in" source="0$id$w146a$fsm$run"/>
                                         </operation>
                                     </module>
                                 </module>
@@ -172,8 +187,9 @@
                     <module kind="else">
                         <module kind="if">
                             <module decision="run$enabled" kind="test">
-                                <operation kind="noop">
-                                    <port dir="in" source="0$id$w146a$fsm$copy$run"/>
+                                <operation kind="$eq">
+                                    <port dir="in" source="0$id$w146a$fsm$run"/>
+                                    <port dir="in" source="currentState"/>
                                     <port dir="out" size="1" source="run$enabled" typeName="bool"/>
                                 </operation>
                             </module>
@@ -195,14 +211,8 @@
                                             </module>
                                             <module kind="then">
                                                 <operation kind="taskCall" target="run"/>
-                                                <operation kind="$literal_Integer" value="0">
-                                                    <port dir="out" size="1" source="d986e1$false" typeName="bool"/>
-                                                </operation>
-                                                <operation kind="$literal_Integer" value="1">
-                                                    <port dir="out" size="1" source="d986e1$true" typeName="bool"/>
-                                                </operation>
-                                                <operation kind="assign" target="0$id$w146a$fsm$run">
-                                                    <port dir="in" source="d986e1$true"/>
+                                                <operation kind="assign" target="currentState">
+                                                    <port dir="in" source="0$id$w146a$fsm$run"/>
                                                 </operation>
                                             </module>
                                         </module>
diff --git a/examples/actors/AddOne_0.xlim b/examples/actors/AddOne_0.xlim
index 96132a7ab524f5c6868caac50524bbbb1be508bb..ad5ad180fb1985dde3731dbb13af7495f54bea5b 100644
--- a/examples/actors/AddOne_0.xlim
+++ b/examples/actors/AddOne_0.xlim
@@ -3,6 +3,7 @@
     <actor-port dir="in" name="In" size="32" typeName="int"/>
     <actor-port dir="out" name="Out" size="32" typeName="int"/>
     <!--Action 0$id$w86ab2--><module autostart="false" kind="action" name="actionAtLine_3">
+        <note kind="consumptionRates" name="In" value="1"/>
         <operation kind="pinRead" portName="In" removable="no" style="simple">
             <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
         </operation>
@@ -12,22 +13,26 @@
             <port dir="in" source="0$id$w86ab2b1b1"/>
             <port dir="out" size="32" source="0$id$w86ab2b3b1ab1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w352ab3b3b1ab1b1--><operation kind="$literal_Integer" value="1">
-            <port dir="out" size="2" source="1$id$w352ab3b3b1ab1b1" typeName="int"/>
+        <!--Expr 2$id$w585ab4b3b1ab1b1--><operation kind="$literal_Integer" value="1">
+            <port dir="out" size="2" source="2$id$w585ab4b3b1ab1b1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w352ab3b3b1a--><operation kind="$add">
+        <!--Expr 1$id$w336ab3b3b1a--><operation kind="$add">
             <port dir="in" source="0$id$w86ab2b3b1ab1"/>
-            <port dir="in" source="1$id$w352ab3b3b1ab1b1"/>
-            <port dir="out" size="33" source="1$id$w352ab3b3b1a" typeName="int"/>
+            <port dir="in" source="2$id$w585ab4b3b1ab1b1"/>
+            <port dir="out" size="33" source="1$id$w336ab3b3b1a" typeName="int"/>
         </operation>
         <!--Expr 0$id$w86ab2b3b1--><operation kind="noop">
-            <port dir="in" source="1$id$w352ab3b3b1a"/>
+            <port dir="in" source="1$id$w336ab3b3b1a"/>
             <port dir="out" size="33" source="0$id$w86ab2b3b1" typeName="int"/>
         </operation>
         <operation kind="pinWrite" portName="Out" style="simple">
             <port dir="in" source="0$id$w86ab2b3b1"/>
         </operation>
+        <note kind="productionRates" name="Out" value="1"/>
     </module>
+    <stateVar name="currentState">
+        <initValue size="32" typeName="int" value="1"/>
+    </stateVar>
     <module autostart="true" kind="action-scheduler" name="action-scheduler"
             sourceName="action-scheduler">
         <operation kind="$literal_Integer" value="1">
@@ -63,11 +68,23 @@
                     <port dir="in" source="0$id$w86ab2b1$ready"/>
                     <port dir="out" size="1" source="0$id$w86ab2$guard" typeName="bool"/>
                 </operation>
-                <operation kind="pinStatus" portName="Out">
-                    <port dir="out" size="1" source="0$id$w86ab1$status" typeName="bool"/>
+                <operation kind="pinAvail" portName="Out">
+                    <port dir="out" size="32" source="0$id$w86ab1$status" typeName="int"/>
                 </operation>
-                <operation kind="$and">
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w86ab2$Out$exprCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
                     <port dir="in" source="0$id$w86ab1$status"/>
+                    <port dir="in" source="0$id$w86ab2$Out$exprCount"/>
+                    <port dir="out" size="1" source="0$id$w86ab2$Out" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="1" source="0$id$w86ab2$true" typeName="bool"/>
+                </operation>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w86ab2$true"/>
+                    <port dir="in" source="0$id$w86ab2$Out"/>
                     <port dir="out" size="1" source="0$id$w86ab2$fireable" typeName="bool"/>
                 </operation>
                 <module kind="if">
diff --git a/examples/actors/Double_0.xlim b/examples/actors/Double_0.xlim
index 538a401fa1ef727e17795f4301fd9f49e52b5950..8f019d3b8a2eddd002a9c69d37cf94a08042dcf4 100644
--- a/examples/actors/Double_0.xlim
+++ b/examples/actors/Double_0.xlim
@@ -3,6 +3,7 @@
     <actor-port dir="in" name="In" size="32" typeName="int"/>
     <actor-port dir="out" name="Out" size="32" typeName="int"/>
     <!--Action 0$id$w86ab2--><module autostart="false" kind="action" name="actionAtLine_3">
+        <note kind="consumptionRates" name="In" value="1"/>
         <operation kind="pinRead" portName="In" removable="no" style="simple">
             <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
         </operation>
@@ -12,22 +13,26 @@
             <port dir="in" source="0$id$w86ab2b1b1"/>
             <port dir="out" size="32" source="0$id$w86ab2b3b1ab1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w352ab3b3b1ab1b1--><operation kind="$literal_Integer" value="2">
-            <port dir="out" size="3" source="1$id$w352ab3b3b1ab1b1" typeName="int"/>
+        <!--Expr 2$id$w585ab4b3b1ab1b1--><operation kind="$literal_Integer" value="2">
+            <port dir="out" size="3" source="2$id$w585ab4b3b1ab1b1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w352ab3b3b1a--><operation kind="$mul">
+        <!--Expr 1$id$w336ab3b3b1a--><operation kind="$mul">
             <port dir="in" source="0$id$w86ab2b3b1ab1"/>
-            <port dir="in" source="1$id$w352ab3b3b1ab1b1"/>
-            <port dir="out" size="32" source="1$id$w352ab3b3b1a" typeName="int"/>
+            <port dir="in" source="2$id$w585ab4b3b1ab1b1"/>
+            <port dir="out" size="32" source="1$id$w336ab3b3b1a" typeName="int"/>
         </operation>
         <!--Expr 0$id$w86ab2b3b1--><operation kind="noop">
-            <port dir="in" source="1$id$w352ab3b3b1a"/>
+            <port dir="in" source="1$id$w336ab3b3b1a"/>
             <port dir="out" size="32" source="0$id$w86ab2b3b1" typeName="int"/>
         </operation>
         <operation kind="pinWrite" portName="Out" style="simple">
             <port dir="in" source="0$id$w86ab2b3b1"/>
         </operation>
+        <note kind="productionRates" name="Out" value="1"/>
     </module>
+    <stateVar name="currentState">
+        <initValue size="32" typeName="int" value="1"/>
+    </stateVar>
     <module autostart="true" kind="action-scheduler" name="action-scheduler"
             sourceName="action-scheduler">
         <operation kind="$literal_Integer" value="1">
@@ -63,11 +68,23 @@
                     <port dir="in" source="0$id$w86ab2b1$ready"/>
                     <port dir="out" size="1" source="0$id$w86ab2$guard" typeName="bool"/>
                 </operation>
-                <operation kind="pinStatus" portName="Out">
-                    <port dir="out" size="1" source="0$id$w86ab1$status" typeName="bool"/>
+                <operation kind="pinAvail" portName="Out">
+                    <port dir="out" size="32" source="0$id$w86ab1$status" typeName="int"/>
                 </operation>
-                <operation kind="$and">
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w86ab2$Out$exprCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
                     <port dir="in" source="0$id$w86ab1$status"/>
+                    <port dir="in" source="0$id$w86ab2$Out$exprCount"/>
+                    <port dir="out" size="1" source="0$id$w86ab2$Out" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="1" source="0$id$w86ab2$true" typeName="bool"/>
+                </operation>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w86ab2$true"/>
+                    <port dir="in" source="0$id$w86ab2$Out"/>
                     <port dir="out" size="1" source="0$id$w86ab2$fireable" typeName="bool"/>
                 </operation>
                 <module kind="if">
diff --git a/examples/actors/MergeActors.java b/examples/actors/MergeActors.java
index 263ff7f5847e6bb7b8712c75e352fad49683fd10..f5cce19c23055e5ee01ac7bbda015cf0c6003df3 100644
--- a/examples/actors/MergeActors.java
+++ b/examples/actors/MergeActors.java
@@ -9,6 +9,8 @@
 import xdfAST.Start;
 import xdfAST.Instance;
 import java.util.HashSet;
+import java.io.PrintStream;
+import java.io.FileNotFoundException;
 
 public class MergeActors extends XdfParser {
 	public static void main(String args[]) {
@@ -27,7 +29,11 @@ public class MergeActors extends XdfParser {
 // 		}
 
 		ast.mergeActors();
-//  		ast.prettyPrint("",System.out);
+		try {
+			ast.prettyPrint("",new PrintStream("new_"+args[0]));
+		} catch (FileNotFoundException e) {
+			System.out.println("Could not generate modified xdf file");
+		}
 	}
 }
 
diff --git a/examples/actors/SubOne_0.xlim b/examples/actors/SubOne_0.xlim
index 03b3721eca734463b27696fbf7ad1d4599f1e124..413bed6d92ac271159a5c3a54c5133cec764f043 100644
--- a/examples/actors/SubOne_0.xlim
+++ b/examples/actors/SubOne_0.xlim
@@ -3,6 +3,7 @@
     <actor-port dir="in" name="In" size="32" typeName="int"/>
     <actor-port dir="out" name="Out" size="32" typeName="int"/>
     <!--Action 0$id$w86ab2--><module autostart="false" kind="action" name="actionAtLine_3">
+        <note kind="consumptionRates" name="In" value="1"/>
         <operation kind="pinRead" portName="In" removable="no" style="simple">
             <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
         </operation>
@@ -12,22 +13,26 @@
             <port dir="in" source="0$id$w86ab2b1b1"/>
             <port dir="out" size="32" source="0$id$w86ab2b3b1ab1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w352ab3b3b1ab1b1--><operation kind="$literal_Integer" value="1">
-            <port dir="out" size="2" source="1$id$w352ab3b3b1ab1b1" typeName="int"/>
+        <!--Expr 2$id$w585ab4b3b1ab1b1--><operation kind="$literal_Integer" value="1">
+            <port dir="out" size="2" source="2$id$w585ab4b3b1ab1b1" typeName="int"/>
         </operation>
-        <!--Expr 1$id$w352ab3b3b1a--><operation kind="$sub">
+        <!--Expr 1$id$w336ab3b3b1a--><operation kind="$sub">
             <port dir="in" source="0$id$w86ab2b3b1ab1"/>
-            <port dir="in" source="1$id$w352ab3b3b1ab1b1"/>
-            <port dir="out" size="33" source="1$id$w352ab3b3b1a" typeName="int"/>
+            <port dir="in" source="2$id$w585ab4b3b1ab1b1"/>
+            <port dir="out" size="33" source="1$id$w336ab3b3b1a" typeName="int"/>
         </operation>
         <!--Expr 0$id$w86ab2b3b1--><operation kind="noop">
-            <port dir="in" source="1$id$w352ab3b3b1a"/>
+            <port dir="in" source="1$id$w336ab3b3b1a"/>
             <port dir="out" size="33" source="0$id$w86ab2b3b1" typeName="int"/>
         </operation>
         <operation kind="pinWrite" portName="Out" style="simple">
             <port dir="in" source="0$id$w86ab2b3b1"/>
         </operation>
+        <note kind="productionRates" name="Out" value="1"/>
     </module>
+    <stateVar name="currentState">
+        <initValue size="32" typeName="int" value="1"/>
+    </stateVar>
     <module autostart="true" kind="action-scheduler" name="action-scheduler"
             sourceName="action-scheduler">
         <operation kind="$literal_Integer" value="1">
@@ -63,11 +68,23 @@
                     <port dir="in" source="0$id$w86ab2b1$ready"/>
                     <port dir="out" size="1" source="0$id$w86ab2$guard" typeName="bool"/>
                 </operation>
-                <operation kind="pinStatus" portName="Out">
-                    <port dir="out" size="1" source="0$id$w86ab1$status" typeName="bool"/>
+                <operation kind="pinAvail" portName="Out">
+                    <port dir="out" size="32" source="0$id$w86ab1$status" typeName="int"/>
                 </operation>
-                <operation kind="$and">
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w86ab2$Out$exprCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
                     <port dir="in" source="0$id$w86ab1$status"/>
+                    <port dir="in" source="0$id$w86ab2$Out$exprCount"/>
+                    <port dir="out" size="1" source="0$id$w86ab2$Out" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="1" source="0$id$w86ab2$true" typeName="bool"/>
+                </operation>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w86ab2$true"/>
+                    <port dir="in" source="0$id$w86ab2$Out"/>
                     <port dir="out" size="1" source="0$id$w86ab2$fireable" typeName="bool"/>
                 </operation>
                 <module kind="if">
diff --git a/examples/actors/sdftest.xdf b/examples/actors/sdftest.xdf
index de0a19c9e39bb3e8e1d41f63d19170c5f8460141..f24f6214a5612d8c97826217fa63cc8a7c0ffdd2 100644
--- a/examples/actors/sdftest.xdf
+++ b/examples/actors/sdftest.xdf
@@ -103,7 +103,7 @@
                     </Expr>
                 </Guards>
             </Action>
-            <Note kind="filepath" value="/home/csandersn/work/actors/example//art_Source_txt.cal"/>
+            <Note kind="filepath" value="/work/csandersn/actors/example//art_Source_txt.cal"/>
         </Actor>
         <Attribute kind="Value" name="clockDomain">
             <Expr kind="Literal" literal-kind="String" value="CLK"/>
@@ -147,7 +147,7 @@
                     </Expr>
                 </Output>
             </Action>
-            <Note kind="filepath" value="/home/csandersn/work/actors/example//AddOne.cal"/>
+            <Note kind="filepath" value="/work/csandersn/actors/example//AddOne.cal"/>
         </Actor>
         <Attribute kind="Value" name="clockDomain">
             <Expr kind="Literal" literal-kind="String" value="CLK"/>
@@ -191,7 +191,7 @@
                     </Expr>
                 </Output>
             </Action>
-            <Note kind="filepath" value="/home/csandersn/work/actors/example//Double.cal"/>
+            <Note kind="filepath" value="/work/csandersn/actors/example//Double.cal"/>
         </Actor>
         <Attribute kind="Value" name="clockDomain">
             <Expr kind="Literal" literal-kind="String" value="CLK"/>
@@ -235,7 +235,7 @@
                     </Expr>
                 </Output>
             </Action>
-            <Note kind="filepath" value="/home/csandersn/work/actors/example//SubOne.cal"/>
+            <Note kind="filepath" value="/work/csandersn/actors/example//SubOne.cal"/>
         </Actor>
         <Attribute kind="Value" name="clockDomain">
             <Expr kind="Literal" literal-kind="String" value="CLK"/>
@@ -302,7 +302,7 @@
                     </Expr>
                 </Output>
             </Action>
-            <Note kind="filepath" value="/home/csandersn/work/actors/example//AddFiveOnce.cal"/>
+            <Note kind="filepath" value="/work/csandersn/actors/example//AddFiveOnce.cal"/>
             <Schedule initial-state="init" kind="fsm" text-begin-col="3" text-begin-line="7"
                       text-end-col="3"
                       text-end-line="10">
@@ -401,7 +401,7 @@
                     </Args>
                 </Stmt>
             </Action>
-            <Note kind="filepath" value="/home/csandersn/work/actors/example//art_Sink_txt.cal"/>
+            <Note kind="filepath" value="/work/csandersn/actors/example//art_Sink_txt.cal"/>
         </Actor>
         <Attribute kind="Value" name="clockDomain">
             <Expr kind="Literal" literal-kind="String" value="CLK"/>
diff --git a/examples/actors/xdf/MergeActors.jrag b/examples/actors/xdf/MergeActors.jrag
index 6153a7d95e21e833ded20743a21ae4fd2d0a0094..b72d6e4301389f4b1df2cb91e994952feabec1fe 100644
--- a/examples/actors/xdf/MergeActors.jrag
+++ b/examples/actors/xdf/MergeActors.jrag
@@ -38,7 +38,7 @@ aspect MergeActors {
 						c.remove_me = true;
 						c.is$Final(false);
 					} else if (c.getSource() == i.next) {
-						c.setSource(i.id());
+						c.setSource("\""+i.id()+"\"");
 					}
 				}
 				System.out.println("Merging "+i.name()+":"+i.next.name());
diff --git a/examples/actors/xlim/GeneratedAspects.jrag b/examples/actors/xlim/GeneratedAspects.jrag
index b7f5eabf2ab21bebf49f7112c9f7e249939c7bfd..3a65692990a353ff8c32c809b2e89e5d3f680508 100644
--- a/examples/actors/xlim/GeneratedAspects.jrag
+++ b/examples/actors/xlim/GeneratedAspects.jrag
@@ -72,6 +72,23 @@ aspect PrettyPrinter {
     }
   }
 
+  public void note.prettyPrint(String ind, PrintStream pStream) {
+    pStream.print(ind+"<note ");
+    for (int i=0; i<getNumAttribute(); i++) {
+      getAttribute(i).prettyPrint(ind,pStream);
+    }
+    if (getNumElement() == 0) {
+       pStream.println("/> ");
+    } else {
+       pStream.println("> ");
+       String newInd = ind+"  ";
+       for (int i=0; i<getNumElement(); i++) {
+          getElement(i).prettyPrint(newInd,pStream);
+       }
+       pStream.println(ind+"</note> ");
+    }
+  }
+
   public void sourceName.prettyPrint(String indent, PrintStream pStream) {
     pStream.print(" sourceName=");
        getAttrValue().prettyPrint(indent,pStream);
@@ -215,7 +232,7 @@ aspect PrettyPrinter {
   }
 
   public void actor_port.prettyPrint(String ind, PrintStream pStream) {
-    pStream.print(ind+"<actor-port ");
+    pStream.print(ind+"<actor_port ");
     for (int i=0; i<getNumAttribute(); i++) {
       getAttribute(i).prettyPrint(ind,pStream);
     }
diff --git a/examples/actors/xlim/Merge.jrag b/examples/actors/xlim/Merge.jrag
index 46dbf2fb1f2d96afad121135966f003296223a7d..234c0aaf5f0fd8a52584549a83ad023753633429 100644
--- a/examples/actors/xlim/Merge.jrag
+++ b/examples/actors/xlim/Merge.jrag
@@ -17,9 +17,10 @@ aspect Merge {
 	public void design.merge(design dest) {
 		HashSet<module> ops = getActions(new HashSet<module>());
 		System.out.println("Adding actions to: "+name());
+		List<Element> eList = getElements();
 		for (module o : ops) {
 			System.out.println("   Adding "+o.name());
-			addElement(o);
+			eList.insertChild(o,eList.getNumChild()-2);
 		}
 	}
 }
diff --git a/examples/actors/xlim/xlim.ast b/examples/actors/xlim/xlim.ast
index 71561e87ef6c59d748d47866a8a95faf01d35f5c..56c680e89cae77df1806592a3f7833758111b251 100644
--- a/examples/actors/xlim/xlim.ast
+++ b/examples/actors/xlim/xlim.ast
@@ -24,6 +24,7 @@ XsiNoNamespaceSchemaLocation : Attribute ::=;
 // Generated types
 portName : Attribute ::= ;
 module : ComplexElement ::= ;
+note : ComplexElement ::= ;
 sourceName : Attribute ::= ;
 PHI : ComplexElement ::= ;
 kind : Attribute ::= ;
diff --git a/examples/actors/xlim/xlim.jjt b/examples/actors/xlim/xlim.jjt
index ca10b33d09d6759b017a3a51d29ba209526a77d1..e4db8493c9b0e868558cac5a778dd451f554f0a4 100644
--- a/examples/actors/xlim/xlim.jjt
+++ b/examples/actors/xlim/xlim.jjt
@@ -48,6 +48,7 @@ PARSER_END(XmlParser)
  | <XmlnsXsi		: "xmlns:xsi">
  | <portName		: "portName" >
  | <module		: "module" >
+ | <note		: "note" >
  | <sourceName		: "sourceName" >
  | <PHI		: "PHI" >
  | <kind		: "kind" >
@@ -277,14 +278,15 @@ void XmlnsXsi() #XmlnsXsi : {}
 void Element()  : {}
 {
  ( <LT> (
-  port()
+  design()
+  | module()
+  | PHI()
+  | port()
   | operation()
   | actor_port()
-  | PHI()
-  | design()
-  | module()
-  | initValue()
   | stateVar()
+  | note()
+  | initValue()
  )) 
  | SimpleElement()
 }
@@ -352,6 +354,11 @@ void module() #module : {}
    <module> AttributeList()
   ( <GT> ElementList()  "</" <module>  ">" | ElementList() "/>" )
 }
+void note() #note : {}
+{
+   <note> AttributeList()
+  ( <GT> ElementList()  "</" <note>  ">" | ElementList() "/>" )
+}
 void sourceName() #sourceName : {}
 {
   <sourceName> "=" AttrValue()
diff --git a/examples/xlim.xsd b/examples/xlim.xsd
index 5d126c8e2ee8a354a87d2ccb4f91141035712d62..eb9bffa4618751d9c0b64181b9c549fbad66961d 100644
--- a/examples/xlim.xsd
+++ b/examples/xlim.xsd
@@ -83,4 +83,11 @@
       </xs:sequence>
     </xs:complexType>
   </xs:element>
+  <xs:element name="note">
+    <xs:complexType>
+      <xs:attribute name="kind"/>
+      <xs:attribute name="name"/>
+      <xs:attribute name="value"/>
+    </xs:complexType>
+  </xs:element>
 </xs:schema>