diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml
index a2990c1e96f03b80a2b800a1318904dcd0f48351..1617be5eb6c15438872b128b333dee6fa951cc28 100755
--- a/modeling/DIPLODOCUS/SmartCardProtocol.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml
@@ -6943,10 +6943,10 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1606" >
 <father id="1631" num="0" />
-<cdparam x="49" y="276" />
-<sizeparam width="172" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="56" y="276" />
+<sizeparam width="163" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="-7" minY="0" maxY="86" />
+<cdrectangleparam minX="0" maxX="2" minY="0" maxY="86" />
 <infoparam name="TGComponent" value="AppC::InterfaceDevice" />
 <TGConnectingPoint num="0" id="1598" />
 <TGConnectingPoint num="1" id="1599" />
@@ -6999,9 +6999,9 @@ the smart card and the terminal
 <SUBCOMPONENT type="1101" id="1640" >
 <father id="1683" num="0" />
 <cdparam x="387" y="123" />
-<sizeparam width="141" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="136" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="131" minY="0" maxY="124" />
+<cdrectangleparam minX="0" maxX="136" minY="0" maxY="124" />
 <infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1632" />
 <TGConnectingPoint num="1" id="1633" />
@@ -7018,9 +7018,9 @@ the smart card and the terminal
 <SUBCOMPONENT type="1101" id="1649" >
 <father id="1683" num="1" />
 <cdparam x="288" y="169" />
-<sizeparam width="144" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="139" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="128" minY="0" maxY="121" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="121" />
 <infoparam name="TGComponent" value="AppC::Application" />
 <TGConnectingPoint num="0" id="1641" />
 <TGConnectingPoint num="1" id="1642" />
@@ -7037,9 +7037,9 @@ the smart card and the terminal
 <SUBCOMPONENT type="1101" id="1658" >
 <father id="1683" num="2" />
 <cdparam x="272" y="94" />
-<sizeparam width="109" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="163" minY="0" maxY="121" />
+<cdrectangleparam minX="0" maxX="164" minY="0" maxY="121" />
 <infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1650" />
 <TGConnectingPoint num="1" id="1651" />
@@ -7276,10 +7276,10 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1780" >
 <father id="1805" num="0" />
-<cdparam x="49" y="281" />
-<sizeparam width="172" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="56" y="281" />
+<sizeparam width="163" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="-7" minY="0" maxY="86" />
+<cdrectangleparam minX="0" maxX="2" minY="0" maxY="86" />
 <infoparam name="TGComponent" value="AppC::InterfaceDevice" />
 <TGConnectingPoint num="0" id="1772" />
 <TGConnectingPoint num="1" id="1773" />
@@ -7387,9 +7387,9 @@ the smart card and the terminal
 <SUBCOMPONENT type="1101" id="1848" >
 <father id="1891" num="0" />
 <cdparam x="340" y="180" />
-<sizeparam width="109" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="108" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="204" minY="0" maxY="161" />
+<cdrectangleparam minX="0" maxX="205" minY="0" maxY="161" />
 <infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1840" />
 <TGConnectingPoint num="1" id="1841" />
@@ -7406,9 +7406,9 @@ the smart card and the terminal
 <SUBCOMPONENT type="1101" id="1857" >
 <father id="1891" num="1" />
 <cdparam x="277" y="125" />
-<sizeparam width="141" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="136" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="172" minY="0" maxY="161" />
+<cdrectangleparam minX="0" maxX="177" minY="0" maxY="161" />
 <infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1849" />
 <TGConnectingPoint num="1" id="1850" />
@@ -7425,9 +7425,9 @@ the smart card and the terminal
 <SUBCOMPONENT type="1101" id="1866" >
 <father id="1891" num="2" />
 <cdparam x="270" y="75" />
-<sizeparam width="144" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="169" minY="0" maxY="161" />
+<cdrectangleparam minX="0" maxX="174" minY="0" maxY="161" />
 <infoparam name="TGComponent" value="AppC::Application" />
 <TGConnectingPoint num="0" id="1858" />
 <TGConnectingPoint num="1" id="1859" />
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java b/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
index 50aa7645b47ebedca6d5dd3620a2ceadf71e4c44..23d036f30133d040fddc05d13a738070a0b637cb 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
@@ -87,7 +87,6 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
     private final NamesGenerationHelper namesGen;
 
 
-
     public DiploSimulatorCodeGenerator(TMLModeling<?> _tmlm) {
         this(_tmlm.getDefaultMapping());
 
@@ -219,7 +218,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
     }
 
     // If String is non-null, returns an error
-    private String  makeDeclarations() {
+    private String makeDeclarations() {
         declaration = "class CurrentComponents: public SimComponents{\npublic:\nCurrentComponents():SimComponents(" + tmlmapping.getHashCode() + "){\n";
 
         // Declaration of HW nodes
@@ -250,22 +249,22 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                     if (cores != 0) {
                         declaration += cpuInstName + "->setScheduler(" + schedulerInstName + ",false)" + SCCR;
 			}*/
-		final String cpuInstName = namesGen.cpuInstanceName(exNode, exNode.nbOfCores);
-		if (exNode.nbOfCores == 1) {
-		    declaration += "CPU* " + exNode.getName() + "_" + exNode.nbOfCores + " = new SingleCoreCPU(" + exNode.getID() + ", \"" + exNode.getName() + "_" + exNode.nbOfCores + "\", " 
-			+ exNode.getName() + "_scheduler" + ", ";
-		    
-                    declaration += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " 
-			+ exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", " + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ")" + SCCR;
-		} else {
-		    declaration += "CPU* " + exNode.getName() + "_" + exNode.nbOfCores + " = new MultiCoreCPU(" + exNode.getID() + ", \"" + exNode.getName() + "_" + exNode.nbOfCores + "\", " + exNode.getName() + "_scheduler" + ", ";
-		    
-                    declaration += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", " + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize +", " + exNode.nbOfCores + ")" + SCCR;
-		}
-		
-		
-                    declaration += "addCPU(" + cpuInstName + ")" + SCCR;
-		    //}
+                final String cpuInstName = namesGen.cpuInstanceName(exNode, exNode.nbOfCores);
+                if (exNode.nbOfCores == 1) {
+                    declaration += "CPU* " + exNode.getName() + "_" + exNode.nbOfCores + " = new SingleCoreCPU(" + exNode.getID() + ", \"" + exNode.getName() + "_" + exNode.nbOfCores + "\", "
+                            + exNode.getName() + "_scheduler" + ", ";
+
+                    declaration += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", "
+                            + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", " + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ")" + SCCR;
+                } else {
+                    declaration += "CPU* " + exNode.getName() + "_" + exNode.nbOfCores + " = new MultiCoreCPU(" + exNode.getID() + ", \"" + exNode.getName() + "_" + exNode.nbOfCores + "\", " + exNode.getName() + "_scheduler" + ", ";
+
+                    declaration += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", " + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ", " + exNode.nbOfCores + ")" + SCCR;
+                }
+
+
+                declaration += "addCPU(" + cpuInstName + ")" + SCCR;
+                //}
             } else if (node instanceof HwA) {
                 final HwA hwaNode = (HwA) node;
                 final String schedulerInstName = namesGen.rrSchedulerInstanceName(hwaNode);
@@ -298,13 +297,12 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                 }
 
 
-
                 final String hwFpgaInstName = namesGen.hwFpgaInstanceName(hwFpgaNode);
                 declaration += "FPGA* " + hwFpgaInstName + " = new FPGA(" + hwFpgaNode.getID() + ", \"" + namesGen.hwFpgaName(hwFpgaNode) + "\", "
                         + schedulerInstName + ", ";
 
                 declaration += hwFpgaNode.reconfigurationTime + ", " + hwFpgaNode.goIdleTime + ", " +
-                        hwFpgaNode.maxConsecutiveIdleCycles + ", " +  hwFpgaNode.execiTime + ", " +
+                        hwFpgaNode.maxConsecutiveIdleCycles + ", " + hwFpgaNode.execiTime + ", " +
                         hwFpgaNode.execcTime + ")" + SCCR;
 
                 // DB: Issue #21 TODO: Should there be a scheduler?? Given the for loop, cores is always 0 so this code is never executed
@@ -319,11 +317,11 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
         declaration += CR;
 
-	// Declaration of Model Name 
-	declaration += "//Declaration of Model Name" + CR;
+        // Declaration of Model Name
+        declaration += "//Declaration of Model Name" + CR;
         declaration += "std::string msg=" + "\"" + modelName + "\"" + SCCR;
         declaration += "addModelName(" + "\"" + modelName + "\"" + ")" + SCCR;
-  
+
 
         // Declaration of Buses
         declaration += "//Declaration of Buses" + CR;
@@ -393,26 +391,26 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                     }
 
                     //for (int cores = 0; cores < noOfCores; cores++) {
-                        final String nodeInstanceName;
+                    final String nodeInstanceName;
 
-                        if (node instanceof HwCPU || node instanceof HwA || node instanceof HwFPGA) {
-                            nodeInstanceName = namesGen.executionNodeInstanceName((HwExecutionNode) node, noOfCores);
-                        } else {
-                            nodeInstanceName = namesGen.bridgeInstanceName((HwBridge) node);
-                        }
+                    if (node instanceof HwCPU || node instanceof HwA || node instanceof HwFPGA) {
+                        nodeInstanceName = namesGen.executionNodeInstanceName((HwExecutionNode) node, noOfCores);
+                    } else {
+                        nodeInstanceName = namesGen.bridgeInstanceName((HwBridge) node);
+                    }
 
-                        final String busMasterInstName = namesGen.busMasterInstanceName(node, 0, link.bus);
+                    final String busMasterInstName = namesGen.busMasterInstanceName(node, 0, link.bus);
 
-                        declaration += "BusMaster* " + busMasterInstName + " = new BusMaster(\"" + namesGen.busMasterName(node, 0, link.bus) + "\", " + link.getPriority() + ", " + link.bus.pipelineSize + ", array(" + link.bus.pipelineSize;
+                    declaration += "BusMaster* " + busMasterInstName + " = new BusMaster(\"" + namesGen.busMasterName(node, 0, link.bus) + "\", " + link.getPriority() + ", " + link.bus.pipelineSize + ", array(" + link.bus.pipelineSize;
 
-                        for (int i = 0; i < link.bus.pipelineSize; i++) {
-                            declaration += ", (SchedulableCommDevice*) " + namesGen.schedComDeviceInstanceName(link.bus, i);
-                        }
+                    for (int i = 0; i < link.bus.pipelineSize; i++) {
+                        declaration += ", (SchedulableCommDevice*) " + namesGen.schedComDeviceInstanceName(link.bus, i);
+                    }
 
-                        declaration += "))" + SCCR;
+                    declaration += "))" + SCCR;
 
-                        declaration += nodeInstanceName + "->addBusMaster(" + busMasterInstName + ")" + SCCR;
-			//}
+                    declaration += nodeInstanceName + "->addBusMaster(" + busMasterInstName + ")" + SCCR;
+                    //}
                 }
             }
         }
@@ -449,16 +447,16 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                 TraceManager.addDev("\nDetermining routing of " + channel.getName() + ":");
                 TraceManager.addDev(channel.toString());
 
-                String ret =  determineRouting(tmlmapping.getHwNodeOf(channel.getOriginTask()),
+                String ret = determineRouting(tmlmapping.getHwNodeOf(channel.getOriginTask()),
                         tmlmapping.getHwNodeOf(channel.getDestinationTask()), elem);
                 //TraceManager.addDev("------> Routing = " + ret);
                 if (ret == null) {
-                    return "Could not determine  routing between " +  channel.getOriginTask().getName() + " and " + channel.getDestinationTask()
+                    return "Could not determine  routing between " + channel.getOriginTask().getName() + " and " + channel.getDestinationTask()
                             .getName() +
                             " for channel " + channel.getName();
                 }
                 ret = ret + param + "," + channel.getPriority();
-                declaration += ret ;
+                declaration += ret;
 
                 if (channel.isLossy() && channel.getType() != TMLChannel.NBRNBW) {
                     declaration += "," + channel.getLossPercentage() + "," + channel.getMaxNbOfLoss();
@@ -496,11 +494,11 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                 //TraceManager.addDev("Evt: " + evt.getName());
                 String ret = determineRouting(tmlmapping.getHwNodeOf(evt.getOriginTask()), tmlmapping.getHwNodeOf(evt.getDestinationTask()), evt);
                 if (ret == null) {
-                    return "Could not determine routing between " +  evt.getOriginTask().getName() + " and " + evt.getDestinationTask().getName() +
+                    return "Could not determine routing between " + evt.getOriginTask().getName() + " and " + evt.getDestinationTask().getName() +
                             " for event " + evt.getName();
                 }
                 declaration += eventTypeName + "* " + eventInstName + " = new " + eventTypeName + "(" + evt.getID() + ",\"" + eventName + "\"," +
-                         ret + param;
+                        ret + param;
 
             } else {
                 declaration += eventTypeName + "* " + eventInstName + " = new " + eventTypeName + "(" + evt.getID() + ",\"" + eventName + "\",0,0,0" + param;   ///old command
@@ -526,10 +524,10 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
                 if (tmlmapping.isCommNodeMappedOn(req, null)) {
                     //TraceManager.addDev("Request: " + req.getName());
-                    String ret =  determineRouting(tmlmapping.getHwNodeOf(req.getOriginTasks().get(0)), //tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0," + req.getNbOfParams() + ",true)" + SCCR;
+                    String ret = determineRouting(tmlmapping.getHwNodeOf(req.getOriginTasks().get(0)), //tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0," + req.getNbOfParams() + ",true)" + SCCR;
                             tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0,true,false";
                     if (ret == null) {
-                        return "Could not determine routing between " +  req.getOriginTasks().get(0).getName() + " and " + req.getDestinationTask()
+                        return "Could not determine routing between " + req.getOriginTasks().get(0).getName() + " and " + req.getDestinationTask()
                                 .getName() +
                                 " for request " + req.getName();
                     }
@@ -574,8 +572,8 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                                     devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName(cpu, cores, bus);
                                     numDevices++;
 				    }*/
-				devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName(cpu, 0, bus);
-				numDevices ++;
+                                devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName(cpu, 0, bus);
+                                numDevices++;
                             } else {
                                 devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName(link.hwnode, 0, bus);
                                 numDevices++;
@@ -618,7 +616,8 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
             boolean mappedOnCPU = true;
 
             final String taskClassName = namesGen.taskTypeName(task);
-            declaration += taskClassName + "* " + namesGen.taskInstanceName(task) + " = new " + taskClassName + "(" + task.getID() + "," + task.getPriority() + ",\"" + namesGen.taskName(task) + "\", array(";
+            declaration += taskClassName + "* " + namesGen.taskInstanceName(task) + " = new " + taskClassName + "(" + task.getID() + "," +
+                    task.getPriority() + ",\"" + namesGen.taskName(task) + "\", array(";
 
             if (node instanceof HwCPU) {
                 final HwCPU hwCpu = (HwCPU) node;
@@ -627,7 +626,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                 /*for (int cores = 0; cores < hwCpu.nbOfCores; cores++) {
                     declaration += "," + namesGen.cpuInstanceName(hwCpu, cores);
 		    }*/
-		 declaration += "," + namesGen.cpuInstanceName(hwCpu, hwCpu.nbOfCores);
+                declaration += "," + namesGen.cpuInstanceName(hwCpu, hwCpu.nbOfCores);
                 //                declaration+= "),1" + CR;
             } else if (node instanceof HwA) {
                 final HwA hwAcc = (HwA) node;
@@ -642,24 +641,30 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                 //
                 //                declaration+= ")," + ((HwCPU)node).nbOfCores + CR;
             } else if (node instanceof HwFPGA) {
-                    final HwFPGA hwFpga = (HwFPGA) node;
-                    declaration += "1 ," + namesGen.hwFpgaInstanceName(hwFpga);
-                    mappedOnCPU = false;
-
-                    // DB Issue #22: copy paste error?? This causes class cast exception
-                    //              declaration+= ((HwCPU)node).nbOfCores;
-                    //
-                    //                for (int cores=0; cores< ((HwCPU)node).nbOfCores; cores++){
-                    //                    declaration+= "," + node.getName()+cores;
-                    //                }
-                    //
-                    //                declaration+= ")," + ((HwCPU)node).nbOfCores + CR;
+                final HwFPGA hwFpga = (HwFPGA) node;
+                declaration += "1 ," + namesGen.hwFpgaInstanceName(hwFpga);
+                mappedOnCPU = false;
+
+                // DB Issue #22: copy paste error?? This causes class cast exception
+                //              declaration+= ((HwCPU)node).nbOfCores;
+                //
+                //                for (int cores=0; cores< ((HwCPU)node).nbOfCores; cores++){
+                //                    declaration+= "," + node.getName()+cores;
+                //                }
+                //
+                //                declaration+= ")," + ((HwCPU)node).nbOfCores + CR;
             } else {
                 throw new UnsupportedOperationException("Not implemented for " + node.getClass().getSimpleName() + "!");
             }
 
             declaration += "), 1" + CR;
 
+            if (task.isDaemon()) {
+                declaration += ", true";
+            } else {
+                declaration += ", false";
+            }
+
             final List<TMLChannel> channels = new ArrayList<TMLChannel>(tmlmodeling.getChannels(task));
             final List<TMLEvent> events = new ArrayList<TMLEvent>(tmlmodeling.getEvents(task));
             final List<TMLRequest> requests = new ArrayList<TMLRequest>(tmlmodeling.getRequests(task));
@@ -737,7 +742,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         boolean reverse = reverseIn;
 
         String pathS = "";
-        for(HwCommunicationNode nodeS: path){
+        for (HwCommunicationNode nodeS : path) {
             pathS += nodeS.getName() + " ";
         }
         //TraceManager.addDev("Path=" + pathS);
@@ -977,7 +982,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
     private List<HwCommunicationNode> getBridgesConnectedToBus(List<HwCommunicationNode> _commNodes, HwBus _bus) {
         List<HwCommunicationNode> resultList = new LinkedList<HwCommunicationNode>();
         for (HwCommunicationNode commNode : _commNodes) {
-            if ((commNode instanceof HwBridge) || (commNode instanceof HwNoC)){
+            if ((commNode instanceof HwBridge) || (commNode instanceof HwNoC)) {
                 if (tmlmapping.getTMLArchitecture().isNodeConnectedToBus(commNode, _bus)) resultList.add(commNode);
             }
         }
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
index 79c27f52e2afe32ff7db3e084ce4bd425014a3e1..4e391f9ee36afd7309e6366bbdcac67aa3456864 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
@@ -172,7 +172,7 @@ public class MappedSystemCTask {
         makeHeaderClassH();
         makeEndClassH();
 
-        cppcode += reference + "::" + makeConstructorSignature() + ":TMLTask(iID, iPriority,iName,iCPUs,iNumOfCPUs)" + CR + makeAttributesCode();
+        cppcode += reference + "::" + makeConstructorSignature() + ":TMLTask(iID, iPriority,iName,iCPUs,iNumOfCPUs, isDaemon)" + CR + makeAttributesCode();
         cppcode += initCommand + CR + "{" + CR;
         if (commentNum != 0) cppcode += "_comment = new std::string[" + commentNum + "]" + SCCR + commentText + CR;
         cppcode += "//generate task variable look-up table" + CR;
@@ -239,9 +239,9 @@ public class MappedSystemCTask {
         String constSig;
 
         if (mappedOnCPU) {
-            constSig = reference + "(ID iID, Priority iPriority, std::string iName, CPU** iCPUs, unsigned int iNumOfCPUs" + CR;
+            constSig = reference + "(ID iID, Priority iPriority, std::string iName, CPU** iCPUs, unsigned int iNumOfCPUs, bool isDaemon" + CR;
         } else {
-            constSig = reference + "(ID iID, Priority iPriority, std::string iName, FPGA** iCPUs, unsigned int iNumOfCPUs" + CR;
+            constSig = reference + "(ID iID, Priority iPriority, std::string iName, FPGA** iCPUs, unsigned int iNumOfCPUs, bool isDaemon" + CR;
         }
 
         TraceManager.addDev("\n***** Task name:" + task.getName());