From 0ff616cdb1af3cb10ff0cf88b9100e025f5de4ed Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Thu, 21 Jul 2011 08:51:57 +0000
Subject: [PATCH] DIPLO: Updat on losy channels

---
 src/tmltranslator/touppaal/TML2UPPAAL.java       | 1 +
 src/uppaaldesc/UPPAALFiniteFIFOTemplateLoss.java | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/tmltranslator/touppaal/TML2UPPAAL.java b/src/tmltranslator/touppaal/TML2UPPAAL.java
index 9cabe9b50c..bf6289ea8d 100755
--- a/src/tmltranslator/touppaal/TML2UPPAAL.java
+++ b/src/tmltranslator/touppaal/TML2UPPAAL.java
@@ -169,6 +169,7 @@ public class TML2UPPAAL {
         spec.addTemplate(new UPPAALFiniteFIFOTemplateLoss("channel__" + ch.getName(), ch.getName(), ch.getMax(), ch.getMaxNbOfLoss()));
 		 } else {
 			  spec.addTemplate(new UPPAALFiniteFIFOTemplate("channel__" + ch.getName(), ch.getName(), ch.getMax()));
+			   makeLoss("ch__" + ch.getName());
 		 }
       } else if (ch.getType() == TMLChannel.BRNBW) {
         spec.addGlobalDeclaration("urgent chan rd__" + ch.getName() + ", wr__" + ch.getName() + ";\n");
diff --git a/src/uppaaldesc/UPPAALFiniteFIFOTemplateLoss.java b/src/uppaaldesc/UPPAALFiniteFIFOTemplateLoss.java
index 054087d791..876c5c3702 100755
--- a/src/uppaaldesc/UPPAALFiniteFIFOTemplateLoss.java
+++ b/src/uppaaldesc/UPPAALFiniteFIFOTemplateLoss.java
@@ -117,10 +117,11 @@ public class UPPAALFiniteFIFOTemplateLoss extends  UPPAALTemplate {
 			tr = new UPPAALTransition();
 			tr.sourceLoc = lossLocation;
 			tr.destinationLoc = lossOccuredLocation;
-			//tr.synchronization = "evt__" + event.getName() + "__loss!";
+			tr.synchronization = "ch__" + chname + "__loss!";
 			if (maxNbOfLoss > -1) {
 				tr.guard = " nbOfLoss__ < " + maxNbOfLoss;
 			}
+			
 			tr.assignment = "nbOfLoss__ = nbOfLoss__ + 1";
 			tr.points.add(new Point(-56, -176));
 			transitions.add(tr);
@@ -136,6 +137,7 @@ public class UPPAALFiniteFIFOTemplateLoss extends  UPPAALTemplate {
 			tr.sourceLoc = lossLocation;
 			tr.destinationLoc = initLocation;
 			tr.assignment = "buffer = buffer + 1";
+			tr.synchronization = "ch__" + chname + "__noloss!";
 			tr.assignmentPoint = new Point(-304, -64);
 			tr.points.add(new Point(-16, -200));
 			transitions.add(tr);
-- 
GitLab