From 3419a0aa11a0f076d6648f328f63d0501c59df99 Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Thu, 1 Mar 2018 17:42:38 +0100
Subject: [PATCH] DSE options separated, updated options

---
 src/main/java/dseengine/DSEConfiguration.java |   2 +-
 src/main/java/ui/window/JDialogDSE.java       | 169 +++++++++++-------
 2 files changed, 101 insertions(+), 70 deletions(-)

diff --git a/src/main/java/dseengine/DSEConfiguration.java b/src/main/java/dseengine/DSEConfiguration.java
index d20a31e3eb..3a6b11d6a9 100755
--- a/src/main/java/dseengine/DSEConfiguration.java
+++ b/src/main/java/dseengine/DSEConfiguration.java
@@ -1753,7 +1753,7 @@ public class DSEConfiguration implements Runnable  {
             HwBus main = new HwBus("mainbus");
             main.privacy = HwBus.BUS_PUBLIC;
             arch.addHwNode(main);
-            
+
             List<HwNode> nodes =  arch.getCPUs();
             for (HwNode node:nodes){
                 // connect the CPU to the main bus
diff --git a/src/main/java/ui/window/JDialogDSE.java b/src/main/java/ui/window/JDialogDSE.java
index f7c33b5d3d..9c44c16ee9 100644
--- a/src/main/java/ui/window/JDialogDSE.java
+++ b/src/main/java/ui/window/JDialogDSE.java
@@ -119,7 +119,8 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
     protected JRadioButton specificFiles;
     protected ButtonGroup groupOfFiles;
 
-    protected JTextField simulationThreads, simulationCycles, minCPU, maxCPU, simulationsPerMapping;
+    protected JTextField simulationThreads, simulationCycles, minCPU, maxCPU, simulationsPerMapping,
+        nbOfIntensiveSimulations;
     protected JTextArea outputText;
     protected String output = "";
 
@@ -137,12 +138,13 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
     protected static String simThreads = "10";
     protected static String simCycles = "10000";
     protected static String nbMinCPU = "1";
-    protected static String nbMaxCPU = "1";
-    protected static String nbSim = "100";
+    protected static String nbMaxCPU = "2";
+    protected static String nbSim = "10";
+    protected static String nbSimIntensive = "10";
     protected static String encCC = "100";
     protected static String decCC = "100";
     protected static String secOv = "100";
-    protected static String randomMappingsSelected = "100";
+    protected static String randomMappingsSelected = "10";
     protected static boolean useRandomMappings = false;
     protected static boolean secAnalysisState = false;
 
@@ -273,20 +275,24 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         c03_sim.fill = GridBagConstraints.BOTH;
         c03_sim.gridheight = 1;
 
-        jp03_sim.add(new JLabel("Number of Simulation Threads"), c03_sim);
+        jp03_sim.add(new JLabel("Number of Threads"), c03_sim);
         simulationThreads = new JTextField(simThreads);
         jp03_sim.add(simulationThreads, c03_sim);
 
-        jp03_sim.add(new JLabel("Number of Simulations Per Mapping"), c03_sim);
+        jp03_sim.add(new JLabel("Number of Intensive Simulations"), c03_sim);
+        nbOfIntensiveSimulations = new JTextField(nbSimIntensive);
+        jp03_sim.add(nbOfIntensiveSimulations, c03_sim);
+
+        jp03_sim.add(new JLabel("Number of Simulations per Mapping"), c03_sim);
         simulationsPerMapping = new JTextField(nbSim);
         jp03_sim.add(simulationsPerMapping, c03_sim);
 
-        jp03_sim.add(new JLabel("Max. Number of Simulation Cycles"), c03_sim);
+        jp03_sim.add(new JLabel("Max. Nb. of Execution Cycles per Simulation or Mapping "), c03_sim);
         simulationCycles = new JTextField(simCycles);
         jp03_sim.add(simulationCycles, c03_sim);
 
         jp1.add("Directories", jp03);
-        jp1.add("Simulation options", jp03_sim);
+        jp1.add("Execution engine", jp03_sim);
 
         jp03 = new JPanel();
         gridbag03 = new GridBagLayout();
@@ -298,17 +304,79 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         c03.fill = GridBagConstraints.BOTH;
         c03.gridheight = 1;
 
-        jp03.add(new JLabel("Minimum Number of CPUs"), c03);
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        c03.gridwidth = 1;
+        jp03.add(new JLabel("Minimum Number of CPUs: "), c03);
+        c03.anchor = GridBagConstraints.WEST;
+        c03.fill = GridBagConstraints.HORIZONTAL;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
         minCPU = new JTextField(nbMinCPU);
         minCPU.getDocument().addDocumentListener(this);
         jp03.add(minCPU, c03);
 
-        jp03.add(new JLabel("Maximum Number of CPUs"), c03);
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        c03.gridwidth = 1;
+        jp03.add(new JLabel("Maximum Number of CPUs: "), c03);
+        c03.anchor = GridBagConstraints.WEST;
+        c03.fill = GridBagConstraints.HORIZONTAL;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
         maxCPU = new JTextField(nbMaxCPU);
         maxCPU.getDocument().addDocumentListener(this);
         jp03.add(maxCPU, c03);
 
-        jp1.add("HW Platform", jp03);
+        int anchor = c03.anchor;
+        int fill = c03.fill;
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        c03.gridwidth = 1;
+        infoNbOfMappings = new JLabel("Nb of mappings to be explored: ");
+        jp03.add(infoNbOfMappings, c03);
+
+        c03.fill = fill;
+        c03.anchor = GridBagConstraints.WEST;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
+        nbOfMappings = new JLabel("" + getNbOfPossibleMappings());
+        jp03.add(nbOfMappings, c03);
+
+        c03.gridwidth = 1;
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        randomMappingBox = new JCheckBox("Use Random mappings, at most: ");
+        randomMappingBox.setSelected(useRandomMappings);
+        jp03.add(randomMappingBox, c03);
+
+
+        c03.fill = fill;
+
+        c03.anchor = GridBagConstraints.WEST;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c03.fill = GridBagConstraints.HORIZONTAL;
+        randomMappingNb = new JTextField(randomMappingsSelected);
+        jp03.add(randomMappingNb, c03);
+
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.WEST;
+
+        outputTML = new JCheckBox("Save mappings as .tml/.tmap files?");
+        outputTML.setSelected(outputTMLState);
+        outputTML.addActionListener(this);
+        outputTML.setSelected(outputTMLState);
+        jp03.add(outputTML, c03);
+
+        outputGUI = new JCheckBox("Draw mappings");
+        outputGUI.setSelected(outputGUIState);
+        outputGUI.addActionListener(this);
+        outputGUI.setSelected(outputGUIState);
+        jp03.add(outputGUI, c03);
+
+        c03.anchor = anchor;
+
+
+        dseOptions = jp03;
+
+        jp1.add("DSE Options", jp03);
 
 
         JPanel jp05 = new JPanel();
@@ -680,60 +748,10 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         c03.fill = GridBagConstraints.BOTH;
         c03.gridheight = 1;
 
-        int anchor = c03.anchor;
-        int fill = c03.fill;
-        c03.fill = GridBagConstraints.NONE;
-        c03.anchor = GridBagConstraints.EAST;
-        c03.gridwidth = 1;
-        infoNbOfMappings = new JLabel("Nb of mappings to be explored: ");
-        jp03.add(infoNbOfMappings, c03);
 
-        c03.fill = fill;
-        c03.anchor = GridBagConstraints.WEST;
-        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
-        nbOfMappings = new JLabel("" + getNbOfPossibleMappings());
-        jp03.add(nbOfMappings, c03);
 
-        c03.gridwidth = 1;
-        c03.fill = GridBagConstraints.NONE;
-        c03.anchor = GridBagConstraints.EAST;
-        randomMappingBox = new JCheckBox("Use Random mappings, at most: ");
-        randomMappingBox.setSelected(useRandomMappings);
-        jp03.add(randomMappingBox, c03);
-
-
-
-
-        c03.fill = fill;
 
-        c03.anchor = GridBagConstraints.WEST;
-        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
-        c03.fill = GridBagConstraints.HORIZONTAL;
-        randomMappingNb = new JTextField(randomMappingsSelected);
-        jp03.add(randomMappingNb, c03);
-
-        c03.fill = GridBagConstraints.NONE;
-        c03.anchor = GridBagConstraints.CENTER;
-
-        outputTML = new JCheckBox("Save mappings as .tml/.tmap files?");
-        outputTML.setSelected(outputTMLState);
-        outputTML.addActionListener(this);
-        outputTML.setSelected(outputTMLState);
-        jp03.add(outputTML, c03);
-
-        outputGUI = new JCheckBox("Draw mappings");
-        outputGUI.setSelected(outputGUIState);
-        outputGUI.addActionListener(this);
-        outputGUI.setSelected(outputGUIState);
-        jp03.add(outputGUI, c03);
-
-        c03.anchor = anchor;
-
-
-        dseOptions = jp03;
-
-
-        jp033.add(jp03, BorderLayout.NORTH);
+        //jp033.add(jp03, BorderLayout.NORTH);
         select.add(jp033, BorderLayout.SOUTH);
 
         jp1.add("Outputs", select);
@@ -837,6 +855,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         nbMinCPU = minCPU.getText();
         nbMaxCPU = maxCPU.getText();
         nbSim = simulationsPerMapping.getText();
+        nbSimIntensive = simulationsPerMapping.getText();
         encCC = encTime2.getText();
         decCC = decTime2.getText();
         secAnalysisState = secAnalysis.isSelected();
@@ -853,13 +872,13 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
     private void handleStartButton() {
         //TraceManager.addDev("Handle start button");
 
-        boolean b = dseButton.isSelected() || dseButtonFromFile.isSelected();
+        /*boolean b = dseButton.isSelected() || dseButtonFromFile.isSelected();
         nbOfMappings.setEnabled(b);
         infoNbOfMappings.setEnabled(b);
         randomMappingBox.setEnabled(b);
         randomMappingNb.setEnabled(b);
         outputTML.setEnabled(b);
-        outputGUI.setEnabled(b);
+        outputGUI.setEnabled(b);*/
         //dseOptions.repaint();
 
         if (mode != NOT_STARTED && mode != NOT_SELECTED) {
@@ -1010,6 +1029,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         nbMinCPU = minCPU.getText();
         nbMaxCPU = maxCPU.getText();
         nbSim = simulationsPerMapping.getText();
+        nbSimIntensive = simulationsPerMapping.getText();
         randomMappingsSelected = randomMappingNb.getText();
         useRandomMappings = randomMappingBox.isSelected();
 
@@ -1120,11 +1140,22 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
                 return;
             }
 
-            if (config.setNbOfSimulationsPerMapping(nbSim) != 0) {
-                TraceManager.addDev("Simulations per mapping error: " + nbSim);
-                stopErrorProcess();
-                output += "Simulation per mapping error: " + nbSim + "\n";
-                return;
+            if (dseButton.isSelected() || dseButtonFromFile.isSelected()) {
+                if (config.setNbOfSimulationsPerMapping(nbSim) != 0) {
+                    TraceManager.addDev("Simulations per mapping error: " + nbSim);
+                    stopErrorProcess();
+                    output += "Simulation per mapping error: " + nbSim + "\n";
+                    return;
+                }
+            }
+
+            if (simButton.isSelected() || simButtonFromFile.isSelected()) {
+                if (config.setNbOfSimulationsPerMapping(nbSimIntensive) != 0) {
+                    TraceManager.addDev("Nb of Intensive Simulations : " + nbSimIntensive);
+                    stopErrorProcess();
+                    output += "Nb of Intensive Simulation: " + nbSimIntensive + "\n";
+                    return;
+                }
             }
 
             if (config.setSimulationCompilationCommand("make -j9 -C") != 0) {
-- 
GitLab