From d20d54c4171aa573c83b722620a7d2afd526c117 Mon Sep 17 00:00:00 2001 From: maysam zoor <maysam_zoor@hotmail.com> Date: Wed, 13 Jan 2021 10:38:08 +0100 Subject: [PATCH] update --- .../DirectedGraphTranslator.java | 404 +++++++++--------- .../JFrameCompareLatencyDetail.java | 26 +- .../JFrameLatencyComparedDetailedPopup.java | 39 +- .../JFrameLatencyDetailedAnalysis.java | 53 +-- .../JFrameLatencyDetailedPopup.java | 46 +- .../{considerrule.html => considerRule.html} | 0 .../help/{considerrule.md => considerRule.md} | 0 src/main/resources/help/helpTable.txt | 2 +- 8 files changed, 308 insertions(+), 262 deletions(-) rename src/main/resources/help/{considerrule.html => considerRule.html} (100%) rename src/main/resources/help/{considerrule.md => considerRule.md} (100%) diff --git a/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java b/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java index ecee6adeec..e38ff30231 100644 --- a/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java +++ b/src/main/java/ui/simulationtraceanalysis/DirectedGraphTranslator.java @@ -167,7 +167,7 @@ public class DirectedGraphTranslator extends JApplet { private HashMap<Integer, List<String>> detailsOfMinMaxRow = new HashMap<Integer, List<String>>(); private HashMap<Integer, List<SimulationTransaction>> dataBydelayedTasksOfMinMAx = new HashMap<Integer, List<SimulationTransaction>>(); - private final JFrame frame = new JFrame("The Sys-ML Model As Directed Graph"); + private final JFrame frame = new JFrame("The SysML Model As Directed Graph"); private List<Integer> times1 = new ArrayList<Integer>(); private List<Integer> times2 = new ArrayList<Integer>(); @@ -234,6 +234,31 @@ public class DirectedGraphTranslator extends JApplet { private List<SimulationTransaction> offPath = new ArrayList<SimulationTransaction>(); private List<SimulationTransaction> offPathDelay = new ArrayList<SimulationTransaction>(); + private static final String selectEventparam = "SelectEvent params:"; + private static final String selectEvent = "SelectEvent"; + private static final String transactions = "Transactions"; + private static final String mandatory = "Mandatory"; + private static final String operatorLabel = "operator"; + private static final String startTimeLabel = "starttime"; + private static final String endTimeLabel = "endtime"; + private static final String lengthLabel = "length"; + private static final String noContentionLabel = "NoContention"; + private static final String contentionLabel = "Contention"; + private static final String idLabel = "id"; + private static final String latencyTableLabel = "LatencyTable"; + private static final String latencyLabel = "Latency"; + private static final String rowLabel = "Row"; + private static final String minLabel = "Min"; + private static final String maxLabel = "Max"; + private static final String op1 = "op1"; + private static final String op2 = "op2"; + private static final String stLAbel = "st"; + private static final String waitLabel = "Wait"; + private static final String waitReqLabel = "Wait reqChannel_"; + private static final String getReqArgLabel = "getReqArg"; + private static final String waitSt = "Wait: "; + private static final String waitEvent = "wait event: "; + @SuppressWarnings("deprecation") public DirectedGraphTranslator(JFrameLatencyDetailedAnalysis jFrameLatencyDetailedAnalysis, JFrameCompareLatencyDetail jframeCompareLatencyDetail, TMLMapping<TGComponent> tmap1, List<TMLComponentDesignPanel> cpanels1, int i) { @@ -335,11 +360,11 @@ public class DirectedGraphTranslator extends JApplet { if (!g.vertexSet().contains(getvertex(ch.getName()))) { vertex v2 = vertex(ch.getName(), ch.getID()); g.addVertex(v2); - updatemainBar("v"); + updateMainBar(); // gVertecies.add(vertex(ch.getName())); getvertex(ch.getName()).setType(vertex.TYPE_CHANNEL); getvertex(ch.getName()).setTaintFixedNumber(0); - updatemainBar(ch.getName()); + updateMainBar(); } @@ -406,11 +431,11 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(getvertex(ChannelName))) { g.addVertex(v); - updatemainBar("v"); + updateMainBar(); getvertex(ChannelName).setType(vertex.TYPE_CHANNEL); // gVertecies.add(vertex(ChannelName)); getvertex(ChannelName).setTaintFixedNumber(0); - updatemainBar("ChannelName"); + updateMainBar(); } @@ -435,13 +460,13 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(getvertex(ChannelName))) { g.addVertex(v); - updatemainBar("v"); + updateMainBar(); getvertex(ChannelName).setType(vertex.TYPE_CHANNEL); // gVertecies.add(vertex(ChannelName)); getvertex(ChannelName).setTaintFixedNumber(0); - updatemainBar("ChannelName"); + updateMainBar(); } @@ -466,11 +491,11 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(v)) { g.addVertex(v); - updatemainBar("v"); + updateMainBar(); getvertex(ChannelName).setType(vertex.TYPE_CHANNEL); // gVertecies.add(vertex(ChannelName)); getvertex(ChannelName).setTaintFixedNumber(0); - updatemainBar("ChannelName"); + updateMainBar(); } @@ -497,7 +522,7 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(v)) { g.addVertex(v); - updatemainBar("getMemories"); + updateMainBar(); } @@ -545,7 +570,7 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(v)) { g.addVertex(v); - updatemainBar("getHwBridge"); + updateMainBar(); } @@ -569,7 +594,7 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(v)) { g.addVertex(v); - updatemainBar("getBUSs"); + updateMainBar(); } @@ -858,7 +883,7 @@ public class DirectedGraphTranslator extends JApplet { } - private void updatemainBar(String string) { + private void updateMainBar() { nbOfNodes++; @@ -928,11 +953,11 @@ public class DirectedGraphTranslator extends JApplet { if (!g.vertexSet().contains(getvertex(key))) { g.addVertex(vertex(key, keyID)); - updatemainBar(key); + updateMainBar(); } if (!g.vertexSet().contains(getvertex(taskName))) { g.addVertex(vertex(taskName, taskID)); - updatemainBar(taskName); + updateMainBar(); } g.addEdge(getvertex(key), getvertex(taskName)); @@ -954,7 +979,7 @@ public class DirectedGraphTranslator extends JApplet { if (currentElement.getName().equals("Stop after infinite loop")) { opCount++; - updatemainBar("v"); + updateMainBar(); if (opCount <= activity.nElements()) { if (currentElement.getNexts().size() == 1) { @@ -974,7 +999,7 @@ public class DirectedGraphTranslator extends JApplet { } else if (currentElement.getName().equals("startOfFork") || currentElement.getName().equals("junctionOfFork") || currentElement.getName().equals("startOfJoin") || currentElement.getName().equals("junctionOfJoin")) { opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); continue; @@ -984,7 +1009,7 @@ public class DirectedGraphTranslator extends JApplet { int id = ((TMLReadChannel) (currentElement)).getChannel(0).getID(); if (!g.containsVertex(getvertex(name))) { g.addVertex(vertex(name, id)); - updatemainBar("v"); + updateMainBar(); } @@ -1006,7 +1031,7 @@ public class DirectedGraphTranslator extends JApplet { } opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); continue; @@ -1019,7 +1044,7 @@ public class DirectedGraphTranslator extends JApplet { vertex v = getvertex(vName); if (!g.containsVertex(v)) { g.addVertex(vertex(vName, vid)); - updatemainBar("v"); + updateMainBar(); } @@ -1041,7 +1066,7 @@ public class DirectedGraphTranslator extends JApplet { // g.addEdge(getvertex(taskName),getvertex(((TMLWriteChannel)(currentElement)).getChannel(0).getName())); opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); continue; @@ -1049,7 +1074,7 @@ public class DirectedGraphTranslator extends JApplet { } else if (currentElement.getName().equals("stopOfFork") || currentElement.getName().equals("stop2OfFork") || currentElement.getName().equals("stopOfJoin")) { opCount++; - updatemainBar("v"); + updateMainBar(); // currentElement = currentElement.getNexts().firstElement(); continue; } else if (taskName.startsWith("JOINTASK_S_") && currentElement.getName().startsWith("ReadOfJoin")) { @@ -1059,7 +1084,7 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(getvertex(vName))) { g.addVertex(vertex(vName, vid)); - updatemainBar("v"); + updateMainBar(); } @@ -1081,7 +1106,7 @@ public class DirectedGraphTranslator extends JApplet { // g.addEdge(getvertex(task.getName()),getvertex(((TMLWriteChannel)(currentElement)).getChannel(0).getName())); opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); @@ -1093,7 +1118,7 @@ public class DirectedGraphTranslator extends JApplet { if (!g.containsVertex(getvertex(vName))) { g.addVertex(vertex(vName, vid)); - updatemainBar("v"); + updateMainBar(); } @@ -1115,7 +1140,7 @@ public class DirectedGraphTranslator extends JApplet { } opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); continue; @@ -1128,7 +1153,7 @@ public class DirectedGraphTranslator extends JApplet { vertex v = getvertex(vName); if (!g.containsVertex(v)) { g.addVertex(vertex(vName, vid)); - updatemainBar("v"); + updateMainBar(); } @@ -1150,7 +1175,7 @@ public class DirectedGraphTranslator extends JApplet { // g.addEdge(getvertex(taskName),getvertex(((TMLWriteChannel)(currentElement)).getChannel(0).getName())); opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); continue; @@ -1161,7 +1186,7 @@ public class DirectedGraphTranslator extends JApplet { int id = ((TMLWaitEvent) (currentElement)).getEvent().getID(); if (!g.containsVertex(getvertex(name))) { g.addVertex(vertex(name, id)); - updatemainBar("v"); + updateMainBar(); } @@ -1183,7 +1208,7 @@ public class DirectedGraphTranslator extends JApplet { } opCount++; - updatemainBar("v"); + updateMainBar(); currentElement = currentElement.getNexts().firstElement(); continue; @@ -1306,10 +1331,12 @@ public class DirectedGraphTranslator extends JApplet { String[] val = cond.split("<="); String loopValue = val[2].toString(); + + int loopVal = Integer.valueOf(loopValue); if ((loopValue != null) && (loopValue.length() > 0)) { if ((loopValue.matches("\\d*"))) { - getvertex(eventName).setTaintFixedNumber(Integer.valueOf(loopValue)); + getvertex(eventName).setTaintFixedNumber(loopVal); } else { for (TMLAttribute att : taskAc.getAttributes()) { @@ -1319,7 +1346,7 @@ public class DirectedGraphTranslator extends JApplet { } - getvertex(eventName).setTaintFixedNumber(Integer.valueOf(loopValue)); + getvertex(eventName).setTaintFixedNumber(loopVal); } } @@ -1329,10 +1356,12 @@ public class DirectedGraphTranslator extends JApplet { String[] val = cond.split("<"); String loopValue = val[1].toString(); + int loopVal = Integer.valueOf(loopValue); + if ((loopValue != null) && (loopValue.length() > 0)) { if ((loopValue.matches("\\d*"))) { - getvertex(eventName).setTaintFixedNumber(Integer.valueOf(loopValue)); + getvertex(eventName).setTaintFixedNumber(loopVal); } else { for (TMLAttribute att : taskAc.getAttributes()) { @@ -1342,7 +1371,7 @@ public class DirectedGraphTranslator extends JApplet { } if ((loopValue.matches("\\d*"))) { - getvertex(eventName).setTaintFixedNumber(Integer.valueOf(loopValue)); + getvertex(eventName).setTaintFixedNumber(loopVal); } { frameLatencyDetailedAnalysis.error(loopValue + " Expression in For Loop is not supported by Tainting"); @@ -1497,7 +1526,7 @@ public class DirectedGraphTranslator extends JApplet { vertex startv = vertex(taskStartName, currentElement.getID()); g.addVertex(startv); - updatemainBar("v"); + updateMainBar(); // gVertecies.add(vertex(taskStartName)); getvertex(taskStartName).setType(vertex.TYPE_START); getvertex(taskStartName).setTaintFixedNumber(1); @@ -1520,10 +1549,10 @@ public class DirectedGraphTranslator extends JApplet { if (sendingPortdetails != null && !sendingPortdetails.isBlocking()) { warnings.add( - "send event port:" + sendingPortdetails.getPortName() + " is non-blocking. Use tainting for an accurate latency analysis"); + "Send event port:" + sendingPortdetails.getPortName() + " is non-blocking. Use tainting for an accurate latency analysis"); } if (sendingPortdetails != null && sendingPortdetails.isFinite()) { - warnings.add("send event port:" + sendingPortdetails.getPortName() + " is Finite. Event lost is not supported in latency analysis "); + warnings.add("Send event port:" + sendingPortdetails.getPortName() + " is Finite. Event lost is not supported in latency analysis "); } String receivePortparams = waitEvent.getAllParams(); @@ -1847,7 +1876,7 @@ public class DirectedGraphTranslator extends JApplet { if (sp != null && rp != null) { if (!sp.isBlocking() && !rp.isBlocking()) { - warnings.add("send data port:" + sp.getPortName() + " and read data port:" + rp.getPortName() + warnings.add("Send data port:" + sp.getPortName() + " and read data port:" + rp.getPortName() + " are non-blocking. Use tainting for an accurate latency analysis."); } @@ -2052,9 +2081,7 @@ public class DirectedGraphTranslator extends JApplet { vertex preV = vertex(preEventName, preEventid); g.addVertex(v); - updatemainBar("v"); - // gVertecies.add(vertex(eventName)); - + updateMainBar(); g.addEdge(preV, v); opCount++; @@ -2062,7 +2089,7 @@ public class DirectedGraphTranslator extends JApplet { vertex v = vertex(eventName, eventid); g.addVertex(v); - updatemainBar("v"); + updateMainBar(); // gVertecies.add(vertex(eventName)); g.addEdge(getvertex(taskStartName), getvertex(eventName)); opCount++; @@ -2425,7 +2452,7 @@ public class DirectedGraphTranslator extends JApplet { vertex taskEndVertex = vertex(taskEndName, taskEndid); g.addVertex(taskEndVertex); - updatemainBar("v"); + updateMainBar(); // gVertecies.add(vertex(taskEndName)); getvertex(eventName).setType(vertex.TYPE_END); getvertex(eventName).setTaintFixedNumber(1); @@ -3277,6 +3304,9 @@ public class DirectedGraphTranslator extends JApplet { int j = 0; for (SimulationTransaction st : transFile1) { + int startTime = Integer.valueOf(st.startTime); + int endTime = Integer.valueOf(st.endTime); + int id = Integer.valueOf(st.id); if (st.coreNumber == null) { st.coreNumber = "0"; @@ -3311,20 +3341,20 @@ public class DirectedGraphTranslator extends JApplet { String tasknameCheckID = ""; - if (st.command.contains("SelectEvent params:")) { - st.command = st.command.replace("SelectEvent", "Wait: " + st.channelName); + if (st.command.contains(selectEventparam)) { + st.command = st.command.replace(selectEvent, waitSt + st.channelName); String[] chN = st.channelName.split("__"); String eventN = chN[chN.length - 1]; - vertex v = getvertexFromID(Integer.valueOf(st.id)); + vertex v = getvertexFromID(id); String vName = v.getName(); if (Graphs.vertexHasSuccessors(g, v)) { for (vertex vsec : Graphs.successorListOf(g, v)) { - if (vsec.getName().contains("wait event: " + eventN + "(")) { + if (vsec.getName().contains(waitEvent + eventN + "(")) { st.id = String.valueOf(vsec.getId()); } @@ -3332,14 +3362,14 @@ public class DirectedGraphTranslator extends JApplet { } - } else if (st.command.contains("Wait reqChannel_")) { - vertex v = getvertexFromID(Integer.valueOf(st.id)); + } else if (st.command.contains(waitReqLabel)) { + vertex v = getvertexFromID(id); if (v.getType() == vertex.TYPE_START) { if (Graphs.vertexHasSuccessors(g, v)) { for (vertex vbefore : Graphs.successorListOf(g, v)) { - if (vbefore.getName().startsWith("getReqArg")) { + if (vbefore.getName().startsWith(getReqArgLabel)) { st.id = String.valueOf(vbefore.getId()); } @@ -3391,7 +3421,7 @@ public class DirectedGraphTranslator extends JApplet { if (isNumeric(taskToAddid)) { - if (Integer.valueOf(taskToAddid).equals(Integer.valueOf(st.id))) { + if (Integer.valueOf(taskToAddid).equals(id)) { taskname = tasknameCheck.toString(); @@ -3412,7 +3442,7 @@ public class DirectedGraphTranslator extends JApplet { } - times1.add(Integer.valueOf(st.startTime)); + times1.add(startTime); Collections.sort(times1); } @@ -3657,7 +3687,7 @@ public class DirectedGraphTranslator extends JApplet { task2DeviceName = st.deviceName; task2CoreNbr = st.coreNumber; - times2.add(Integer.valueOf(st.endTime)); + times2.add(endTime); Collections.sort(times2); } @@ -3675,7 +3705,7 @@ public class DirectedGraphTranslator extends JApplet { ArrayList<Integer> timeValues = new ArrayList<Integer>(); timeValues.add(0, Integer.valueOf(st.runnableTime)); - timeValues.add(1, Integer.valueOf(st.startTime)); + timeValues.add(1, startTime); if (!(st.runnableTime).equals(st.startTime)) { @@ -3734,7 +3764,7 @@ public class DirectedGraphTranslator extends JApplet { task2DeviceName = st.deviceName; task2CoreNbr = st.coreNumber; - times2.add(Integer.valueOf(st.endTime)); + times2.add(endTime); Collections.sort(times2); } @@ -3752,7 +3782,7 @@ public class DirectedGraphTranslator extends JApplet { ArrayList<Integer> timeValues = new ArrayList<Integer>(); timeValues.add(0, Integer.valueOf(st.runnableTime)); - timeValues.add(1, Integer.valueOf(st.startTime)); + timeValues.add(1, startTime); if (!(st.runnableTime).equals(st.startTime)) { @@ -3841,26 +3871,28 @@ public class DirectedGraphTranslator extends JApplet { for (SimulationTransaction st : relatedsimTraceswithTaint.get(labeli)) { - if (!(Integer.valueOf(st.startTime) < s1 && Integer.valueOf(st.endTime) <= s1) - && !(Integer.valueOf(st.startTime) >= s2 && Integer.valueOf(st.endTime) > s2)) { + int startTime = Integer.valueOf(st.startTime); + int endTime = Integer.valueOf(st.endTime); + + if (!(startTime < s1 && endTime <= s1) && !(startTime >= s2 && endTime > s2)) { // if (Integer.valueOf(st.startTime) >= minTime && Integer.valueOf(st.startTime) // < maxTime) { - if (Integer.valueOf(st.endTime) > s2) { - st.endTime = Integer.valueOf(s2).toString(); - st.length = Integer.valueOf(Integer.valueOf(s2) - Integer.valueOf(st.startTime)).toString(); + if (endTime > s2) { + st.endTime = String.valueOf(s2); + st.length = String.valueOf(s2 - startTime); } - if (Integer.valueOf(st.startTime) < s1 && Integer.valueOf(st.endTime) != s1) { - st.startTime = Integer.valueOf(s1).toString(); - st.length = Integer.valueOf(Integer.valueOf(st.endTime) - Integer.valueOf(s1)).toString(); + if (startTime < s1 && endTime != s1) { + st.startTime = String.valueOf(s1); + st.length = String.valueOf(endTime - s1); } - if (Integer.valueOf(st.startTime) < s1 && Integer.valueOf(st.endTime) > s2) { - st.startTime = Integer.valueOf(s1).toString(); - st.endTime = Integer.valueOf(s2).toString(); - st.length = Integer.valueOf(Integer.valueOf(s2) - Integer.valueOf(s1)).toString(); + if (startTime < s1 && endTime > s2) { + st.startTime = String.valueOf(s1); + st.endTime = String.valueOf(s2); + st.length = String.valueOf(s2 - s1); } relatedSTTaint.add(st); @@ -3882,26 +3914,26 @@ public class DirectedGraphTranslator extends JApplet { for (SimulationTransaction st : delayDueTosimTraces) { - if (!(Integer.valueOf(st.startTime) < times1.get(row) && Integer.valueOf(st.endTime) <= times1.get(row)) - && !(Integer.valueOf(st.startTime) >= times2.get(row) && Integer.valueOf(st.endTime) > times2.get(row))) { + int startTime = Integer.valueOf(st.startTime); + int endTime = Integer.valueOf(st.endTime); - // if (Integer.valueOf(st.startTime) >= minTime && Integer.valueOf(st.startTime) - // < maxTime) { + if (!(startTime < times1.get(row) && endTime <= times1.get(row)) + && !(startTime >= times2.get(row) && endTime > times2.get(row))) { - if (Integer.valueOf(st.endTime) > times2.get(row)) { + if (endTime > times2.get(row)) { st.endTime = times2.get(row).toString(); - st.length = Integer.valueOf(Integer.valueOf(times2.get(row)) - Integer.valueOf(st.startTime)).toString(); + st.length = String.valueOf(times2.get(row) - startTime); } - if (Integer.valueOf(st.startTime) < times1.get(row)) { - st.startTime = Integer.valueOf(times1.get(row)).toString(); - st.length = Integer.valueOf(Integer.valueOf(st.endTime) - Integer.valueOf(times1.get(row))).toString(); + if (startTime < times1.get(row)) { + st.startTime = times1.get(row).toString(); + st.length = String.valueOf(endTime - times1.get(row)); } - if (Integer.valueOf(st.startTime) < times1.get(row) && Integer.valueOf(st.endTime) > times2.get(row)) { - st.startTime = Integer.valueOf(times1.get(row)).toString(); + if (startTime < times1.get(row) && endTime > times2.get(row)) { + st.startTime = times1.get(row).toString(); st.endTime = times2.get(row).toString(); - st.length = Integer.valueOf(Integer.valueOf(times2.get(row)) - Integer.valueOf(times1.get(row))).toString(); + st.length = String.valueOf(times2.get(row) - times1.get(row)); } delayDueTosimTracesTaint.add(st); @@ -3918,17 +3950,19 @@ public class DirectedGraphTranslator extends JApplet { for (SimulationTransaction st : transFile1) { + int startTime = Integer.valueOf(st.startTime); + int endTime = Integer.valueOf(st.endTime); + int selectID = Integer.valueOf(st.id); + if (st.coreNumber == null) { st.coreNumber = "0"; } - if (st.command.contains("SelectEvent params:") && getvertexFromID(Integer.valueOf(st.id)).getType() == 11) { - st.command = st.command.replace("SelectEvent params:", "Wait" + st.channelName); - - int selectID = Integer.valueOf(st.id); + if (st.command.contains(selectEventparam) && getvertexFromID(selectID).getType() == 11) { + st.command = st.command.replace(selectEventparam, waitLabel + st.channelName); - vertex selectV = getvertexFromID(Integer.valueOf(selectID)); + vertex selectV = getvertexFromID(selectID); String[] chName = st.channelName.toString().split("__"); @@ -3943,13 +3977,13 @@ public class DirectedGraphTranslator extends JApplet { } } - } else if (st.command.contains("Wait reqChannel_")) { - vertex v = getvertexFromID(Integer.valueOf(st.id)); + } else if (st.command.contains(waitReqLabel)) { + vertex v = getvertexFromID(selectID); if (v.getType() == vertex.TYPE_START) { if (Graphs.vertexHasSuccessors(g, v)) { for (vertex vbefore : Graphs.successorListOf(g, v)) { - if (vbefore.getName().startsWith("getReqArg")) { + if (vbefore.getName().startsWith(getReqArgLabel)) { st.id = String.valueOf(vbefore.getId()); } @@ -3959,20 +3993,20 @@ public class DirectedGraphTranslator extends JApplet { } } - if (st.id.equals(idTask1) && !times1.contains(Integer.valueOf(st.startTime))) { + if (st.id.equals(idTask1) && !times1.contains(startTime)) { Task1Traces.add(st); task1DeviceName = st.deviceName; task1CoreNbr = st.coreNumber; - times1.add(Integer.valueOf(st.startTime)); + times1.add(startTime); Collections.sort(times1); } - if (st.id.equals(idTask2) && !times2.contains(Integer.valueOf(st.endTime))) { + if (st.id.equals(idTask2) && !times2.contains(endTime)) { Task2Traces.add(st); task2DeviceName = st.deviceName; task2CoreNbr = st.coreNumber; - times2.add(Integer.valueOf(st.endTime)); + times2.add(endTime); Collections.sort(times1); } @@ -3999,23 +4033,18 @@ public class DirectedGraphTranslator extends JApplet { runnableTimePerDevice = new HashMap<String, ArrayList<ArrayList<Integer>>>(); for (SimulationTransaction st : transFile1) { - Boolean onPath = false; - - // if (Integer.valueOf(st.startTime) >= times1.get(i) && - // Integer.valueOf(st.startTime) < times2.get(i)) { - - if (!(Integer.valueOf(st.startTime) < times1.get(i) && Integer.valueOf(st.endTime) <= times1.get(i)) - && !(Integer.valueOf(st.startTime) >= times2.get(i) && Integer.valueOf(st.endTime) > times2.get(i))) { - // if (Integer.valueOf(st.startTime) >= minTime && Integer.valueOf(st.startTime) - // < maxTime) { + int startTime = Integer.valueOf(st.startTime); + int endTime = Integer.valueOf(st.endTime); + int selectID = Integer.valueOf(st.id); + Boolean onPath = false; - if (st.command.contains("SelectEvent params:") && getvertexFromID(Integer.valueOf(st.id)).getType() == 11) { - st.command = st.command.replace("SelectEvent params:", "Wait" + st.channelName); + if (!(startTime < times1.get(i) && endTime <= times1.get(i)) && !(startTime >= times2.get(i) && endTime > times2.get(i))) { - int selectID = Integer.valueOf(st.id); + if (st.command.contains(selectEventparam) && getvertexFromID(selectID).getType() == 11) { + st.command = st.command.replace(selectEventparam, waitLabel + st.channelName); - vertex selectV = getvertexFromID(Integer.valueOf(selectID)); + vertex selectV = getvertexFromID(selectID); String[] chName = st.channelName.toString().split("__"); @@ -4029,13 +4058,13 @@ public class DirectedGraphTranslator extends JApplet { st.id = String.valueOf(nextV.getId()); } } - } else if (st.command.contains("Wait reqChannel_")) { - vertex v = getvertexFromID(Integer.valueOf(st.id)); + } else if (st.command.contains(waitReqLabel)) { + vertex v = getvertexFromID(selectID); if (v.getType() == vertex.TYPE_START) { if (Graphs.vertexHasSuccessors(g, v)) { for (vertex vbefore : Graphs.successorListOf(g, v)) { - if (vbefore.getName().startsWith("getReqArg")) { + if (vbefore.getName().startsWith(getReqArgLabel)) { st.id = String.valueOf(vbefore.getId()); } @@ -4045,20 +4074,20 @@ public class DirectedGraphTranslator extends JApplet { } } - if (Integer.valueOf(st.endTime) > times2.get(i)) { + if (endTime > times2.get(i)) { st.endTime = times2.get(i).toString(); - st.length = Integer.valueOf(Integer.valueOf(times2.get(i)) - Integer.valueOf(st.startTime)).toString(); + st.length = String.valueOf(times2.get(i) - startTime); } - if (Integer.valueOf(st.startTime) < times1.get(i) && Integer.valueOf(st.endTime) != times1.get(i)) { - st.startTime = Integer.valueOf(times1.get(i)).toString(); - st.length = Integer.valueOf(Integer.valueOf(st.endTime) - Integer.valueOf(times1.get(i))).toString(); + if (startTime < times1.get(i) && endTime != times1.get(i)) { + st.startTime = String.valueOf(times1.get(i)); + st.length = String.valueOf(endTime - times1.get(i)); } - if (Integer.valueOf(st.startTime) < times1.get(i) && Integer.valueOf(st.endTime) > times2.get(i)) { - st.startTime = Integer.valueOf(times1.get(i)).toString(); + if (startTime < times1.get(i) && endTime > times2.get(i)) { + st.startTime = String.valueOf(times1.get(i)); st.endTime = times2.get(i).toString(); - st.length = Integer.valueOf(Integer.valueOf(times2.get(i)) - Integer.valueOf(times1.get(i))).toString(); + st.length = String.valueOf(times2.get(i) - times1.get(i)); } String taskname = ""; @@ -4072,7 +4101,7 @@ public class DirectedGraphTranslator extends JApplet { String taskToAddid = taskToAdd[taskToAddindex - 1]; if (isNumeric(taskToAddid)) { - if (Integer.valueOf(taskToAddid).equals(Integer.valueOf(st.id))) { + if (Integer.valueOf(taskToAddid).equals(selectID)) { taskname = tasknameCheck.toString(); break; @@ -4100,7 +4129,7 @@ public class DirectedGraphTranslator extends JApplet { relatedsimTraces.add(st); ArrayList<Integer> timeValues = new ArrayList<Integer>(); timeValues.add(0, Integer.valueOf(st.runnableTime)); - timeValues.add(1, Integer.valueOf(st.startTime)); + timeValues.add(1, startTime); String dName = st.deviceName + "_" + st.coreNumber; @@ -4194,10 +4223,10 @@ public class DirectedGraphTranslator extends JApplet { Document dom = builder.newDocument(); - Element root2 = dom.createElement("Transactions"); + Element root2 = dom.createElement(transactions); dom.appendChild(root2); // write DOM to XML file - Element root1 = dom.createElement("Mandatory"); + Element root1 = dom.createElement(mandatory); root2.appendChild(root1); // write DOM to XML file for (int i = 0; i < onPath.size(); i++) { @@ -4205,22 +4234,22 @@ public class DirectedGraphTranslator extends JApplet { SimulationTransaction st = onPath.get(i); // first create root element - Element root = dom.createElement("st"); + Element root = dom.createElement(stLAbel); root1.appendChild(root); // set `id` attribute to root element - Attr attr = dom.createAttribute("id"); + Attr attr = dom.createAttribute(idLabel); attr.setValue(st.id); root.setAttributeNode(attr); - // now create child elements (name, email, phone) - Element operator = dom.createElement("operator"); + // now create child elements + Element operator = dom.createElement(operatorLabel); operator.setTextContent(st.command); - Element start = dom.createElement("starttime"); + Element start = dom.createElement(startTimeLabel); start.setTextContent(st.startTime); - Element et = dom.createElement("endtime"); + Element et = dom.createElement(endTimeLabel); et.setTextContent(st.endTime); - Element l = dom.createElement("length"); + Element l = dom.createElement(lengthLabel); l.setTextContent(st.length); // add child nodes to root node @@ -4231,7 +4260,7 @@ public class DirectedGraphTranslator extends JApplet { } - Element root3 = dom.createElement("NoContention"); + Element root3 = dom.createElement(noContentionLabel); root2.appendChild(root3); // write DOM to XML file for (int i = 0; i < offPath.size(); i++) { @@ -4239,22 +4268,22 @@ public class DirectedGraphTranslator extends JApplet { SimulationTransaction st = offPath.get(i); // first create root element - Element root5 = dom.createElement("st"); + Element root5 = dom.createElement(stLAbel); root3.appendChild(root5); // set `id` attribute to root element - Attr attr = dom.createAttribute("id"); + Attr attr = dom.createAttribute(idLabel); attr.setValue(st.id); root5.setAttributeNode(attr); - // now create child elements (name, email, phone) - Element operator = dom.createElement("operator"); + // now create child elements + Element operator = dom.createElement(operatorLabel); operator.setTextContent(st.command); - Element start = dom.createElement("starttime"); + Element start = dom.createElement(startTimeLabel); start.setTextContent(st.startTime); - Element et = dom.createElement("endtime"); + Element et = dom.createElement(endTimeLabel); et.setTextContent(st.endTime); - Element l = dom.createElement("length"); + Element l = dom.createElement(lengthLabel); l.setTextContent(st.length); // add child nodes to root node @@ -4265,7 +4294,7 @@ public class DirectedGraphTranslator extends JApplet { } - Element root4 = dom.createElement("Contention"); + Element root4 = dom.createElement(contentionLabel); root2.appendChild(root4); // write DOM to XML file for (int i = 0; i < offPathDelay.size(); i++) { @@ -4273,22 +4302,22 @@ public class DirectedGraphTranslator extends JApplet { SimulationTransaction st = offPathDelay.get(i); // first create root element - Element root6 = dom.createElement("st"); + Element root6 = dom.createElement(stLAbel); root4.appendChild(root6); // set `id` attribute to root element - Attr attr = dom.createAttribute("id"); + Attr attr = dom.createAttribute(idLabel); attr.setValue(st.id); root6.setAttributeNode(attr); - // now create child elements (name, email, phone) - Element operator = dom.createElement("operator"); + // now create child elements + Element operator = dom.createElement(operatorLabel); operator.setTextContent(st.command); - Element start = dom.createElement("starttime"); + Element start = dom.createElement(startTimeLabel); start.setTextContent(st.startTime); - Element et = dom.createElement("endtime"); + Element et = dom.createElement(endTimeLabel); et.setTextContent(st.endTime); - Element l = dom.createElement("length"); + Element l = dom.createElement(lengthLabel); l.setTextContent(st.length); // add child nodes to root node @@ -4329,7 +4358,7 @@ public class DirectedGraphTranslator extends JApplet { Document dom = builder.newDocument(); - Element root1 = dom.createElement("LatencyTable"); + Element root1 = dom.createElement(latencyTableLabel); dom.appendChild(root1); for (int id = 0; id < dataByTask.length; id++) { @@ -4342,24 +4371,24 @@ public class DirectedGraphTranslator extends JApplet { String op2 = String.valueOf(dataByTask[id][2]); // first create root element - Element root = dom.createElement("Row"); + Element root = dom.createElement(rowLabel); root1.appendChild(root); // set `id` attribute to root element - Attr attr = dom.createAttribute("id"); + Attr attr = dom.createAttribute(idLabel); attr.setValue(String.valueOf(id)); root.setAttributeNode(attr); - // now create child elements (name, email, phone) - Element operator1 = dom.createElement("op1"); + // now create child elements + Element operator1 = dom.createElement(op1); operator1.setTextContent(op1); - Element operator2 = dom.createElement("op2"); + Element operator2 = dom.createElement(op2); operator2.setTextContent(op2); - Element st = dom.createElement("starttime"); + Element st = dom.createElement(startTimeLabel); st.setTextContent(starttime); - Element et = dom.createElement("endtime"); + Element et = dom.createElement(endTimeLabel); et.setTextContent(endtime); - Element lat = dom.createElement("latency"); + Element lat = dom.createElement(latencyLabel); lat.setTextContent(latency); // add child nodes to root node @@ -4381,24 +4410,19 @@ public class DirectedGraphTranslator extends JApplet { String op2 = String.valueOf(dataByTaskMinMax[0][2]); // first create root element - Element root = dom.createElement("Min"); + Element root = dom.createElement(minLabel); root1.appendChild(root); - // set `id` attribute to root element - // Attr attr = dom.createAttribute("id"); - // attr.setValue(String.valueOf(0)); - // root.setAttributeNode(attr); - - // now create child elements (name, email, phone) - Element operator1 = dom.createElement("op1"); + // now create child elements + Element operator1 = dom.createElement(op1); operator1.setTextContent(op1); - Element operator2 = dom.createElement("op2"); + Element operator2 = dom.createElement(op2); operator2.setTextContent(op2); - Element st = dom.createElement("starttime"); + Element st = dom.createElement(startTimeLabel); st.setTextContent(starttime); - Element et = dom.createElement("endtime"); + Element et = dom.createElement(endTimeLabel); et.setTextContent(endtime); - Element lat = dom.createElement("latency"); + Element lat = dom.createElement(latencyLabel); lat.setTextContent(latency); // add child nodes to root node @@ -4416,24 +4440,19 @@ public class DirectedGraphTranslator extends JApplet { String op2Max = String.valueOf(dataByTaskMinMax[1][2]); // first create root element - Element rootMax = dom.createElement("Max"); + Element rootMax = dom.createElement(maxLabel); root1.appendChild(rootMax); - // set `id` attribute to root element - // Attr attrMax = dom.createAttribute("id"); - // attrMax.setValue(String.valueOf(1)); - // root1.setAttributeNode(attrMax); - // now create child elements - Element operator1Max = dom.createElement("op1"); + Element operator1Max = dom.createElement(op1); operator1Max.setTextContent(op1Max); - Element operator2Max = dom.createElement("op2"); + Element operator2Max = dom.createElement(op2); operator2Max.setTextContent(op2Max); - Element stMax = dom.createElement("starttime"); + Element stMax = dom.createElement(startTimeLabel); stMax.setTextContent(starttimeMax); - Element etMax = dom.createElement("endtime"); + Element etMax = dom.createElement(endTimeLabel); etMax.setTextContent(endtimeMax); - Element latMax = dom.createElement("latency"); + Element latMax = dom.createElement(latencyLabel); latMax.setTextContent(latencyMax); // add child nodes to root node @@ -5758,26 +5777,25 @@ public class DirectedGraphTranslator extends JApplet { for (SimulationTransaction st : transFile) { Boolean onPath = false; - if (!(Integer.valueOf(st.startTime) < minTime && Integer.valueOf(st.endTime) < minTime) - && !(Integer.valueOf(st.startTime) > maxTime && Integer.valueOf(st.endTime) > maxTime)) { - - // if (Integer.valueOf(st.startTime) >= minTime && Integer.valueOf(st.startTime) - // < maxTime) { + int startTime = Integer.valueOf(st.startTime); + int endTime = Integer.valueOf(st.endTime); + int id = Integer.valueOf(st.id); + if (!(startTime < minTime && endTime < minTime) && !(startTime > maxTime && endTime > maxTime)) { - if (Integer.valueOf(st.endTime) > maxTime) { - st.endTime = Integer.valueOf(maxTime).toString(); - st.length = Integer.valueOf(Integer.valueOf(maxTime) - Integer.valueOf(st.startTime)).toString(); + if (endTime > maxTime) { + st.endTime = String.valueOf(maxTime); + st.length = String.valueOf(maxTime - startTime); } - if (Integer.valueOf(st.startTime) < minTime) { - st.startTime = Integer.valueOf(minTime).toString(); - st.length = Integer.valueOf(Integer.valueOf(st.endTime) - Integer.valueOf(minTime)).toString(); + if (startTime < minTime) { + st.startTime = String.valueOf(minTime); + st.length = String.valueOf(endTime - minTime); } - if (Integer.valueOf(st.startTime) < minTime && Integer.valueOf(st.endTime) > maxTime) { - st.startTime = Integer.valueOf(minTime).toString(); - st.endTime = Integer.valueOf(maxTime).toString(); - st.length = Integer.valueOf(Integer.valueOf(maxTime) - Integer.valueOf(minTime)).toString(); + if (startTime < minTime && endTime > maxTime) { + st.startTime = String.valueOf(minTime); + st.endTime = String.valueOf(maxTime); + st.length = String.valueOf(maxTime - minTime); } String taskname = ""; @@ -5789,7 +5807,7 @@ public class DirectedGraphTranslator extends JApplet { String taskToAddid = taskToAdd[taskToAddindex - 1]; if (isNumeric(taskToAddid)) { - if (Integer.valueOf(taskToAddid).equals(Integer.valueOf(st.id))) { + if (Integer.valueOf(taskToAddid).equals(id)) { taskname = tasknameCheck.toString(); @@ -5819,7 +5837,7 @@ public class DirectedGraphTranslator extends JApplet { ArrayList<Integer> timeValues = new ArrayList<Integer>(); timeValues.add(0, Integer.valueOf(st.runnableTime)); - timeValues.add(1, Integer.valueOf(st.startTime)); + timeValues.add(1, startTime); if (!(st.runnableTime).equals(st.startTime)) { @@ -5974,7 +5992,7 @@ public class DirectedGraphTranslator extends JApplet { } try { if (times2MinMAx.contains(match)) { - times2MinMAx.remove(Integer.valueOf(match)); + times2MinMAx.remove(match); } } catch (Exception e) { } diff --git a/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java b/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java index 805bab4bd8..ffa019edd6 100644 --- a/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java +++ b/src/main/java/ui/simulationtraceanalysis/JFrameCompareLatencyDetail.java @@ -106,6 +106,12 @@ public class JFrameCompareLatencyDetail extends JFrame implements ActionListener private LatencyAnalysisParallelAlgorithms tc; private JCheckBox taintFirstOp, considerRules; + + private static final String startTimeColName = "Start Time "; + private static final String endTimeColName = "End Time "; + private static final String latencyColName = "Latency "; + private static final String opAColName = "OPERATOR A"; + private static final String opBColName = "OPERATOR B "; // private DirectedGraphTranslator dgraph; public JFrameCompareLatencyDetail(latencyDetailedAnalysisMain latencyDetailedAnaly, MainGUI mgui, final Vector<String> checkedTransactionsFile1, @@ -334,11 +340,11 @@ public class JFrameCompareLatencyDetail extends JFrame implements ActionListener framePanel.add(graphAnalysisResult, mainConstraint); - columnNames[0] = "OPERATOR A"; - columnNames[1] = "Start Time "; - columnNames[2] = "OPERATOR B"; - columnNames[3] = "End Time "; - columnNames[4] = "Delay "; + columnNames[0] = opAColName; + columnNames[1] = startTimeColName; + columnNames[2] = opBColName; + columnNames[3] = endTimeColName; + columnNames[4] = latencyColName; // columnNames[5] = "Related Tasks Details "; // columnNames[6] = "Total time- Related Tasks "; @@ -400,11 +406,11 @@ public class JFrameCompareLatencyDetail extends JFrame implements ActionListener jp04.setLayout(gridbag01); - columnMinMaxNames[0] = "OPERATOR A"; - columnMinMaxNames[1] = "Start Time "; - columnMinMaxNames[2] = "OPERATOR B"; - columnMinMaxNames[3] = "End Time "; - columnMinMaxNames[4] = "Delay "; + columnMinMaxNames[0] = opAColName; + columnMinMaxNames[1] = startTimeColName; + columnMinMaxNames[2] = opBColName; + columnMinMaxNames[3] = endTimeColName; + columnMinMaxNames[4] = latencyColName; dataDetailedMinMax = new Object[0][0]; diff --git a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyComparedDetailedPopup.java b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyComparedDetailedPopup.java index e03b936b4b..ea1cd82bf1 100644 --- a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyComparedDetailedPopup.java +++ b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyComparedDetailedPopup.java @@ -85,6 +85,12 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM private Object[][] dataHWDelayByTask, dataHWDelayByTask2; + private static final String transactionList = "Transaction List "; + private static final String transactionDiagramName = "Transaction Diagram Name "; + private static final String hardware = "Hardware "; + private static final String startTime = "Start Time "; + private static final String endTime = "End Time "; + public JFrameLatencyComparedDetailedPopup(DirectedGraphTranslator dgraph1, DirectedGraphTranslator dgraph2, int row, int row2, boolean firstTable, LatencyAnalysisParallelAlgorithms tc2) throws InterruptedException { @@ -108,11 +114,11 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM // framePanel.setBackground(Color.red); framePanel.add(jp02, mainConstraint); - columnByTaskNames[0] = "Transaction List"; - columnByTaskNames[1] = "Transaction Diagram Name "; - columnByTaskNames[2] = "Hardware "; - columnByTaskNames[3] = "Start Time"; - columnByTaskNames[4] = "End Time "; + columnByTaskNames[0] = transactionList; + columnByTaskNames[1] = transactionDiagramName; + columnByTaskNames[2] = hardware; + columnByTaskNames[3] = startTime; + columnByTaskNames[4] = endTime; JPanel jp04 = new JPanel(new BorderLayout()); @@ -158,7 +164,7 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM return Integer.class; } } - + @Override public boolean isCellEditable(int row, int column) { return false; @@ -186,11 +192,12 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM framePanel.add(scrollPane11, c02); DefaultTableModel model12 = new DefaultTableModel(dataDetailedByTask2, columnByTaskNames) { - + @Override public boolean isCellEditable(int row, int column) { return false; } + @Override public Class getColumnClass(int column) { switch (column) { @@ -227,10 +234,10 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM framePanel.add(scrollPane12, c02); columnByHWNames[0] = "Task on Same device"; - columnByHWNames[1] = "Transaction Diagram Name "; - columnByHWNames[2] = "Hardware "; - columnByHWNames[3] = "Start Time"; - columnByHWNames[4] = "End Time "; + columnByHWNames[1] = transactionDiagramName; + columnByHWNames[2] = hardware; + columnByHWNames[3] = startTime; + columnByHWNames[4] = endTime; if (firstTable) { @@ -252,12 +259,12 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM } DefaultTableModel model2 = new DefaultTableModel(dataHWDelayByTask, columnByHWNames) { - + @Override public boolean isCellEditable(int row, int column) { return false; } - + @Override public Class getColumnClass(int column) { switch (column) { @@ -295,12 +302,12 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM framePanel.add(scrollPane13, c02); DefaultTableModel model3 = new DefaultTableModel(dataHWDelayByTask2, columnByHWNames) { - + @Override public boolean isCellEditable(int row, int column) { return false; } - + @Override public Class getColumnClass(int column) { switch (column) { @@ -658,8 +665,6 @@ public class JFrameLatencyComparedDetailedPopup extends JFrame implements TableM } }; - - JTable table = new JTable(tableModel); table.setFillsViewportHeight(true); diff --git a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java index 758a1458ca..46c594a5b8 100644 --- a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java +++ b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedAnalysis.java @@ -187,7 +187,13 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe private Boolean allop = false; private TMLMapping<TGComponent> tmap1; - public static final String[] helpStrings = { "considerrule.html", "taint.html", "addRule.html" }; + public static final String[] helpStrings = { "considerRule.html", "taint.html", "addRule.html" }; + private static final String startTimeColName = "Start Time "; + private static final String endTimeColName = "End Time "; + private static final String latencyColName = "Latency "; + private static final String opAColName = "OPERATOR A"; + private static final String opBColName = "OPERATOR B "; + private static final String progressBar = "Progress of Graph Generation"; // @SuppressWarnings("deprecation") @@ -258,7 +264,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe c01.gridy = 0; // c01.fill = GridBagConstraints.BOTH; - JLabel pBarLabel = new JLabel("Progress of Graph Generation", JLabel.LEFT); + JLabel pBarLabel = new JLabel(progressBar, JLabel.LEFT); progressBarpanel.add(pBarLabel, c01); c01.gridheight = 1; @@ -651,11 +657,11 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe commands.add(commandTab, BorderLayout.NORTH); - columnNames[0] = "OPERATOR A"; - columnNames[1] = "Start Time "; - columnNames[2] = "OPERATOR B"; - columnNames[3] = "End Time "; - columnNames[4] = "Latency "; + columnNames[0] = opAColName; + columnNames[1] = startTimeColName; + columnNames[2] = opBColName; + columnNames[3] = endTimeColName; + columnNames[4] = latencyColName; // columnNames[5] = "Related Tasks Details "; // columnNames[6] = "Total time- Related Tasks "; @@ -677,11 +683,11 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe scrollPane11.setVisible(true); jp03.add(scrollPane11, BorderLayout.CENTER); - columnMinMaxNames[0] = "OPERATOR A"; - columnMinMaxNames[1] = "Start Time "; - columnMinMaxNames[2] = "OPERATOR B"; - columnMinMaxNames[3] = "End Time "; - columnMinMaxNames[4] = "Latency "; + columnMinMaxNames[0] = opAColName; + columnMinMaxNames[1] = startTimeColName; + columnMinMaxNames[2] = opBColName; + columnMinMaxNames[3] = endTimeColName; + columnMinMaxNames[4] = latencyColName; dataDetailedMinMax = new Object[0][0]; @@ -880,7 +886,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe dispose(); setVisible(false); } else if (command.equals(actions[LatencyDetailedAnalysisActions.ACT_LATENCY].getActionCommand())) { - jta.append("the Latency Between: \n " + tasksDropDownCombo1.getSelectedItem() + " and \n" + tasksDropDownCombo2.getSelectedItem() + jta.append("The Latency Between: \n " + tasksDropDownCombo1.getSelectedItem() + " and \n" + tasksDropDownCombo2.getSelectedItem() + " is studied \n"); latencybutton.setEnabled(false); @@ -889,7 +895,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe this.repaint(); if (taintFirstOp.isSelected()) { - jta.append("operator 1 is tainted \n "); + jta.append("Operator 1 is tainted \n "); } if (considerRules.isSelected()) { @@ -1043,7 +1049,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe allop = true; showAllOp.setLabel("Show checkpoints operators"); - jta.append("show latency checkpoints operators" + " \n"); + jta.append("Show latency checkpoints operators" + " \n"); task2.setVisible(true); taskL.setVisible(true); @@ -1074,7 +1080,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe allop = false; showAllOp.setLabel("Show all operators"); - jta.append("show latency all operators" + " \n"); + jta.append("Show latency all operators" + " \n"); } @@ -1106,13 +1112,12 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe activity = tmltask.getActivityDiagram(); TMLActivityDiagramPanel tadp = (TMLActivityDiagramPanel) (activity.getReferenceObject()); List<TGComponent> list = tadp.getComponentList(); - Iterator<TGComponent> iterator = list.listIterator(); - TGComponent tgc; + // Iterator<TGComponent> iterator = list.listIterator(); + // TGComponent tgc; opCount = 0; - iterator = list.listIterator(); - while (iterator.hasNext()) { - tgc = iterator.next(); + for (TGComponent tgc : list) { + String compName = ""; if (tgc.isEnabled()) { if (tgc instanceof CheckableLatency) { @@ -1188,7 +1193,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe if (row >= 0) { try { - new JFrameLatencyDetailedPopup(dgraph, row, true, taint, tc,true); + new JFrameLatencyDetailedPopup(dgraph, row, true, taint, tc, true); } catch (Exception e) { jta.append("An error has occurred \n"); jta.append(e.getMessage() + "\n"); @@ -1201,7 +1206,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe row = table12.getSelectedRow(); if (row >= 0) { try { - new JFrameLatencyDetailedPopup(dgraph, row, false, taint, tc,true); + new JFrameLatencyDetailedPopup(dgraph, row, false, taint, tc, true); } catch (Exception e) { jta.append("An error has occurred \n"); jta.append(e.getMessage() + "\n"); @@ -1350,7 +1355,7 @@ public class JFrameLatencyDetailedAnalysis extends JFrame implements ActionListe } public void error(String error) { - jta.append("error: " + error + "\n"); + jta.append("Error: " + error + "\n"); } protected void showgraphFrame() { diff --git a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedPopup.java b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedPopup.java index 5413597b7b..69bbee14c5 100644 --- a/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedPopup.java +++ b/src/main/java/ui/simulationtraceanalysis/JFrameLatencyDetailedPopup.java @@ -88,6 +88,16 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList private Object[][] dataHWDelayByTask; + private static final String transactionList = "Transaction List "; + private static final String transactionDiagramName = "Transaction Diagram Name "; + private static final String hardware = "Hardware "; + private static final String startTime = "Start Time "; + private static final String endTime = "End Time "; + private static final String mandatoryTransactions = "Mandatory Transactions "; + private static final String tasksonSameDevice = "Tasks on the Same Device "; + private static final String nonMandatoryTransactions = "Non-Mandatory Transactions"; + private static final String nonMandNoContTran = "Non-Mandatory Transactions No-Contention"; + public JFrameLatencyDetailedPopup(DirectedGraphTranslator dgraph, int row, boolean firstTable, Boolean taint, LatencyAnalysisParallelAlgorithms th, boolean visible) throws InterruptedException { @@ -97,15 +107,15 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList this.setLayout(myLayout); - columnByTaskNames[0] = "Transaction List"; - columnByTaskNames[1] = "Transaction Diagram Name "; - columnByTaskNames[2] = "Hardware "; - columnByTaskNames[3] = "Start Time"; - columnByTaskNames[4] = "End Time "; + columnByTaskNames[0] = transactionList; + columnByTaskNames[1] = transactionDiagramName; + columnByTaskNames[2] = hardware; + columnByTaskNames[3] = startTime; + columnByTaskNames[4] = endTime; JPanel jp04 = new JPanel(new BorderLayout()); - jp04.setBorder(new javax.swing.border.TitledBorder("Mandatory Transactions")); + jp04.setBorder(new javax.swing.border.TitledBorder(mandatoryTransactions)); if (firstTable) { @@ -178,11 +188,11 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList this.add(jp04); - columnByHWNames[0] = "Task on Same device"; - columnByHWNames[1] = "Transaction Diagram Name "; - columnByHWNames[2] = "Hardware "; - columnByHWNames[3] = "Start Time"; - columnByHWNames[4] = "End Time "; + columnByHWNames[0] = tasksonSameDevice; + columnByHWNames[1] = transactionDiagramName; + columnByHWNames[2] = hardware; + columnByHWNames[3] = startTime; + columnByHWNames[4] = endTime; if (firstTable) { @@ -247,7 +257,7 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList }; JPanel jp05 = new JPanel(new BorderLayout()); - jp05.setBorder(new javax.swing.border.TitledBorder("Non-Mandatory Transactions")); + jp05.setBorder(new javax.swing.border.TitledBorder(nonMandatoryTransactions)); JTable hardwareNames = new JTable(model2); hardwareNames.setAutoCreateRowSorter(true); @@ -371,6 +381,8 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList for (SimulationTransaction st : dgraph.getRowDetailsByHW(row)) { + int startTime = Integer.valueOf(st.startTime); + if (st.coreNumber == null) { st.coreNumber = "0"; @@ -400,8 +412,7 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList for (int j = 0; j < timeList.size(); j++) { - if (Integer.valueOf(st.startTime) >= timeList.get(j).get(0) - && Integer.valueOf(st.startTime) <= timeList.get(j).get(1)) { + if (startTime >= timeList.get(j).get(0) && startTime <= timeList.get(j).get(1)) { causeDelay = true; @@ -612,6 +623,8 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList for (SimulationTransaction st : minMaxHWByRowDetails) { + int startTime = Integer.valueOf(st.startTime); + if (st.coreNumber == null) { st.coreNumber = "0"; @@ -640,8 +653,7 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList for (int j = 0; j < timeList.size(); j++) { - if (Integer.valueOf(st.startTime) >= timeList.get(j).get(0) - && Integer.valueOf(st.startTime) <= timeList.get(j).get(1)) { + if (startTime >= timeList.get(j).get(0) && startTime <= timeList.get(j).get(1)) { causeDelay = true; @@ -811,7 +823,7 @@ public class JFrameLatencyDetailedPopup extends JFrame implements TableModelList c01.gridx = 6; c01.gridy = 0; - JLabel pBarLabel5 = new JLabel("Non-Mandatory Transactions No-Contention", JLabel.RIGHT); + JLabel pBarLabel5 = new JLabel(nonMandNoContTran, JLabel.RIGHT); lengedpanel.add(pBarLabel5, c01); diff --git a/src/main/resources/help/considerrule.html b/src/main/resources/help/considerRule.html similarity index 100% rename from src/main/resources/help/considerrule.html rename to src/main/resources/help/considerRule.html diff --git a/src/main/resources/help/considerrule.md b/src/main/resources/help/considerRule.md similarity index 100% rename from src/main/resources/help/considerrule.md rename to src/main/resources/help/considerRule.md diff --git a/src/main/resources/help/helpTable.txt b/src/main/resources/help/helpTable.txt index d89351ad0a..f5e6867d53 100644 --- a/src/main/resources/help/helpTable.txt +++ b/src/main/resources/help/helpTable.txt @@ -41,4 +41,4 @@ - addRule add-rule rule - taint taint Taint -- considerrule consider-rule consider rules \ No newline at end of file +- considerRule consider-rule consider rules \ No newline at end of file -- GitLab