From 106126a0fbdf276822412e8b3d273c30309d3498 Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Fri, 14 Jun 2019 14:12:52 +0200
Subject: [PATCH] Update on OUT task in tmltonetwork

---
 src/main/java/tmltranslator/tonetwork/Link.java            | 6 +++---
 src/main/java/tmltranslator/tonetwork/TMAP2Network.java    | 2 +-
 .../java/tmltranslator/tonetwork/TaskOUTForDispatch.java   | 7 +++++--
 .../java/tmltranslator/tonetwork/TranslatedRouter.java     | 3 ++-
 .../interactivesimulation/JFrameInteractiveSimulation.java | 2 +-
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/main/java/tmltranslator/tonetwork/Link.java b/src/main/java/tmltranslator/tonetwork/Link.java
index 465aae1613..d021851182 100644
--- a/src/main/java/tmltranslator/tonetwork/Link.java
+++ b/src/main/java/tmltranslator/tonetwork/Link.java
@@ -133,7 +133,7 @@ public class Link {
 
         feedbackPerVC = new TMLEvent[nbOfVCs];
         for(int i=0; i<nbOfVCs; i++) {
-            feedbackPerVC[i] = new TMLEvent("Feedback__" + getNaming() + "_" + i,
+            feedbackPerVC[i] = new TMLEvent("Feedback__" + getNaming() + "_vc" + i,
                     null, 8, true);
             tmlm.addEvent(feedbackPerVC[i]);
         }
@@ -146,8 +146,8 @@ public class Link {
     }
 
     public String getNaming() {
-        return "P_" + previousRouter.getXPos() + "_" + previousRouter.getYPos() +
-                "_N_" + nextRouter.getXPos() + "_" + nextRouter.getYPos() + add;
+        return "P_x" + previousRouter.getXPos() + "_y" + previousRouter.getYPos() +
+                "_N_x" + nextRouter.getXPos() + "_y" + nextRouter.getYPos() + add;
     }
 
 
diff --git a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
index fdac85e128..9971dea54a 100644
--- a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
+++ b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
@@ -315,7 +315,7 @@ public class TMAP2Network<E>  {
                 if (s != null)
                     hwExecNode = (HwExecutionNode)(tmla.getHwNodeByName(s));
                 if (hwExecNode == null) {
-                    HwCPU missingCPU = new HwCPU("EmptyCPUForDomain" + i + "_" + j);
+                    HwCPU missingCPU = new HwCPU("EmptyCPUForDomain_x" + i + "_y" + j);
                     tmla.addHwNode(missingCPU);
                     hwExecNode = missingCPU;
                     fakeCPUs.add(missingCPU);
diff --git a/src/main/java/tmltranslator/tonetwork/TaskOUTForDispatch.java b/src/main/java/tmltranslator/tonetwork/TaskOUTForDispatch.java
index d7e04d8f9b..f69e1b2d98 100644
--- a/src/main/java/tmltranslator/tonetwork/TaskOUTForDispatch.java
+++ b/src/main/java/tmltranslator/tonetwork/TaskOUTForDispatch.java
@@ -137,6 +137,9 @@ public class TaskOUTForDispatch extends TMLTask {
         mainChoice = new TMLChoice("ChoiceOf" + i, referenceObject);
         activity.addLinkElement(notified, mainChoice);
 
+        activity.addLinkElement(notified, new TMLStopState("StopAfterMainChoice", referenceObject));
+        mainChoice.addGuard("nEvt == 0");
+
         TMLForLoop loopInside = new TMLForLoop("LoopInside" + i, referenceObject);
         loopInside.setInit("loopExit=0");
         loopInside.setCondition("loopExit<1");
@@ -197,7 +200,7 @@ public class TaskOUTForDispatch extends TMLTask {
 
         // Right branch of internal choice
         TMLActionState actionEnd = new TMLActionState("MustExitLoop" + i, referenceObject);
-        actionEnd.setAction("loopExit = 1");
+        actionEnd.setAction("loopExit = 2");
         activity.addLinkElement(internalChoice, actionEnd);
         internalChoice.addGuard("feedback == 0");
 
@@ -307,7 +310,7 @@ public class TaskOUTForDispatch extends TMLTask {
 
             // Right branch of internal choice
             actionEnd = new TMLActionState("MustExitLoop" + i, referenceObject);
-            actionEnd.setAction("loopExit = 1");
+            actionEnd.setAction("loopExit = 2");
             activity.addLinkElement(internalChoice, actionEnd);
             internalChoice.addGuard("feedback == 0");
 
diff --git a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
index dfde883d79..b22a38d81c 100644
--- a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
+++ b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
@@ -338,7 +338,8 @@ public class TranslatedRouter<E> {
             if (playingTheRoleOfNext[portNb] != null) {
                 for (int vcNb = 0; vcNb < nbOfVCs; vcNb++) {
 
-                    TaskINForVC taskINForVC = new TaskINForVC("INVC_" + nameOfExecNode + "___" + portNb + "_" + vcNb, null,
+                    TaskINForVC taskINForVC = new TaskINForVC("INVC_" + nameOfExecNode +
+                            "___p" + portNb + "_vc" + vcNb, null,
                             null);
                     tmlm.addTask(taskINForVC);
                     allTasks.add(taskINForVC);
diff --git a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java
index b0b69b31e1..e039db8b94 100755
--- a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java
+++ b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java
@@ -784,7 +784,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene
         animateWithInfo.setSelected(true);
         openDiagram = new JCheckBox("Automatically open active task diagram");
         jp01.add(openDiagram, c01);
-        openDiagram.setSelected(true);
+        openDiagram.setSelected(false);
         update = new JCheckBox("Automatically update information (task, CPU, etc.)");
         jp01.add(update, c01);
         update.addItemListener(this);
-- 
GitLab