diff --git a/examples/actors/xdf/SSRAnalysis.java b/examples/actors/xdf/SSRAnalysis.java
index 0590946c61cc9b16d8feab053f2be684adb9dddd..6615ac578335fab64e17baba925280c419607c0b 100644
--- a/examples/actors/xdf/SSRAnalysis.java
+++ b/examples/actors/xdf/SSRAnalysis.java
@@ -1,3 +1,11 @@
+/* -*-Java-*- */                                         
+
+/*
+ * Copyright (C) 2009  Anders Nilsson <anders.nilsson@cs.lth.se>
+ *                                                              
+ * This file is part of Actors model compiler.                      
+ */                                                             
+
 import xdfAST.Start;
 import xdfAST.Instance;
 import java.util.LinkedList;
diff --git a/examples/actors/xlim/AddFiveOnce_0.xlim b/examples/actors/xlim/AddFiveOnce_0.xlim
new file mode 100644
index 0000000000000000000000000000000000000000..b6fd5d81f15b8c28bde9628ff9e05ea13c7d3ce4
--- /dev/null
+++ b/examples/actors/xlim/AddFiveOnce_0.xlim
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Actor AddFiveOnce--><design name="AddFiveOnce">
+    <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">
+        <operation kind="pinRead" portName="In" removable="no" style="simple">
+            <port dir="out" size="32" source="0$id$w146ab2b3b1" typeName="int"/>
+        </operation>
+        
+        
+        
+        <!--Expr 0$id$w146ab2b5b1ab1--><operation kind="noop">
+            <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"/>
+        </operation>
+        <!--Expr 1$id$w561ab3b5b1a--><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"/>
+        </operation>
+        <!--Expr 0$id$w146ab2b5b1--><operation kind="noop">
+            <port dir="in" source="1$id$w561ab3b5b1a"/>
+            <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>
+    </module>
+    <!--Action 0$id$w146ab3--><module autostart="false" kind="action" name="run">
+        <operation kind="pinRead" portName="In" removable="no" style="simple">
+            <port dir="out" size="32" source="0$id$w146ab3b3b1" typeName="int"/>
+        </operation>
+        
+        
+        
+        <!--Expr 0$id$w146ab3b5b1a--><operation kind="noop">
+            <port dir="in" source="0$id$w146ab3b3b1"/>
+            <port dir="out" size="32" source="0$id$w146ab3b5b1a" typeName="int"/>
+        </operation>
+        <!--Expr 0$id$w146ab3b5b1--><operation kind="noop">
+            <port dir="in" source="0$id$w146ab3b5b1a"/>
+            <port dir="out" size="32" source="0$id$w146ab3b5b1" typeName="int"/>
+        </operation>
+        <operation kind="pinWrite" portName="Out" style="simple">
+            <port dir="in" source="0$id$w146ab3b5b1"/>
+        </operation>
+    </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>
+    <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>
+        <module kind="loop">
+            <module decision="0$id$w146a$sched$true$loop" kind="test">
+                <operation kind="noop">
+                    <port dir="in" source="0$id$w146a$sched$true"/>
+                    <port dir="out" size="1" source="0$id$w146a$sched$true$loop" typeName="bool"/>
+                </operation>
+            </module>
+            <module kind="body">
+                <operation kind="pinAvail" portName="In">
+                    <port dir="out" size="32" source="In$pinAvail" typeName="int"/>
+                </operation>
+                <!--Input peeks for action 0$id$w146ab2--><operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w146ab2b3$In$tokenCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
+                    <port dir="in" source="In$pinAvail"/>
+                    <port dir="in" source="0$id$w146ab2b3$In$tokenCount"/>
+                    <port dir="out" size="1" source="0$id$w146ab2b3$ready" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="0">
+                    <port dir="out" size="1" source="0$id$w146ab2b3b1$index$1" typeName="int"/>
+                </operation>
+                <operation kind="pinPeek" portName="In">
+                    <port dir="in" source="0$id$w146ab2b3b1$index$1"/>
+                    <port dir="out" size="32" source="0$id$w146ab2b3b1" typeName="int"/>
+                </operation>
+                <!--Local variables used in guards of action 0$id$w146ab2--><!--Guard for action 0$id$w146ab2--><operation kind="$and">
+                    <port dir="in" source="0$id$w146ab2b3$ready"/>
+                    <port dir="out" size="1" source="0$id$w146ab2$guard" typeName="bool"/>
+                </operation>
+                <!--Input peeks for action 0$id$w146ab3--><operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w146ab3b3$In$tokenCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
+                    <port dir="in" source="In$pinAvail"/>
+                    <port dir="in" source="0$id$w146ab3b3$In$tokenCount"/>
+                    <port dir="out" size="1" source="0$id$w146ab3b3$ready" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="0">
+                    <port dir="out" size="1" source="0$id$w146ab3b3b1$index$1" typeName="int"/>
+                </operation>
+                <operation kind="pinPeek" portName="In">
+                    <port dir="in" source="0$id$w146ab3b3b1$index$1"/>
+                    <port dir="out" size="32" source="0$id$w146ab3b3b1" typeName="int"/>
+                </operation>
+                <!--Local variables used in guards of action 0$id$w146ab3--><!--Guard for action 0$id$w146ab3--><operation kind="$and">
+                    <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>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w146ab1$status"/>
+                    <port dir="out" size="1" source="0$id$w146ab2$fireable" typeName="bool"/>
+                </operation>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w146ab1$status"/>
+                    <port dir="out" size="1" source="0$id$w146ab3$fireable" 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>
+                <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>
+                <module kind="if">
+                    <module decision="init$enabled" kind="test">
+                        <operation kind="noop">
+                            <port dir="in" source="0$id$w146a$fsm$copy$init"/>
+                            <port dir="out" size="1" source="init$enabled" typeName="bool"/>
+                        </operation>
+                    </module>
+                    <module kind="then">
+                        <module kind="if">
+                            <module decision="init$state$0$id$w146ab2$guard$read" kind="test">
+                                <operation kind="noop">
+                                    <port dir="in" source="0$id$w146ab2$guard"/>
+                                    <port dir="out" size="1" source="init$state$0$id$w146ab2$guard$read" typeName="bool"/>
+                                </operation>
+                            </module>
+                            <module kind="then">
+                                <module kind="if">
+                                    <module decision="init$state$0$id$w146ab2$fireable" kind="test">
+                                        <operation kind="noop">
+                                            <port dir="in" source="0$id$w146ab2$fireable"/>
+                                            <port dir="out" size="1" source="init$state$0$id$w146ab2$fireable" typeName="bool"/>
+                                        </operation>
+                                    </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>
+                                    </module>
+                                </module>
+                            </module>
+                        </module>
+                    </module>
+                    <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"/>
+                                    <port dir="out" size="1" source="run$enabled" typeName="bool"/>
+                                </operation>
+                            </module>
+                            <module kind="then">
+                                <module kind="if">
+                                    <module decision="run$state$0$id$w146ab3$guard$read" kind="test">
+                                        <operation kind="noop">
+                                            <port dir="in" source="0$id$w146ab3$guard"/>
+                                            <port dir="out" size="1" source="run$state$0$id$w146ab3$guard$read" typeName="bool"/>
+                                        </operation>
+                                    </module>
+                                    <module kind="then">
+                                        <module kind="if">
+                                            <module decision="run$state$0$id$w146ab3$fireable" kind="test">
+                                                <operation kind="noop">
+                                                    <port dir="in" source="0$id$w146ab3$fireable"/>
+                                                    <port dir="out" size="1" source="run$state$0$id$w146ab3$fireable" typeName="bool"/>
+                                                </operation>
+                                            </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>
+                                            </module>
+                                        </module>
+                                    </module>
+                                </module>
+                            </module>
+                        </module>
+                    </module>
+                </module>
+            </module>
+        </module>
+    </module>
+</design>
\ No newline at end of file
diff --git a/examples/actors/xlim/AddOne_0.xlim b/examples/actors/xlim/AddOne_0.xlim
new file mode 100644
index 0000000000000000000000000000000000000000..96132a7ab524f5c6868caac50524bbbb1be508bb
--- /dev/null
+++ b/examples/actors/xlim/AddOne_0.xlim
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Actor AddOne--><design name="AddOne">
+    <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">
+        <operation kind="pinRead" portName="In" removable="no" style="simple">
+            <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
+        </operation>
+        
+        
+        <!--Expr 0$id$w86ab2b3b1ab1--><operation kind="noop">
+            <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"/>
+        </operation>
+        <!--Expr 1$id$w352ab3b3b1a--><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"/>
+        </operation>
+        <!--Expr 0$id$w86ab2b3b1--><operation kind="noop">
+            <port dir="in" source="1$id$w352ab3b3b1a"/>
+            <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>
+    </module>
+    <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$w86a$sched$true" typeName="bool"/>
+        </operation>
+        <module kind="loop">
+            <module decision="0$id$w86a$sched$true$loop" kind="test">
+                <operation kind="noop">
+                    <port dir="in" source="0$id$w86a$sched$true"/>
+                    <port dir="out" size="1" source="0$id$w86a$sched$true$loop" typeName="bool"/>
+                </operation>
+            </module>
+            <module kind="body">
+                <operation kind="pinAvail" portName="In">
+                    <port dir="out" size="32" source="In$pinAvail" typeName="int"/>
+                </operation>
+                <!--Input peeks for action 0$id$w86ab2--><operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w86ab2b1$In$tokenCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
+                    <port dir="in" source="In$pinAvail"/>
+                    <port dir="in" source="0$id$w86ab2b1$In$tokenCount"/>
+                    <port dir="out" size="1" source="0$id$w86ab2b1$ready" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="0">
+                    <port dir="out" size="1" source="0$id$w86ab2b1b1$index$1" typeName="int"/>
+                </operation>
+                <operation kind="pinPeek" portName="In">
+                    <port dir="in" source="0$id$w86ab2b1b1$index$1"/>
+                    <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
+                </operation>
+                <!--Local variables used in guards of action 0$id$w86ab2--><!--Guard for action 0$id$w86ab2--><operation kind="$and">
+                    <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>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w86ab1$status"/>
+                    <port dir="out" size="1" source="0$id$w86ab2$fireable" typeName="bool"/>
+                </operation>
+                <module kind="if">
+                    <module decision="always$state$0$id$w86ab2$guard$read" kind="test">
+                        <operation kind="noop">
+                            <port dir="in" source="0$id$w86ab2$guard"/>
+                            <port dir="out" size="1" source="always$state$0$id$w86ab2$guard$read" typeName="bool"/>
+                        </operation>
+                    </module>
+                    <module kind="then">
+                        <module kind="if">
+                            <module decision="always$state$0$id$w86ab2$fireable" kind="test">
+                                <operation kind="noop">
+                                    <port dir="in" source="0$id$w86ab2$fireable"/>
+                                    <port dir="out" size="1" source="always$state$0$id$w86ab2$fireable" typeName="bool"/>
+                                </operation>
+                            </module>
+                            <module kind="then">
+                                <operation kind="taskCall" target="actionAtLine_3"/>
+                            </module>
+                        </module>
+                    </module>
+                </module>
+            </module>
+        </module>
+    </module>
+</design>
\ No newline at end of file
diff --git a/examples/actors/xlim/Double_0.xlim b/examples/actors/xlim/Double_0.xlim
new file mode 100644
index 0000000000000000000000000000000000000000..538a401fa1ef727e17795f4301fd9f49e52b5950
--- /dev/null
+++ b/examples/actors/xlim/Double_0.xlim
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Actor Double--><design name="Double">
+    <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">
+        <operation kind="pinRead" portName="In" removable="no" style="simple">
+            <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
+        </operation>
+        
+        
+        <!--Expr 0$id$w86ab2b3b1ab1--><operation kind="noop">
+            <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"/>
+        </operation>
+        <!--Expr 1$id$w352ab3b3b1a--><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"/>
+        </operation>
+        <!--Expr 0$id$w86ab2b3b1--><operation kind="noop">
+            <port dir="in" source="1$id$w352ab3b3b1a"/>
+            <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>
+    </module>
+    <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$w86a$sched$true" typeName="bool"/>
+        </operation>
+        <module kind="loop">
+            <module decision="0$id$w86a$sched$true$loop" kind="test">
+                <operation kind="noop">
+                    <port dir="in" source="0$id$w86a$sched$true"/>
+                    <port dir="out" size="1" source="0$id$w86a$sched$true$loop" typeName="bool"/>
+                </operation>
+            </module>
+            <module kind="body">
+                <operation kind="pinAvail" portName="In">
+                    <port dir="out" size="32" source="In$pinAvail" typeName="int"/>
+                </operation>
+                <!--Input peeks for action 0$id$w86ab2--><operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w86ab2b1$In$tokenCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
+                    <port dir="in" source="In$pinAvail"/>
+                    <port dir="in" source="0$id$w86ab2b1$In$tokenCount"/>
+                    <port dir="out" size="1" source="0$id$w86ab2b1$ready" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="0">
+                    <port dir="out" size="1" source="0$id$w86ab2b1b1$index$1" typeName="int"/>
+                </operation>
+                <operation kind="pinPeek" portName="In">
+                    <port dir="in" source="0$id$w86ab2b1b1$index$1"/>
+                    <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
+                </operation>
+                <!--Local variables used in guards of action 0$id$w86ab2--><!--Guard for action 0$id$w86ab2--><operation kind="$and">
+                    <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>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w86ab1$status"/>
+                    <port dir="out" size="1" source="0$id$w86ab2$fireable" typeName="bool"/>
+                </operation>
+                <module kind="if">
+                    <module decision="always$state$0$id$w86ab2$guard$read" kind="test">
+                        <operation kind="noop">
+                            <port dir="in" source="0$id$w86ab2$guard"/>
+                            <port dir="out" size="1" source="always$state$0$id$w86ab2$guard$read" typeName="bool"/>
+                        </operation>
+                    </module>
+                    <module kind="then">
+                        <module kind="if">
+                            <module decision="always$state$0$id$w86ab2$fireable" kind="test">
+                                <operation kind="noop">
+                                    <port dir="in" source="0$id$w86ab2$fireable"/>
+                                    <port dir="out" size="1" source="always$state$0$id$w86ab2$fireable" typeName="bool"/>
+                                </operation>
+                            </module>
+                            <module kind="then">
+                                <operation kind="taskCall" target="actionAtLine_3"/>
+                            </module>
+                        </module>
+                    </module>
+                </module>
+            </module>
+        </module>
+    </module>
+</design>
\ No newline at end of file
diff --git a/examples/actors/xlim/SDF.jrag b/examples/actors/xlim/SDF.jrag
new file mode 100644
index 0000000000000000000000000000000000000000..cb54f9d04fbfdb1b1d2886300c1e8edfded144f1
--- /dev/null
+++ b/examples/actors/xlim/SDF.jrag
@@ -0,0 +1,62 @@
+/* -*-Java-*- */                                         
+
+/*
+ * Copyright (C) 2009  Anders Nilsson <anders.nilsson@cs.lth.se>
+ *                                                              
+ * This file is part of Actors model compiler.                      
+ */                                                             
+
+aspect SDF {
+	syn boolean ASTNode.isSDF() = false;
+	eq Start.isSDF() = getSpecification().isSDF();
+	eq Specification.isSDF() {
+		boolean result = false;
+		for (Element e : getElements()) {
+			result |= e.isSDF();
+		}
+		return result;
+	}
+	eq design.isSDF() = nbrOfActions() == 1;
+}
+
+aspect Misc {
+	syn int design.nbrOfActions() {
+		int nbrActions = 0;
+		for (Element e : getElements()) {
+			if (e.isAction()) {
+				nbrActions++;
+			}
+		}
+		return nbrActions;
+	}
+
+	syn boolean Element.isAction() = false;
+	eq module.isAction() {
+		return kind().equals("action");
+	}
+
+	syn String module.kind() {
+		for (int i=0; i<getNumAttribute(); i++) {
+			Attribute a = getAttribute(i);
+			if (a instanceof kind) {
+				return fix(a.getAttrValue().getLITERAL());
+			}
+		}
+		return "";
+	}
+
+	static String ASTNode.fix(String s) {
+		if (s.indexOf('"') == 0) {
+			return s.substring(1,s.length()-1);
+		}
+		return s;
+	}
+
+}
+
+aspect Fixes {
+	int ASTNode.numChildren;
+	int ASTNode.numChildren() {return jjtGetNumChildren();}
+	int List.getNumNoTransformChild() {return getNumChildNoTransform();}
+	int Opt.getNumChildNoTransfrom() {return getNumChildNoTransform();}
+}
\ No newline at end of file
diff --git a/examples/actors/xlim/SDFAnalysis.java b/examples/actors/xlim/SDFAnalysis.java
new file mode 100644
index 0000000000000000000000000000000000000000..16217fb0c38c18296147845ee551487c5b1124fe
--- /dev/null
+++ b/examples/actors/xlim/SDFAnalysis.java
@@ -0,0 +1,19 @@
+/* -*-Java-*- */                                         
+
+/*
+ * Copyright (C) 2009  Anders Nilsson <anders.nilsson@cs.lth.se>
+ *                                                              
+ * This file is part of Actors model compiler.                      
+ */                                                             
+
+
+import xlimAST.Start;
+
+public class SDFAnalysis extends Parser {
+	public static void main(String args[]) {
+		Start ast = parse(args);
+
+		System.out.println(ast.isSDF());
+	}
+}
+
diff --git a/examples/actors/xlim/SubOne_0.xlim b/examples/actors/xlim/SubOne_0.xlim
new file mode 100644
index 0000000000000000000000000000000000000000..03b3721eca734463b27696fbf7ad1d4599f1e124
--- /dev/null
+++ b/examples/actors/xlim/SubOne_0.xlim
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Actor SubOne--><design name="SubOne">
+    <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">
+        <operation kind="pinRead" portName="In" removable="no" style="simple">
+            <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
+        </operation>
+        
+        
+        <!--Expr 0$id$w86ab2b3b1ab1--><operation kind="noop">
+            <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"/>
+        </operation>
+        <!--Expr 1$id$w352ab3b3b1a--><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"/>
+        </operation>
+        <!--Expr 0$id$w86ab2b3b1--><operation kind="noop">
+            <port dir="in" source="1$id$w352ab3b3b1a"/>
+            <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>
+    </module>
+    <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$w86a$sched$true" typeName="bool"/>
+        </operation>
+        <module kind="loop">
+            <module decision="0$id$w86a$sched$true$loop" kind="test">
+                <operation kind="noop">
+                    <port dir="in" source="0$id$w86a$sched$true"/>
+                    <port dir="out" size="1" source="0$id$w86a$sched$true$loop" typeName="bool"/>
+                </operation>
+            </module>
+            <module kind="body">
+                <operation kind="pinAvail" portName="In">
+                    <port dir="out" size="32" source="In$pinAvail" typeName="int"/>
+                </operation>
+                <!--Input peeks for action 0$id$w86ab2--><operation kind="$literal_Integer" value="1">
+                    <port dir="out" size="32" source="0$id$w86ab2b1$In$tokenCount" typeName="int"/>
+                </operation>
+                <operation kind="$ge">
+                    <port dir="in" source="In$pinAvail"/>
+                    <port dir="in" source="0$id$w86ab2b1$In$tokenCount"/>
+                    <port dir="out" size="1" source="0$id$w86ab2b1$ready" typeName="bool"/>
+                </operation>
+                <operation kind="$literal_Integer" value="0">
+                    <port dir="out" size="1" source="0$id$w86ab2b1b1$index$1" typeName="int"/>
+                </operation>
+                <operation kind="pinPeek" portName="In">
+                    <port dir="in" source="0$id$w86ab2b1b1$index$1"/>
+                    <port dir="out" size="32" source="0$id$w86ab2b1b1" typeName="int"/>
+                </operation>
+                <!--Local variables used in guards of action 0$id$w86ab2--><!--Guard for action 0$id$w86ab2--><operation kind="$and">
+                    <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>
+                <operation kind="$and">
+                    <port dir="in" source="0$id$w86ab1$status"/>
+                    <port dir="out" size="1" source="0$id$w86ab2$fireable" typeName="bool"/>
+                </operation>
+                <module kind="if">
+                    <module decision="always$state$0$id$w86ab2$guard$read" kind="test">
+                        <operation kind="noop">
+                            <port dir="in" source="0$id$w86ab2$guard"/>
+                            <port dir="out" size="1" source="always$state$0$id$w86ab2$guard$read" typeName="bool"/>
+                        </operation>
+                    </module>
+                    <module kind="then">
+                        <module kind="if">
+                            <module decision="always$state$0$id$w86ab2$fireable" kind="test">
+                                <operation kind="noop">
+                                    <port dir="in" source="0$id$w86ab2$fireable"/>
+                                    <port dir="out" size="1" source="always$state$0$id$w86ab2$fireable" typeName="bool"/>
+                                </operation>
+                            </module>
+                            <module kind="then">
+                                <operation kind="taskCall" target="actionAtLine_3"/>
+                            </module>
+                        </module>
+                    </module>
+                </module>
+            </module>
+        </module>
+    </module>
+</design>
\ No newline at end of file