From afa029819e018fd4f8bd7cac013fdcebd0b07a86 Mon Sep 17 00:00:00 2001 From: maysam zoor <maysam_zoor@hotmail.com> Date: Thu, 14 Jan 2021 16:02:56 +0100 Subject: [PATCH] update according to remarks --- src/main/java/cli/Plan.java | 82 +------------------ .../DirectedGraphTranslator.java | 4 +- .../JFrameCompareLatencyDetail.java | 2 +- .../JFrameLatencyDetailedAnalysis.java | 3 +- .../latencyDetailedAnalysisMain.java | 3 +- 5 files changed, 10 insertions(+), 84 deletions(-) diff --git a/src/main/java/cli/Plan.java b/src/main/java/cli/Plan.java index 59f774e5a1..cee160b068 100644 --- a/src/main/java/cli/Plan.java +++ b/src/main/java/cli/Plan.java @@ -35,7 +35,6 @@ * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. */ - package cli; import common.ConfigurationTTool; @@ -62,7 +61,6 @@ import ui.simulationtraceanalysis.latencyDetailedAnalysisMain; import ui.tmlad.TMLADExecI; import ui.tmlad.TMLActivityDiagramPanel; import ui.util.IconManager; - import java.io.File; import java.util.*; import java.util.Map.Entry; @@ -74,7 +72,6 @@ import java.util.Map.Entry; */ public class Plan extends Command { private final static String TABS = "tabs"; - private TMLModeling tmlm; private TMLMapping tmlmap; private static Object[][] allLatencies, minMaxArray, taskHWByRowDetails, detailedLatency; @@ -84,11 +81,9 @@ public class Plan extends Command { private DirectedGraphTranslator dgt; private String traceFile; private Boolean taint; - private OptimizationResult result; public Plan() { - } public List<Command> getListOfSubCommands() { @@ -122,7 +117,7 @@ public class Plan extends Command { } public String getDescription() { - return "generate graph to use in latency computation"; + return "Generate graph to use in latency computation"; } public String executeCommand(String command, Interpreter interpreter) { @@ -130,7 +125,6 @@ public class Plan extends Command { return generateGraph(command, interpreter); } }; - Command latency = new Command() { public String getCommand() { return "latency"; @@ -141,16 +135,14 @@ public class Plan extends Command { } public String getDescription() { - return "compute latency between two operators"; + return "Compute latency between two operators"; } public String executeCommand(String command, Interpreter interpreter) { // interpreter.print("Command=" + command); return computeLat(command, interpreter); } - }; - Command listAllOp = new Command() { public String getCommand() { return "listAllOp"; @@ -168,9 +160,7 @@ public class Plan extends Command { // interpreter.print("Command=" + command); return listAllOperators(command, interpreter); } - }; - Command preciseLatByRow = new Command() { public String getCommand() { return "planByRow"; @@ -181,63 +171,46 @@ public class Plan extends Command { } public String getDescription() { - return "precise Latency analysis by row"; + return "Precise Latency analysis by row"; } public String executeCommand(String command, Interpreter interpreter) { // interpreter.print("Command=" + command); return preciseLatByRow(command, interpreter); } - }; addAndSortSubcommand(graph); addAndSortSubcommand(latency); addAndSortSubcommand(listAllOp); addAndSortSubcommand(preciseLatByRow); - } private String generateGraph(String command, Interpreter interpreter) { - JFrameLatencyDetailedAnalysis latencyDetailedAnalysis; - String[] commands = command.split(" "); - traceFile = commands[0]; String mappingDiagName = commands[1]; - SimulationTrace file2 = new SimulationTrace("graphTestSimulationTrace", 6, traceFile); - MainGUI mgui = interpreter.mgui; interpreter.print("file2=" + file2.toString()); - TMLArchiPanel panel = null; - for (final TMLArchiPanel panel1 : mgui.getTMLArchiDiagramPanels()) { if (mappingDiagName.equals(mgui.getTitleAt(panel1))) { panel = panel1; } } - try { mgui.checkModelingSyntax(panel, true); - latencyDetailedAnalysisMain = new latencyDetailedAnalysisMain(3, mgui, file2, false, false, 3); } catch (InterruptedException e) { // TODO Auto-generated catch block return ("Exception during file loading: " + e.getMessage()); } - latencyDetailedAnalysisMain.getTc().setMainGUI(mgui); - // latencyDetailedAnalysisMain.setTc(); - interpreter.print("panel=" + panel); - latencyDetailedAnalysisMain.latencyDetailedAnalysis(file2, panel, false, false, mgui); - latencyDetailedAnalysis = latencyDetailedAnalysisMain.getLatencyDetailedAnalysis(); - if (latencyDetailedAnalysis != null) { latencyDetailedAnalysis.setVisible(false); try { @@ -246,35 +219,26 @@ public class Plan extends Command { // TODO Auto-generated catch block e.printStackTrace(); } - // if (latencyDetailedAnalysis.graphStatus() == Thread.State.TERMINATED) { dgt = latencyDetailedAnalysis.getDgraph(); - interpreter.print("graph=" + dgt.getGraphsize()); - TMLActivity activity; - for (TMLTask tmltask : latencyDetailedAnalysis.getTmap1().getTMLModeling().getTasks()) { - int opCount = 0; - activity = tmltask.getActivityDiagram(); TMLActivityDiagramPanel tadp = (TMLActivityDiagramPanel) (activity.getReferenceObject()); List<TGComponent> list = tadp.getComponentList(); Iterator<TGComponent> iterator = list.listIterator(); TGComponent tgc; opCount = 0; - iterator = list.listIterator(); while (iterator.hasNext()) { tgc = iterator.next(); String compName = ""; if (tgc.isEnabled()) { if (tgc instanceof CheckableLatency) { - compName = tmltask.getName() + ":" + tgc.getName(); compName = compName.replaceAll(" ", ""); - if (tgc.getValue().contains("(")) { compName = compName + ":" + tgc.getValue().split("\\(")[0]; } else { @@ -283,14 +247,10 @@ public class Plan extends Command { } } checkedT.put(compName + "__" + tgc.getDIPLOID(), tgc.getDIPLOID()); - } } - } - } - return null; } return mappingDiagName; @@ -298,102 +258,68 @@ public class Plan extends Command { private String computeLat(String command, Interpreter interpreter) { // TODO Auto-generated method stub - String[] commands = command.split(" "); - String task1 = null, task2 = null; int operator1ID = Integer.valueOf(commands[0]); int operator2ID = Integer.valueOf(commands[1]); taint = Boolean.parseBoolean(commands[2]); String filename = commands[3]; - for (Entry<String, Integer> cT : checkedT.entrySet()) { - int id = cT.getValue(); String taskName = cT.getKey(); if (id == operator1ID) { task1 = taskName; - } else if (id == operator2ID) { task2 = taskName; - } } - transFile1 = latencyDetailedAnalysisMain.getLatencyDetailedAnalysis().parseFile(new File(traceFile)); - allLatencies = dgt.latencyDetailedAnalysis(task1, task2, transFile1, taint, false); - interpreter.print("lat=" + allLatencies.length); - if (taint) { - minMaxArray = dgt.latencyMinMaxAnalysisTaintedData(task1, task2, transFile1); } else { - minMaxArray = dgt.latencyMinMaxAnalysis(task1, task2, transFile1); } - // dgt.getRowDetailsMinMax(1); // taskHWByRowDetails = dgt.getTasksByRowMinMax(1); - interpreter.print("minMaxArray.length=" + minMaxArray.length); - // interpreter.print("taskHWByRowDetails.length=" + taskHWByRowDetails.length); - // taskHWByRowDetails = dgt.getTaskHWByRowDetailsMinMax(1); - // interpreter.print("taskHWByRowDetails.length=" + taskHWByRowDetails.length); - dgt.saveLAtencyValuesToXML(filename); - return null; } private String listAllOperators(String command, Interpreter interpreter) { - String allop = ""; for (Entry<String, Integer> cT : checkedT.entrySet()) { - int id = cT.getValue(); - allop = allop.concat(id + " "); } - interpreter.print(allop); - return null; } private String preciseLatByRow(String command, Interpreter interpreter) { - String[] commands = command.split(" "); - String i = commands[0]; Boolean minmax = Boolean.parseBoolean(commands[1]); String filename = commands[2]; - interpreter.print("minmax " + minmax); interpreter.print("taint" + taint); - int id = Integer.valueOf(i); if (!minmax) { - // detailedLatency = dgt.getTaskByRowDetails(id); - // interpreter.print("detailedLatency.length=" + detailedLatency.length); - // detailedLatency = dgt.getTaskHWByRowDetails(id); - // interpreter.print("detailedLatency.length=" + detailedLatency.length); - try { new JFrameLatencyDetailedPopup(dgt, id, true, taint, latencyDetailedAnalysisMain.getTc(), false); interpreter.print("dgt.getOffPathBehavior=" + dgt.getOffPath().size()); interpreter.print("dgt.getOffPathBehaviorCausingDelay=" + dgt.getOffPathDelay().size()); interpreter.print("dgt.getOnPath=" + dgt.getOnPath().size()); dgt.saveDetailsToXML(filename); - } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -409,9 +335,7 @@ public class Plan extends Command { // TODO Auto-generated catch block e.printStackTrace(); } - } - return null; } } diff --git a/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java b/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java index a9d6e72da2..93507a58de 100644 --- a/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java +++ b/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java @@ -1108,7 +1108,7 @@ public class DirectedGraphTranslator extends JApplet { TMLCPrimitivePort receivePortdetails = waitEvent.getEvent().port2; if (sendingPortdetails != null && !sendingPortdetails.isBlocking()) { warnings.add("Analysis may fail because the model contains non blocking sending port: " + sendingPortdetails.getPortName() - + " Use tainting analysis instead."); + + ". Use tainting analysis instead."); } if (sendingPortdetails != null && sendingPortdetails.isFinite()) { warnings.add("Send event port:" + sendingPortdetails.getPortName() + " is Finite. Event lost is not supported in latency analysis "); @@ -1318,7 +1318,7 @@ public class DirectedGraphTranslator extends JApplet { if (sp != null && rp != null) { if (!sp.isBlocking() && !rp.isBlocking()) { warnings.add("Analysis may fail because the model contains non blocking sending port: " + sp.getPortName() - + " and non blocking read data port:" + rp.getPortName() + " Use tainting analysis instead."); + + " and non blocking read data port:" + rp.getPortName() + ". Use tainting analysis instead."); } } } diff --git a/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java b/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java index 73be09cf54..d8a3887440 100644 --- a/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java +++ b/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java @@ -156,7 +156,7 @@ public class JFrameCompareLatencyDetail extends JFrame implements ActionListener c02.gridx = 0; c02.gridy = 0; c02.anchor = GridBagConstraints.WEST; - JLabel xmlLabel = new JLabel("Secound Simulation Traces ", JLabel.LEFT); + JLabel xmlLabel = new JLabel("Second Simulation Traces ", JLabel.LEFT); loadmodel.add(xmlLabel, c02); secondFile.setMinimumSize(new Dimension(300, 30)); secondFile.setEditable(false); diff --git a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java index b70abffd7e..074a6b8c68 100644 --- a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java +++ b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java @@ -511,7 +511,8 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe protected void generateDirectedGraph(TMLMapping<TGComponent> tmap, List<TMLComponentDesignPanel> cpanels) { try { dgraph = new DirectedGraphTranslator(this, jframeCompareLatencyDetail, tmap, cpanels, 0); - jta.append("A directed graph with " + dgraph.getGraphsize() + " vertices and " + dgraph.getGraphEdgeSet() + " edges was generated.\n"); + jta.append("A directed graph with " + dgraph.getGraphsize() + " vertices and " + dgraph.getGraphEdgeSet() + + " edges has been successfully generated.\n"); // buttonSaveDGraph.setEnabled(true); if (dgraph.getWarnings().size() > 0) { jta.append("Warnings: \n "); diff --git a/src/main/java/ui/simulationtraceanalysis/latencyDetailedAnalysisMain.java b/src/main/java/ui/simulationtraceanalysis/latencyDetailedAnalysisMain.java index 2a2ba077a5..6e563575fe 100644 --- a/src/main/java/ui/simulationtraceanalysis/latencyDetailedAnalysisMain.java +++ b/src/main/java/ui/simulationtraceanalysis/latencyDetailedAnalysisMain.java @@ -47,6 +47,7 @@ public class latencyDetailedAnalysisMain { public static final String DIPLODOCUS_ARCHI_MAPPING = "DIPLODOCUS architecture and mapping Diagram"; public static final String TML_COMP_TASK_DIAGRAM = "TML Component Task Diagram"; + public static final String MODEL_PATH = "/siminfo/global/model"; public latencyDetailedAnalysisMain(int callerId, MainGUI mainGUI, SimulationTrace selectedST, boolean b, boolean compare, int j) throws InterruptedException { @@ -230,7 +231,7 @@ public class latencyDetailedAnalysisMain { DocumentBuilder builder = domFactory.newDocumentBuilder(); Document dDoc = builder.parse(selectedST.getFullPath()); XPath xPath = XPathFactory.newInstance().newXPath(); - String modelNode = (String) xPath.evaluate("/siminfo/global/model", dDoc, XPathConstants.STRING); + String modelNode = (String) xPath.evaluate(MODEL_PATH, dDoc, XPathConstants.STRING); TURTLEPanel panel = null; Vector<TURTLEPanel> allTabs = new Vector<TURTLEPanel>(); if (j == 1) { -- GitLab