diff --git a/src/main/java/avatartranslator/AvatarPragmaLatency.java b/src/main/java/avatartranslator/AvatarPragmaLatency.java
index 78c579b6b39cca61c0f24af17c4d271612394849..79613f55c68b1706a1e382435e784387a2b7ddc9 100644
--- a/src/main/java/avatartranslator/AvatarPragmaLatency.java
+++ b/src/main/java/avatartranslator/AvatarPragmaLatency.java
@@ -47,6 +47,8 @@ package avatartranslator;
  * @version 1.0 22/09/2017
  * @author Letitia LI
  */
+import java.util.List;
+
 public class AvatarPragmaLatency extends AvatarPragma {
     private AvatarActionOnSignal state1;
     private AvatarBlock block1;
@@ -56,8 +58,11 @@ public class AvatarPragmaLatency extends AvatarPragma {
 	public static final int lessThan =1;
 	public static final int greaterThan=2;
 	private int time;
+	private List<String> id1;
+	private List<String> id2;
+	
 
-    public AvatarPragmaLatency(String _name, Object _referenceObject, AvatarBlock block1, AvatarActionOnSignal state1, AvatarBlock block2, AvatarActionOnSignal state2,  int symbolType, int time)
+    public AvatarPragmaLatency(String _name, Object _referenceObject, AvatarBlock block1, AvatarActionOnSignal state1, AvatarBlock block2, AvatarActionOnSignal state2,  int symbolType, int time, List<String> id1, List<String> id2)
     {
         super(_name, _referenceObject);
         this.block1 = block1;
@@ -66,6 +71,8 @@ public class AvatarPragmaLatency extends AvatarPragma {
         this.state2 = state2;
 		this.symbolType = symbolType;
 		this.time = time;
+		this.id1=id1;
+		this.id2=id2;
     }
 
     public AvatarActionOnSignal getState1()
@@ -88,6 +95,14 @@ public class AvatarPragmaLatency extends AvatarPragma {
         return this.block2;
     }
 
+	public List<String> getId1(){
+		return this.id1;
+	}
+
+	public List<String> getId2(){
+		return this.id2;
+	}
+
 	public int getSymbolType(){
 		return this.symbolType;
 	}
diff --git a/src/main/java/avatartranslator/AvatarSpecification.java b/src/main/java/avatartranslator/AvatarSpecification.java
index 3176973716137d6192901033c6130d564e6bf82d..0c792f13fe732be166909be5c7d5fe652c982b05 100644
--- a/src/main/java/avatartranslator/AvatarSpecification.java
+++ b/src/main/java/avatartranslator/AvatarSpecification.java
@@ -74,7 +74,7 @@ public class AvatarSpecification extends AvatarElement {
 
     private LinkedList<AvatarPragma> pragmas;
     private LinkedList<String> safety_pragmas;
-	private LinkedList<AvatarPragma> latency_pragmas;
+	private LinkedList<AvatarPragmaLatency> latency_pragmas;
     private LinkedList<AvatarConstant> constants;
 	public List<String> checkedIDs;
     private boolean robustnessMade = false;
@@ -90,7 +90,7 @@ public class AvatarSpecification extends AvatarElement {
         pragmas = new LinkedList<AvatarPragma>();
 	constants = new LinkedList<AvatarConstant>();
 	safety_pragmas = new LinkedList<String>();
-		latency_pragmas = new LinkedList<AvatarPragma>();
+		latency_pragmas = new LinkedList<AvatarPragmaLatency>();
         this.constants.add (AvatarConstant.FALSE);
         this.constants.add (AvatarConstant.TRUE);
 		checkedIDs= new ArrayList<String>();
@@ -156,7 +156,7 @@ public class AvatarSpecification extends AvatarElement {
         return safety_pragmas;
     }
 
-    public List<AvatarPragma> getLatencyPragmas() {
+    public List<AvatarPragmaLatency> getLatencyPragmas() {
         return latency_pragmas;
     }
 
@@ -221,7 +221,7 @@ public class AvatarSpecification extends AvatarElement {
         safety_pragmas.add(_pragma);
     }
 
-    public void addLatencyPragma(AvatarPragma _pragma) {
+    public void addLatencyPragma(AvatarPragmaLatency _pragma) {
 		System.out.println(_pragma);
         latency_pragmas.add(_pragma);
     }
@@ -651,7 +651,7 @@ public class AvatarSpecification extends AvatarElement {
 		    spec.addSafetyPragma(safetyPragma);
 		}
 
-		for(AvatarPragma latencyPragma: latency_pragmas) {
+		for(AvatarPragmaLatency latencyPragma: latency_pragmas) {
 		    spec.addLatencyPragma(latencyPragma);
 		}
 	
diff --git a/src/main/java/ui/AvatarDesignPanelTranslator.java b/src/main/java/ui/AvatarDesignPanelTranslator.java
index 40c75847f5a49a95cafa8c6b23c0e41443469c2a..206740536a97222e99105a06bc7cb46071006d25 100644
--- a/src/main/java/ui/AvatarDesignPanelTranslator.java
+++ b/src/main/java/ui/AvatarDesignPanelTranslator.java
@@ -211,7 +211,7 @@ public class AvatarDesignPanelTranslator {
                 values = tgsp.getValues();
                 for (String s: values){
 					if (s.startsWith("Latency")){
-						AvatarPragma pragma = checkLatencyPragma(s, _blocks, _as, tgc);
+						AvatarPragmaLatency pragma = checkLatencyPragma(s, _blocks, _as, tgc);
 						if (pragma!=null){
 	                        _as.addLatencyPragma(pragma);
 	                    }
@@ -226,7 +226,7 @@ public class AvatarDesignPanelTranslator {
         }
     }
 	
-	public AvatarPragma checkLatencyPragma(String _pragma, List<AvatarBDBlock> _blocks, AvatarSpecification as, TGComponent tgc){	
+	public AvatarPragmaLatency checkLatencyPragma(String _pragma, List<AvatarBDBlock> _blocks, AvatarSpecification as, TGComponent tgc){	
 		if (_pragma.contains("=") || (!_pragma.contains(">") && !_pragma.contains("<"))){
 			TraceManager.addDev("No latency expression found");
 			return null;
@@ -240,7 +240,7 @@ public class AvatarDesignPanelTranslator {
 		String state1 = p1.split("\\.")[1];
 		AvatarBlock bl1;
 		AvatarActionOnSignal st1;
-
+		List<String> id1= new ArrayList<String>();
 		bl1 = as.getBlockWithName(block1);
 		AvatarStateMachine asm = bl1.getStateMachine();
 		st1 = asm.getAOSWithName(state1);
@@ -252,6 +252,8 @@ public class AvatarDesignPanelTranslator {
 			TraceManager.addDev("State " + block1+ "." + state1 + " is not checkable");
 			return null;
 		}
+		id1.add((st1.getSignal().isIn() ? "Receive signal" : "Send signal") +"-"+ st1.getSignal().getName()+":"+st1.getID());
+		
 
 		
 		//Find second block.state
@@ -265,6 +267,7 @@ public class AvatarDesignPanelTranslator {
 		bl2 = as.getBlockWithName(block2);
 		asm = bl2.getStateMachine();
 		st2 = asm.getAOSWithName(state2);
+		List<String> id2= new ArrayList<String>();
 		if (bl2 ==null || st2 ==null){
 			TraceManager.addDev("State " + block2+ "." + state2 + " in pragma does not exist");
 			return null;
@@ -274,6 +277,9 @@ public class AvatarDesignPanelTranslator {
 			return null;
 		}
 
+		id2.add((st2.getSignal().isIn() ? "Receive signal" : "Send signal")+"-"+ st2.getSignal().getName()+":"+st2.getID());
+		
+
 		String equation = _pragma.split("\\)")[1];
 		equation = equation.replaceAll(" ","");
 		int symbolType=0;
@@ -290,7 +296,7 @@ public class AvatarDesignPanelTranslator {
 			TraceManager.addDev("No latency expression found");
 			return null;
 		}
-		return new AvatarPragmaLatency(_pragma, tgc, bl1, st1, bl2, st2, symbolType, time);
+		return new AvatarPragmaLatency(_pragma, tgc, bl1, st1, bl2, st2, symbolType, time, id1, id2);
 
 
 	}
diff --git a/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java b/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java
index 787909a88ab39bce244c2b1e674f5d9416c40493..d69b4437a7e4c617bf1419238dd535e8a76320b6 100755
--- a/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java
+++ b/src/main/java/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java
@@ -265,6 +265,10 @@ public  class JFrameAvatarInteractiveSimulation extends JFrame implements Avatar
             checkedTransactions.add(id);
             transTimes.put(id, new ArrayList<String>());
         }
+		for (AvatarPragmaLatency latencyPragma: _avspec.getLatencyPragmas()){
+			toCheck.add(latencyPragma.getId1().get(0) + "--"+latencyPragma.getId2().get(0));
+			updateTransactionsTable();
+		}
         makeComponents();
         setComponents();
     }