From b22230d3df740a4f3ff6b3f7745fecbacb279158 Mon Sep 17 00:00:00 2001
From: Daniela Genius <Daniela.Genius@lip6.fr>
Date: Fri, 29 Apr 2016 11:49:14 +0000
Subject: [PATCH] channel names

---
 MPSoC/Makefile.soclib                         |   2 +-
 MPSoC/Makefile.src                            |   2 +-
 MPSoC/generated_src/main.c                    | 170 ++++++++----------
 MPSoC/generated_topcell/config                |   2 +-
 MPSoC/generated_topcell/deployinfo.h          |   3 +
 MPSoC/generated_topcell/nbproc                |   2 +-
 MPSoC/generated_topcell/procinfo.mk           |   2 +-
 bin/config.xml                                |   4 +-
 modeling/DASIP2016/DASIP2016_2RAM.xml         |  82 ++++-----
 .../toSoclib/TasksAndMainGenerator.java       |  70 +++-----
 .../toTopCell/Declaration.java                |  79 ++++++--
 src/ui/avatardd/ADDChannelArtifact.java       |   9 +-
 12 files changed, 219 insertions(+), 208 deletions(-)

diff --git a/MPSoC/Makefile.soclib b/MPSoC/Makefile.soclib
index 04e9347153..23e77faf34 100644
--- a/MPSoC/Makefile.soclib
+++ b/MPSoC/Makefile.soclib
@@ -1 +1 @@
-objs = main.o TestBench.o EmergencySimulator.o CarPositionSimulator.o GPSSensor.o RadarSensor.o SpeedSensor.o Communication.o CorrectnessChecking.o NeighbourhoodTableManagement.o DSRSC_Management.o PTC.o DrivingPowerReductionStrategy.o BCU.o BrakeManagement.o DangerAvoidanceStrategy.o CSCU.o VehiculeDynamicsManagement.o PlausibilityCheck.o ObjectListManagement.o 
\ No newline at end of file
+objs = main.o TestBench.o SpeedSensor.o RadarSensor.o GPSSensor.o CarPositionSimulator.o EmergencySimulator.o Communication.o DSRSC_Management.o NeighbourhoodTableManagement.o CorrectnessChecking.o PTC.o DrivingPowerReductionStrategy.o BCU.o DangerAvoidanceStrategy.o BrakeManagement.o CSCU.o ObjectListManagement.o PlausibilityCheck.o VehiculeDynamicsManagement.o 
\ No newline at end of file
diff --git a/MPSoC/Makefile.src b/MPSoC/Makefile.src
index cdf12b5430..f005e67c8d 100755
--- a/MPSoC/Makefile.src
+++ b/MPSoC/Makefile.src
@@ -1 +1 @@
-SRCS = generated_src/main.c generated_src/TestBench.c generated_src/EmergencySimulator.c generated_src/CarPositionSimulator.c generated_src/GPSSensor.c generated_src/RadarSensor.c generated_src/SpeedSensor.c generated_src/Communication.c generated_src/CorrectnessChecking.c generated_src/NeighbourhoodTableManagement.c generated_src/DSRSC_Management.c generated_src/PTC.c generated_src/DrivingPowerReductionStrategy.c generated_src/BCU.c generated_src/BrakeManagement.c generated_src/DangerAvoidanceStrategy.c generated_src/CSCU.c generated_src/VehiculeDynamicsManagement.c generated_src/PlausibilityCheck.c generated_src/ObjectListManagement.c 
\ No newline at end of file
+SRCS = generated_src/main.c generated_src/TestBench.c generated_src/SpeedSensor.c generated_src/RadarSensor.c generated_src/GPSSensor.c generated_src/CarPositionSimulator.c generated_src/EmergencySimulator.c generated_src/Communication.c generated_src/DSRSC_Management.c generated_src/NeighbourhoodTableManagement.c generated_src/CorrectnessChecking.c generated_src/PTC.c generated_src/DrivingPowerReductionStrategy.c generated_src/BCU.c generated_src/DangerAvoidanceStrategy.c generated_src/BrakeManagement.c generated_src/CSCU.c generated_src/ObjectListManagement.c generated_src/PlausibilityCheck.c generated_src/VehiculeDynamicsManagement.c 
\ No newline at end of file
diff --git a/MPSoC/generated_src/main.c b/MPSoC/generated_src/main.c
index 6af99354af..b0ed55f9b1 100644
--- a/MPSoC/generated_src/main.c
+++ b/MPSoC/generated_src/main.c
@@ -17,7 +17,7 @@
 #include "mwmr.h" 
  
 
-#define NB_PROC 1
+#define NB_PROC 5
 #define WIDTH 4
 #define DEPTH 16
 
@@ -25,24 +25,24 @@ void __user_init() {
 }
 
 #include "TestBench.h"
-#include "EmergencySimulator.h"
-#include "CarPositionSimulator.h"
-#include "GPSSensor.h"
-#include "RadarSensor.h"
 #include "SpeedSensor.h"
+#include "RadarSensor.h"
+#include "GPSSensor.h"
+#include "CarPositionSimulator.h"
+#include "EmergencySimulator.h"
 #include "Communication.h"
-#include "CorrectnessChecking.h"
-#include "NeighbourhoodTableManagement.h"
 #include "DSRSC_Management.h"
+#include "NeighbourhoodTableManagement.h"
+#include "CorrectnessChecking.h"
 #include "PTC.h"
 #include "DrivingPowerReductionStrategy.h"
 #include "BCU.h"
-#include "BrakeManagement.h"
 #include "DangerAvoidanceStrategy.h"
+#include "BrakeManagement.h"
 #include "CSCU.h"
-#include "VehiculeDynamicsManagement.h"
-#include "PlausibilityCheck.h"
 #include "ObjectListManagement.h"
+#include "PlausibilityCheck.h"
+#include "VehiculeDynamicsManagement.h"
 
 /* Main mutex */
 pthread_barrier_t barrier ;
@@ -115,32 +115,30 @@ int main(int argc, char *argv[]) {
   
   /* Threads of tasks */
   pthread_t thread__TestBench;
-  pthread_t thread__EmergencySimulator;
-  pthread_t thread__CarPositionSimulator;
-  pthread_t thread__GPSSensor;
-  pthread_t thread__RadarSensor;
   pthread_t thread__SpeedSensor;
+  pthread_t thread__RadarSensor;
+  pthread_t thread__GPSSensor;
+  pthread_t thread__CarPositionSimulator;
+  pthread_t thread__EmergencySimulator;
   pthread_t thread__Communication;
-  pthread_t thread__CorrectnessChecking;
-  pthread_t thread__NeighbourhoodTableManagement;
   pthread_t thread__DSRSC_Management;
+  pthread_t thread__NeighbourhoodTableManagement;
+  pthread_t thread__CorrectnessChecking;
   pthread_t thread__PTC;
   pthread_t thread__DrivingPowerReductionStrategy;
   pthread_t thread__BCU;
-  pthread_t thread__BrakeManagement;
   pthread_t thread__DangerAvoidanceStrategy;
+  pthread_t thread__BrakeManagement;
   pthread_t thread__CSCU;
-  pthread_t thread__VehiculeDynamicsManagement;
-  pthread_t thread__PlausibilityCheck;
   pthread_t thread__ObjectListManagement;
+  pthread_t thread__PlausibilityCheck;
+  pthread_t thread__VehiculeDynamicsManagement;
   /* Activating tracing  */
   if (argc>1){
     activeTracingInFile(argv[1]);
   } else {
     activeTracingInConsole();
   }
-  /* Activating debug messages */
-  activeDebug();
   /* Activating randomness */
   initRandom();
   /* Initializing the main mutex */
@@ -150,156 +148,140 @@ if (pthread_mutex_init(&__mainMutex, NULL) < 0) { exit(-1);}
   __user_init();
   
   
-  debugMsg("Starting tasks");
   struct mwmr_s *channels_array_TestBench;
   ptr =malloc(sizeof(pthread_t));
   thread__TestBench= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 4;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__TestBench, NULL, mainFunc__TestBench, (void *)channels_array_TestBench);
   
-  struct mwmr_s *channels_array_EmergencySimulator;
+  struct mwmr_s *channels_array_SpeedSensor;
   ptr =malloc(sizeof(pthread_t));
-  thread__EmergencySimulator= (pthread_t)ptr;
+  thread__SpeedSensor= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 4;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__EmergencySimulator, NULL, mainFunc__EmergencySimulator, (void *)channels_array_EmergencySimulator);
+  pthread_create(&thread__SpeedSensor, NULL, mainFunc__SpeedSensor, (void *)channels_array_SpeedSensor);
   
-  struct mwmr_s *channels_array_CarPositionSimulator;
+  struct mwmr_s *channels_array_RadarSensor;
   ptr =malloc(sizeof(pthread_t));
-  thread__CarPositionSimulator= (pthread_t)ptr;
+  thread__RadarSensor= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 4;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__CarPositionSimulator, NULL, mainFunc__CarPositionSimulator, (void *)channels_array_CarPositionSimulator);
+  pthread_create(&thread__RadarSensor, NULL, mainFunc__RadarSensor, (void *)channels_array_RadarSensor);
   
   struct mwmr_s *channels_array_GPSSensor;
   ptr =malloc(sizeof(pthread_t));
   thread__GPSSensor= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 4;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__GPSSensor, NULL, mainFunc__GPSSensor, (void *)channels_array_GPSSensor);
   
-  struct mwmr_s *channels_array_RadarSensor;
+  struct mwmr_s *channels_array_CarPositionSimulator;
   ptr =malloc(sizeof(pthread_t));
-  thread__RadarSensor= (pthread_t)ptr;
+  thread__CarPositionSimulator= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 4;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__RadarSensor, NULL, mainFunc__RadarSensor, (void *)channels_array_RadarSensor);
+  pthread_create(&thread__CarPositionSimulator, NULL, mainFunc__CarPositionSimulator, (void *)channels_array_CarPositionSimulator);
   
-  struct mwmr_s *channels_array_SpeedSensor;
+  struct mwmr_s *channels_array_EmergencySimulator;
   ptr =malloc(sizeof(pthread_t));
-  thread__SpeedSensor= (pthread_t)ptr;
+  thread__EmergencySimulator= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 4;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__SpeedSensor, NULL, mainFunc__SpeedSensor, (void *)channels_array_SpeedSensor);
+  pthread_create(&thread__EmergencySimulator, NULL, mainFunc__EmergencySimulator, (void *)channels_array_EmergencySimulator);
   
   struct mwmr_s *channels_array_Communication;
   ptr =malloc(sizeof(pthread_t));
   thread__Communication= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 1;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__Communication, NULL, mainFunc__Communication, (void *)channels_array_Communication);
   
-  struct mwmr_s *channels_array_CorrectnessChecking;
+  struct mwmr_s *channels_array_DSRSC_Management;
   ptr =malloc(sizeof(pthread_t));
-  thread__CorrectnessChecking= (pthread_t)ptr;
+  thread__DSRSC_Management= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 1;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__CorrectnessChecking, NULL, mainFunc__CorrectnessChecking, (void *)channels_array_CorrectnessChecking);
+  pthread_create(&thread__DSRSC_Management, NULL, mainFunc__DSRSC_Management, (void *)channels_array_DSRSC_Management);
   
   struct mwmr_s *channels_array_NeighbourhoodTableManagement;
   ptr =malloc(sizeof(pthread_t));
   thread__NeighbourhoodTableManagement= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 1;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__NeighbourhoodTableManagement, NULL, mainFunc__NeighbourhoodTableManagement, (void *)channels_array_NeighbourhoodTableManagement);
   
-  struct mwmr_s *channels_array_DSRSC_Management;
+  struct mwmr_s *channels_array_CorrectnessChecking;
   ptr =malloc(sizeof(pthread_t));
-  thread__DSRSC_Management= (pthread_t)ptr;
+  thread__CorrectnessChecking= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 1;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__DSRSC_Management, NULL, mainFunc__DSRSC_Management, (void *)channels_array_DSRSC_Management);
+  pthread_create(&thread__CorrectnessChecking, NULL, mainFunc__CorrectnessChecking, (void *)channels_array_CorrectnessChecking);
   
   struct mwmr_s *channels_array_PTC;
   ptr =malloc(sizeof(pthread_t));
   thread__PTC= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 2;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__PTC, NULL, mainFunc__PTC, (void *)channels_array_PTC);
   
   struct mwmr_s *channels_array_DrivingPowerReductionStrategy;
   ptr =malloc(sizeof(pthread_t));
   thread__DrivingPowerReductionStrategy= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 2;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__DrivingPowerReductionStrategy, NULL, mainFunc__DrivingPowerReductionStrategy, (void *)channels_array_DrivingPowerReductionStrategy);
   
   struct mwmr_s *channels_array_BCU;
   ptr =malloc(sizeof(pthread_t));
   thread__BCU= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 3;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__BCU, NULL, mainFunc__BCU, (void *)channels_array_BCU);
   
-  struct mwmr_s *channels_array_BrakeManagement;
+  struct mwmr_s *channels_array_DangerAvoidanceStrategy;
   ptr =malloc(sizeof(pthread_t));
-  thread__BrakeManagement= (pthread_t)ptr;
+  thread__DangerAvoidanceStrategy= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 3;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__BrakeManagement, NULL, mainFunc__BrakeManagement, (void *)channels_array_BrakeManagement);
+  pthread_create(&thread__DangerAvoidanceStrategy, NULL, mainFunc__DangerAvoidanceStrategy, (void *)channels_array_DangerAvoidanceStrategy);
   
-  struct mwmr_s *channels_array_DangerAvoidanceStrategy;
+  struct mwmr_s *channels_array_BrakeManagement;
   ptr =malloc(sizeof(pthread_t));
-  thread__DangerAvoidanceStrategy= (pthread_t)ptr;
+  thread__BrakeManagement= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
-  attr_t->cpucount = 0;  
+  attr_t->cpucount = 3;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__DangerAvoidanceStrategy, NULL, mainFunc__DangerAvoidanceStrategy, (void *)channels_array_DangerAvoidanceStrategy);
+  pthread_create(&thread__BrakeManagement, NULL, mainFunc__BrakeManagement, (void *)channels_array_BrakeManagement);
   
   struct mwmr_s *channels_array_CSCU;
   ptr =malloc(sizeof(pthread_t));
@@ -308,18 +290,16 @@ if (pthread_mutex_init(&__mainMutex, NULL) < 0) { exit(-1);}
   attr_t->cpucount = 0;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__CSCU, NULL, mainFunc__CSCU, (void *)channels_array_CSCU);
   
-  struct mwmr_s *channels_array_VehiculeDynamicsManagement;
+  struct mwmr_s *channels_array_ObjectListManagement;
   ptr =malloc(sizeof(pthread_t));
-  thread__VehiculeDynamicsManagement= (pthread_t)ptr;
+  thread__ObjectListManagement= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
   attr_t->cpucount = 0;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__VehiculeDynamicsManagement, NULL, mainFunc__VehiculeDynamicsManagement, (void *)channels_array_VehiculeDynamicsManagement);
+  pthread_create(&thread__ObjectListManagement, NULL, mainFunc__ObjectListManagement, (void *)channels_array_ObjectListManagement);
   
   struct mwmr_s *channels_array_PlausibilityCheck;
   ptr =malloc(sizeof(pthread_t));
@@ -328,44 +308,40 @@ if (pthread_mutex_init(&__mainMutex, NULL) < 0) { exit(-1);}
   attr_t->cpucount = 0;  
   
   
-  debugMsg("Starting tasks");
   pthread_create(&thread__PlausibilityCheck, NULL, mainFunc__PlausibilityCheck, (void *)channels_array_PlausibilityCheck);
   
-  struct mwmr_s *channels_array_ObjectListManagement;
+  struct mwmr_s *channels_array_VehiculeDynamicsManagement;
   ptr =malloc(sizeof(pthread_t));
-  thread__ObjectListManagement= (pthread_t)ptr;
+  thread__VehiculeDynamicsManagement= (pthread_t)ptr;
   attr_t = malloc(sizeof(pthread_attr_t));
   attr_t->cpucount = 0;  
   
   
-  debugMsg("Starting tasks");
-  pthread_create(&thread__ObjectListManagement, NULL, mainFunc__ObjectListManagement, (void *)channels_array_ObjectListManagement);
+  pthread_create(&thread__VehiculeDynamicsManagement, NULL, mainFunc__VehiculeDynamicsManagement, (void *)channels_array_VehiculeDynamicsManagement);
   
   
   
-  debugMsg("Joining tasks");
   pthread_join(thread__TestBench, NULL);
-  pthread_join(thread__EmergencySimulator, NULL);
-  pthread_join(thread__CarPositionSimulator, NULL);
-  pthread_join(thread__GPSSensor, NULL);
-  pthread_join(thread__RadarSensor, NULL);
   pthread_join(thread__SpeedSensor, NULL);
+  pthread_join(thread__RadarSensor, NULL);
+  pthread_join(thread__GPSSensor, NULL);
+  pthread_join(thread__CarPositionSimulator, NULL);
+  pthread_join(thread__EmergencySimulator, NULL);
   pthread_join(thread__Communication, NULL);
-  pthread_join(thread__CorrectnessChecking, NULL);
-  pthread_join(thread__NeighbourhoodTableManagement, NULL);
   pthread_join(thread__DSRSC_Management, NULL);
+  pthread_join(thread__NeighbourhoodTableManagement, NULL);
+  pthread_join(thread__CorrectnessChecking, NULL);
   pthread_join(thread__PTC, NULL);
   pthread_join(thread__DrivingPowerReductionStrategy, NULL);
   pthread_join(thread__BCU, NULL);
-  pthread_join(thread__BrakeManagement, NULL);
   pthread_join(thread__DangerAvoidanceStrategy, NULL);
+  pthread_join(thread__BrakeManagement, NULL);
   pthread_join(thread__CSCU, NULL);
-  pthread_join(thread__VehiculeDynamicsManagement, NULL);
-  pthread_join(thread__PlausibilityCheck, NULL);
   pthread_join(thread__ObjectListManagement, NULL);
+  pthread_join(thread__PlausibilityCheck, NULL);
+  pthread_join(thread__VehiculeDynamicsManagement, NULL);
   
   
-  debugMsg("Application terminated");
   return 0;
   
 }
diff --git a/MPSoC/generated_topcell/config b/MPSoC/generated_topcell/config
index 1c8dac5e8c..6b47d51f38 100644
--- a/MPSoC/generated_topcell/config
+++ b/MPSoC/generated_topcell/config
@@ -41,4 +41,4 @@
 #  CONFIG_ARCH_SMP undefined
 # number of processors derived from SysML design
 # CONFIG_CPU_MAXCOUNT 5
-CONFIG_CPU_MAXCOUNT 1
+CONFIG_CPU_MAXCOUNT 5
diff --git a/MPSoC/generated_topcell/deployinfo.h b/MPSoC/generated_topcell/deployinfo.h
index 8b13789179..b39d8afe18 100644
--- a/MPSoC/generated_topcell/deployinfo.h
+++ b/MPSoC/generated_topcell/deployinfo.h
@@ -1 +1,4 @@
 
+#define DEPLOY_RAM0_NAME channel_ram1
+#define DEPLOY_RAM0_ADDR 0x7f000000
+#define DEPLOY_RAM0_SIZE 0x2000000
diff --git a/MPSoC/generated_topcell/nbproc b/MPSoC/generated_topcell/nbproc
index 2f294ec3bc..62cef37efa 100644
--- a/MPSoC/generated_topcell/nbproc
+++ b/MPSoC/generated_topcell/nbproc
@@ -1 +1 @@
-CONFIG_CPU_MAXCOUNT 1
+CONFIG_CPU_MAXCOUNT 5
diff --git a/MPSoC/generated_topcell/procinfo.mk b/MPSoC/generated_topcell/procinfo.mk
index 65645e84ef..2b524e64c6 100644
--- a/MPSoC/generated_topcell/procinfo.mk
+++ b/MPSoC/generated_topcell/procinfo.mk
@@ -1 +1 @@
-SOCLIB_CPU_COUNT = 1
+SOCLIB_CPU_COUNT = 5
diff --git a/bin/config.xml b/bin/config.xml
index a17106a84b..d7b2e9f332 100755
--- a/bin/config.xml
+++ b/bin/config.xml
@@ -62,11 +62,11 @@
 <ExternalCommand2Host data="localhost"/>
 <ExternalCommand2 data="/packages/uppaal(4.0.11/uppaal /users/enseig/genius/TURTLE/uppaal/spec.xml"/>
 
-<LastOpenFile data="/users/enseig/genius/TURTLE/modeling/DASIP2016/DASIP2016_1proc.xml"/>
+<LastOpenFile data="/users/enseig/genius/TURTLE/modeling/DASIP2016/DASIP2016_2RAM.xml"/>
 
 
 
-<LastWindowAttributes x="351" y="39" width="1461" height="938" max="false" />
+<LastWindowAttributes x="219" y="87" width="1461" height="938" max="false" />
 
 
 <ProVerifHash data=""/>
diff --git a/modeling/DASIP2016/DASIP2016_2RAM.xml b/modeling/DASIP2016/DASIP2016_2RAM.xml
index 8f1b5c29a9..787de7413c 100644
--- a/modeling/DASIP2016/DASIP2016_2RAM.xml
+++ b/modeling/DASIP2016/DASIP2016_2RAM.xml
@@ -3,7 +3,7 @@
 <TURTLEGMODELING version="0.98-beta4">
 
 <Modeling type="TML Component Design" nameTab="Braking - FV" >
-<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="1913" minY="10" maxY="1413" channels="true" events="true" requests="true" zoom="1.0000000000000009" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="1921" minY="10" maxY="1421" channels="true" events="true" requests="true" zoom="1.0000000000000009" >
 <CONNECTOR type="126" id="2" >
 <cdparam x="472" y="108" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
@@ -170,7 +170,7 @@
 <cdparam x="355" y="122" />
 <sizeparam width="170" height="99" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="DSRCManagement" />
 <TGConnectingPoint num="0" id="33" />
 <TGConnectingPoint num="1" id="34" />
@@ -292,7 +292,7 @@
 <cdparam x="1353" y="752" />
 <sizeparam width="233" height="60" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="doReduceDrivingPower" />
 <TGConnectingPoint num="0" id="44" />
 <TGConnectingPoint num="1" id="45" />
@@ -327,7 +327,7 @@
 <cdparam x="1241" y="613" />
 <sizeparam width="245" height="64" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="DrivingPowerReductionstrategy" />
 <TGConnectingPoint num="0" id="57" />
 <TGConnectingPoint num="1" id="58" />
@@ -379,7 +379,7 @@
 <cdparam x="1449" y="354" />
 <sizeparam width="141" height="67" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="DoBrake" />
 <TGConnectingPoint num="0" id="68" />
 <TGConnectingPoint num="1" id="69" />
@@ -414,7 +414,7 @@
 <cdparam x="188" y="618" />
 <sizeparam width="146" height="50" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="GPSReception" />
 <TGConnectingPoint num="0" id="79" />
 <TGConnectingPoint num="1" id="80" />
@@ -449,7 +449,7 @@
 <cdparam x="273" y="467" />
 <sizeparam width="275" height="62" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="NeighbourhoodTableManagement" />
 <TGConnectingPoint num="0" id="94" />
 <TGConnectingPoint num="1" id="95" />
@@ -518,7 +518,7 @@
 <cdparam x="402" y="304" />
 <sizeparam width="176" height="60" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="CorrectnessChecking" />
 <TGConnectingPoint num="0" id="107" />
 <TGConnectingPoint num="1" id="108" />
@@ -570,7 +570,7 @@
 <cdparam x="600" y="68" />
 <sizeparam width="239" height="61" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="GetEnvironmentInformation" />
 <TGConnectingPoint num="0" id="118" />
 <TGConnectingPoint num="1" id="119" />
@@ -605,7 +605,7 @@
 <cdparam x="605" y="434" />
 <sizeparam width="223" height="66" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="PlausibilityCheck" />
 <TGConnectingPoint num="0" id="137" />
 <TGConnectingPoint num="1" id="138" />
@@ -708,7 +708,7 @@
 <cdparam x="605" y="315" />
 <sizeparam width="227" height="57" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="ObjectListManagement" />
 <TGConnectingPoint num="0" id="150" />
 <TGConnectingPoint num="1" id="151" />
@@ -760,7 +760,7 @@
 <cdparam x="615" y="597" />
 <sizeparam width="242" height="62" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="VehicleDynamicsManagement" />
 <TGConnectingPoint num="0" id="163" />
 <TGConnectingPoint num="1" id="164" />
@@ -812,7 +812,7 @@
 <cdparam x="613" y="720" />
 <sizeparam width="215" height="61" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="GetVehicleDynamics" />
 <TGConnectingPoint num="0" id="174" />
 <TGConnectingPoint num="1" id="175" />
@@ -847,7 +847,7 @@
 <cdparam x="1160" y="366" />
 <sizeparam width="193" height="60" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="BrakeManagement" />
 <TGConnectingPoint num="0" id="187" />
 <TGConnectingPoint num="1" id="188" />
@@ -899,7 +899,7 @@
 <cdparam x="977" y="492" />
 <sizeparam width="200" height="76" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="DangerAvoidanceStrategy" />
 <TGConnectingPoint num="0" id="206" />
 <TGConnectingPoint num="1" id="207" />
@@ -1002,7 +1002,7 @@
 <cdparam x="37" y="72" />
 <sizeparam width="158" height="149" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Primitive component" value="DSRCRxTx" />
 <TGConnectingPoint num="0" id="221" />
 <TGConnectingPoint num="1" id="222" />
@@ -1071,7 +1071,7 @@
 <cdparam x="30" y="44" />
 <sizeparam width="498" height="184" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="1413" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="1421" />
 <infoparam name="Composite component" value="DSRCTask" />
 <TGConnectingPoint num="0" id="230" />
 <TGConnectingPoint num="1" id="231" />
@@ -2890,12 +2890,12 @@
 
 
 <Modeling type="Requirement" nameTab="General Requirements" >
-<TRequirementDiagramPanel name="AvailabilityRequirements" minX="10" maxX="1913" minY="10" maxY="913" zoom="1.0000000000000002" >
+<TRequirementDiagramPanel name="AvailabilityRequirements" minX="10" maxX="1921" minY="10" maxY="921" zoom="1.0000000000000002" >
 <COMPONENT type="900" id="1162" >
 <cdparam x="470" y="532" />
 <sizeparam width="333" height="114" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="317" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureHighestAvalabilityForHighestPriorityFunctions" />
 <TGConnectingPoint num="0" id="1131" />
 <TGConnectingPoint num="1" id="1132" />
@@ -2946,7 +2946,7 @@
 <cdparam x="196" y="535" />
 <sizeparam width="213" height="114" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="196" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureAvailabilityRadioMedium" />
 <TGConnectingPoint num="0" id="1163" />
 <TGConnectingPoint num="1" id="1164" />
@@ -2997,7 +2997,7 @@
 <cdparam x="764" y="331" />
 <sizeparam width="310" height="102" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="288" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureExternalCommunicationDeviceAvailability" />
 <TGConnectingPoint num="0" id="1195" />
 <TGConnectingPoint num="1" id="1196" />
@@ -3047,7 +3047,7 @@
 <cdparam x="527" y="329" />
 <sizeparam width="181" height="114" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="144" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureRAMAvailability" />
 <TGConnectingPoint num="0" id="1227" />
 <TGConnectingPoint num="1" id="1228" />
@@ -3098,7 +3098,7 @@
 <cdparam x="303" y="331" />
 <sizeparam width="181" height="114" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="145" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureCPUAvailability" />
 <TGConnectingPoint num="0" id="1259" />
 <TGConnectingPoint num="1" id="1260" />
@@ -3149,7 +3149,7 @@
 <cdparam x="72" y="334" />
 <sizeparam width="181" height="114" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="141" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureBusAvailability" />
 <TGConnectingPoint num="0" id="1291" />
 <TGConnectingPoint num="1" id="1292" />
@@ -3200,7 +3200,7 @@
 <cdparam x="467" y="123" />
 <sizeparam width="181" height="114" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="164" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1913" minY="10" maxY="913" />
+<cdrectangleparam minX="10" maxX="1921" minY="10" maxY="921" />
 <infoparam name="Requirement" value="EnsureAvailabilityOfECUs" />
 <TGConnectingPoint num="0" id="1323" />
 <TGConnectingPoint num="1" id="1324" />
@@ -5759,7 +5759,7 @@
 <MainCode value="void __user_init() {"/>
 <MainCode value="}"/>
 <Optimized value="true" />
-<Validated value="" />
+<Validated value="TestBench;SpeedSensor;RadarSensor;GPSSensor;CarPositionSimulator;EmergencySimulator;Communication;DSRSC_Management;NeighbourhoodTableManagement;CorrectnessChecking;PTC;DrivingPowerReductionStrategy;BCU;DangerAvoidanceStrategy;BrakeManagement;CSCU;ObjectListManagement;PlausibilityCheck;VehiculeDynamicsManagement;" />
 <Ignored value="" />
 
 <CONNECTOR type="5002" id="2676" >
@@ -14180,7 +14180,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6320" />
 <TGConnectingPoint num="7" id="6321" />
 <extraparam>
-<info value="NeighbourhoodTableManagement/out sendTable" channelName="NeighbourhoodTableManagement/out sendTable(int currentPosition, NodeList list) #--# PlausibilityCheck/in getNodeList(NodeList list)" referenceDiagram="AVATAR Design" />
+<info value="NeighbourhoodTableManagement/out sendTable" channelName="NeighbourhoodTableManagement/out sendTable(int currentPosition, NodeList list) #--# PlausibilityCheck/in getNodeList(NodeList list)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6331" >
@@ -14199,7 +14199,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6329" />
 <TGConnectingPoint num="7" id="6330" />
 <extraparam>
-<info value="DSRSC_Management/in broadcastEmergencyBrakingMessage" channelName="DSRSC_Management/in broadcastEmergencyBrakingMessage(int id, int position) #--# DangerAvoidanceStrategy/out forwardEmergency(int myID, int currentPosition)" referenceDiagram="AVATAR Design" />
+<info value="DSRSC_Management/in broadcastEmergencyBrakingMessage" channelName="DSRSC_Management/in broadcastEmergencyBrakingMessage(int id, int position) #--# DangerAvoidanceStrategy/out forwardEmergency(int myID, int currentPosition)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6340" >
@@ -14218,7 +14218,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6338" />
 <TGConnectingPoint num="7" id="6339" />
 <extraparam>
-<info value="DSRSC_Management/out setCarPosition" channelName="DSRSC_Management/out setCarPosition(int id, int position) #--# NeighbourhoodTableManagement/in addANode(int id, int position)" referenceDiagram="AVATAR Design" />
+<info value="DSRSC_Management/out setCarPosition" channelName="DSRSC_Management/out setCarPosition(int id, int position) #--# NeighbourhoodTableManagement/in addANode(int id, int position)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6349" >
@@ -14237,7 +14237,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6347" />
 <TGConnectingPoint num="7" id="6348" />
 <extraparam>
-<info value="DSRSC_Management/out forwardEmergencyBrakingMessage" channelName="DSRSC_Management/out forwardEmergencyBrakingMessage(int id, int position) #--# CorrectnessChecking/in getEmergencyBrakingMessage(int id, int position)" referenceDiagram="AVATAR Design" />
+<info value="DSRSC_Management/out forwardEmergencyBrakingMessage" channelName="DSRSC_Management/out forwardEmergencyBrakingMessage(int id, int position) #--# CorrectnessChecking/in getEmergencyBrakingMessage(int id, int position)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6358" >
@@ -14256,7 +14256,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6356" />
 <TGConnectingPoint num="7" id="6357" />
 <extraparam>
-<info value="CorrectnessChecking/out toPlausibityCheckMessage" channelName="CorrectnessChecking/out toPlausibityCheckMessage(int id, int position) #--# PlausibilityCheck/in getEmergencyMessageToVerify(int id, int position)" referenceDiagram="AVATAR Design" />
+<info value="CorrectnessChecking/out toPlausibityCheckMessage" channelName="CorrectnessChecking/out toPlausibityCheckMessage(int id, int position) #--# PlausibilityCheck/in getEmergencyMessageToVerify(int id, int position)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -14311,7 +14311,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6390" />
 <TGConnectingPoint num="7" id="6391" />
 <extraparam>
-<info value="EmergencySimulator/out obstacleDetected" channelName="EmergencySimulator/out obstacleDetected(int id, int position) #--# DSRSC_Management/in obstacleDetected(int id, int position)" referenceDiagram="AVATAR Design" />
+<info value="EmergencySimulator/out obstacleDetected" channelName="EmergencySimulator/out obstacleDetected(int id, int position) #--# DSRSC_Management/in obstacleDetected(int id, int position)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6401" >
@@ -14330,7 +14330,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6399" />
 <TGConnectingPoint num="7" id="6400" />
 <extraparam>
-<info value="CarPositionSimulator/out carPosition" channelName="CarPositionSimulator/out carPosition(int id, int position) #--# DSRSC_Management/in carPosition(int id, int position)" referenceDiagram="AVATAR Design" />
+<info value="CarPositionSimulator/out carPosition" channelName="CarPositionSimulator/out carPosition(int id, int position) #--# DSRSC_Management/in carPosition(int id, int position)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6410" >
@@ -14349,7 +14349,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6408" />
 <TGConnectingPoint num="7" id="6409" />
 <extraparam>
-<info value="GPSSensor/out setPosition" channelName="GPSSensor/out setPosition(int currentPosition) #--# NeighbourhoodTableManagement/in setPosition(int currentPosition)" referenceDiagram="AVATAR Design" />
+<info value="GPSSensor/out setPosition" channelName="GPSSensor/out setPosition(int currentPosition) #--# NeighbourhoodTableManagement/in setPosition(int currentPosition)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6419" >
@@ -14368,7 +14368,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6417" />
 <TGConnectingPoint num="7" id="6418" />
 <extraparam>
-<info value="DangerAvoidanceStrategy/out reducePower" channelName="DangerAvoidanceStrategy/out reducePower(int value) #--# DrivingPowerReductionStrategy/in getReducePowerOrder(int value)" referenceDiagram="AVATAR Design" />
+<info value="DangerAvoidanceStrategy/out reducePower" channelName="DangerAvoidanceStrategy/out reducePower(int value) #--# DrivingPowerReductionStrategy/in getReducePowerOrder(int value)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6428" >
@@ -14387,7 +14387,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6426" />
 <TGConnectingPoint num="7" id="6427" />
 <extraparam>
-<info value="DangerAvoidanceStrategy/out brakePower" channelName="DangerAvoidanceStrategy/out brakePower(int value) #--# BrakeManagement/in brake(int value)" referenceDiagram="AVATAR Design" />
+<info value="DangerAvoidanceStrategy/out brakePower" channelName="DangerAvoidanceStrategy/out brakePower(int value) #--# BrakeManagement/in brake(int value)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6437" >
@@ -14406,7 +14406,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6435" />
 <TGConnectingPoint num="7" id="6436" />
 <extraparam>
-<info value="DangerAvoidanceStrategy/in brake" channelName="DangerAvoidanceStrategy/in brake(int speed, int currentPosition, int position) #--# PlausibilityCheck/out brake(int speed, int currentPosition, int position)" referenceDiagram="AVATAR Design" />
+<info value="DangerAvoidanceStrategy/in brake" channelName="DangerAvoidanceStrategy/in brake(int speed, int currentPosition, int position) #--# PlausibilityCheck/out brake(int speed, int currentPosition, int position)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6446" >
@@ -14425,7 +14425,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6444" />
 <TGConnectingPoint num="7" id="6445" />
 <extraparam>
-<info value="PlausibilityCheck/in getInfoOnSpeed" channelName="PlausibilityCheck/in getInfoOnSpeed(int speed) #--# VehiculeDynamicsManagement/out getInfoOnSpeed(int speed)" referenceDiagram="AVATAR Design" />
+<info value="PlausibilityCheck/in getInfoOnSpeed" channelName="PlausibilityCheck/in getInfoOnSpeed(int speed) #--# VehiculeDynamicsManagement/out getInfoOnSpeed(int speed)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6455" >
@@ -14444,7 +14444,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6453" />
 <TGConnectingPoint num="7" id="6454" />
 <extraparam>
-<info value="SpeedSensor/out updateOnSpeed" channelName="SpeedSensor/out updateOnSpeed(int speed) #--# VehiculeDynamicsManagement/in updateOnSpeed(int speed)" referenceDiagram="AVATAR Design" />
+<info value="SpeedSensor/out updateOnSpeed" channelName="SpeedSensor/out updateOnSpeed(int speed) #--# VehiculeDynamicsManagement/in updateOnSpeed(int speed)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6464" >
@@ -14463,7 +14463,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6462" />
 <TGConnectingPoint num="7" id="6463" />
 <extraparam>
-<info value="PlausibilityCheck/in getInfoOnObstacle" channelName="PlausibilityCheck/in getInfoOnObstacle(int obstacle) #--# ObjectListManagement/out getInfoOnObstacle(int info)" referenceDiagram="AVATAR Design" />
+<info value="PlausibilityCheck/in getInfoOnObstacle" channelName="PlausibilityCheck/in getInfoOnObstacle(int obstacle) #--# ObjectListManagement/out getInfoOnObstacle(int info)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5362" id="6473" >
@@ -14482,7 +14482,7 @@ Otherwise, the most far away
 <TGConnectingPoint num="6" id="6471" />
 <TGConnectingPoint num="7" id="6472" />
 <extraparam>
-<info value="RadarSensor/out obstacleAhead" channelName="RadarSensor/out obstacleAhead(int info) #--# ObjectListManagement/in isObstacleAhead(int info)" referenceDiagram="AVATAR Design" />
+<info value="RadarSensor/out obstacleAhead" channelName="RadarSensor/out obstacleAhead(int info) #--# ObjectListManagement/in isObstacleAhead(int info)" fullChannelName="" referenceDiagram="AVATAR Design" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java b/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java
index 2ade8a7397..8b96b59644 100755
--- a/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java
+++ b/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java
@@ -184,25 +184,7 @@ public class TasksAndMainGenerator {
         mainFile.appendToMainCode("pthread_attr_init(attr_t);" + CR );
         mainFile.appendToMainCode("pthread_mutex_init(&__mainMutex, NULL);" +CR2);       
     }
-
-    public String getReducedChannelName(AvatarRelation ar, int i){
-	String newChannelName; 
-	String channelName;
-        channelName=getChannelName(ar, i);
-	newChannelName = channelName;
-	//newChannelName = channelName.substring(0,10)+channelName.substring(channelName.length()-10,channelName.length()-1);
-	return newChannelName;
-    }
-
-    public String getReducedChannelName(AvatarRelation ar, AvatarSignal as){
-	String newChannelName; 
-	String channelName;
-        channelName=getChannelName(ar, as);
-	newChannelName = channelName;
-	//newChannelName = channelName.substring(0,10)+channelName.substring(channelName.length()-10,channelName.length()-1);
-	return newChannelName;
-    }
-
+  
     public void makeSynchronousChannels() {
 	int i=0;        
         // Create a synchronous channel per relation/signal
@@ -212,13 +194,13 @@ public class TasksAndMainGenerator {
         for(AvatarRelation ar: avspec.getRelations()) {
             if (!ar.isAsynchronous()) {
                 for(i=0; i<ar.nbOfSignals(); i++) {
-                    mainFile.appendToHCode("extern syncchannel __" + getReducedChannelName(ar, i)  + ";" + CR);
-                    mainFile.appendToBeforeMainCode("syncchannel __" + getReducedChannelName(ar, i) + ";" + CR);
-						    mainFile.appendToMainCode("__" + getReducedChannelName(ar, i) + ".inname =\"" + ar.getInSignal(i).getName() + "\";" + CR);
-												       mainFile.appendToMainCode("__" + getReducedChannelName(ar, i) + ".outname =\"" + ar.getOutSignal(i).getName() + "\";" + CR);
+                    mainFile.appendToHCode("extern syncchannel __" + getChannelName(ar, i)  + ";" + CR);
+                    mainFile.appendToBeforeMainCode("syncchannel __" + getChannelName(ar, i) + ";" + CR);
+						    mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".inname =\"" + ar.getInSignal(i).getName() + "\";" + CR);
+												       mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".outname =\"" + ar.getOutSignal(i).getName() + "\";" + CR);
 	
                     if (ar.isBroadcast()) {
-                        mainFile.appendToMainCode("setBroadcast(&__" + getReducedChannelName(ar, i) + ", true);" + CR);
+                        mainFile.appendToMainCode("setBroadcast(&__" + getChannelName(ar, i) + ", true);" + CR);
                     }		   
                 }
             }
@@ -237,26 +219,26 @@ public class TasksAndMainGenerator {
 	    for(AvatarRelation ar: avspec.getRelations()) {
 		if (ar.isAsynchronous()) {
 		    for(int i=0; i<ar.nbOfSignals() ; i++) {
-			mainFile.appendToHCode("extern asyncchannel __" + getReducedChannelName(ar, i) + ";" + CR);
+			mainFile.appendToHCode("extern asyncchannel __" + getChannelName(ar, i) + ";" + CR);
 
-			mainFile.appendToBeforeMainCode("asyncchannel __" +getReducedChannelName(ar, i) + ";" + CR);
-			mainFile.appendToMainCode("__" + getReducedChannelName(ar, i) + ".inname =\"" + ar.getInSignal(i).getName() + "\";" + CR);
-			mainFile.appendToMainCode("__" +getReducedChannelName(ar, i) + ".outname =\"" + ar.getOutSignal(i).getName() + "\";" + CR);
+			mainFile.appendToBeforeMainCode("asyncchannel __" +getChannelName(ar, i) + ";" + CR);
+			mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".inname =\"" + ar.getInSignal(i).getName() + "\";" + CR);
+			mainFile.appendToMainCode("__" +getChannelName(ar, i) + ".outname =\"" + ar.getOutSignal(i).getName() + "\";" + CR);
 			if (ar.isBlocking()) {
-			    mainFile.appendToMainCode("__" +getReducedChannelName(ar, i) + ".isBlocking = 1;" + CR);
+			    mainFile.appendToMainCode("__" +getChannelName(ar, i) + ".isBlocking = 1;" + CR);
 			} else {
-			    mainFile.appendToMainCode("__" + getReducedChannelName(ar, i) + ".isBlocking = 0;" + CR);
+			    mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".isBlocking = 0;" + CR);
 			}
-			mainFile.appendToMainCode("__" + getReducedChannelName(ar, i) + ".maxNbOfMessages = " + ar.getSizeOfFIFO() + ";" + CR);
+			mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".maxNbOfMessages = " + ar.getSizeOfFIFO() + ";" + CR);
 			
-			mainFile.appendToMainCode("__" + getReducedChannelName(ar, i) + ".mwmr_fifo = &" + getReducedChannelName(ar, i) + ";" + CR);
+			mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".mwmr_fifo = &" + getChannelName(ar, i) + ";" + CR);
 			
 	
-			mainFile.appendToBeforeMainCode("uint32_t *const "+ getReducedChannelName(ar, i)+"_lock= LOCKSADDR+0x"+(i*20) +";" + CR); 
+			mainFile.appendToBeforeMainCode("uint32_t *const "+ getChannelName(ar, i)+"_lock= LOCKSADDR+0x"+(i*20) +";" + CR); 
 	//DG parameter <depth>  should ultimately be generated; width is fixed as long as data is not explicitly modeled
-			mainFile.appendToBeforeMainCode("struct mwmr_status_s "+ getReducedChannelName(ar, i) +"_status =  MWMR_STATUS_INITIALIZER(1, 1);" + CR); 
-			mainFile.appendToBeforeMainCode("uint8_t "+getReducedChannelName(ar, i) +"_data[32*2];" + CR);
-			mainFile.appendToBeforeMainCode("struct mwmr_s "+getReducedChannelName(ar, i) + "= MWMR_INITIALIZER(1, 1, "+getReducedChannelName(ar, i)+"_data,&"+getReducedChannelName(ar, i)+"_status,\""+getReducedChannelName(ar, i)+"\","+getReducedChannelName(ar, i)+"_lock);" + CR2);		
+			mainFile.appendToBeforeMainCode("struct mwmr_status_s "+ getChannelName(ar, i) +"_status =  MWMR_STATUS_INITIALIZER(1, 1);" + CR); 
+			mainFile.appendToBeforeMainCode("uint8_t "+getChannelName(ar, i) +"_data[32*2];" + CR);
+			mainFile.appendToBeforeMainCode("struct mwmr_s "+getChannelName(ar, i) + "= MWMR_INITIALIZER(1, 1, "+getChannelName(ar, i)+"_data,&"+getChannelName(ar, i)+"_status,\""+getChannelName(ar, i)+"\","+getChannelName(ar, i)+"_lock);" + CR2);		
 		    }
 		}
 	    }
@@ -485,7 +467,7 @@ public class TasksAndMainGenerator {
             AvatarRelation ar = avspec.getAvatarRelationWithSignal(as);
 	    //DG 
 	    if(ar.isAsynchronous()){
-            ret2+= CR + "struct mwmr_s *" + getReducedChannelName(ar, as);
+            ret2+= CR + "struct mwmr_s *" + getChannelName(ar, as);
 	    }
         }
 
@@ -870,15 +852,15 @@ public class TasksAndMainGenerator {
 		    ret+="debugInt(\"channel address\", &__req"+_index+");" + CR;
 		    ret += "makeNewRequest(&__req" + _index + ", " + _aaos.getID() + ", SEND_ASYNC_REQUEST, " + delay + ", " + _aaos.getNbOfValues() + ", __params" + _index + ");" + CR;
 		    ret += "debug2Msg(__myname, \"-> (=====)after MakeNewRequest\");" + CR;
-		    ret += "__req" + _index + ".asyncChannel = &__" + getReducedChannelName(ar, as) + ";" + CR;                
+		    ret += "__req" + _index + ".asyncChannel = &__" + getChannelName(ar, as) + ";" + CR;                
                 } else {
 		    if (ar.isBroadcast()) {
 			ret += "makeNewRequest(&__req" + _index + ", " + _aaos.getID()+ ", SEND_BROADCAST_REQUEST, " + delay + ", " + _aaos.getNbOfValues() + ", __params" + _index + ");" + CR;
-			ret += "__req" + _index + ".syncChannel = &__" + getReducedChannelName(ar, as) + ";" + CR;
+			ret += "__req" + _index + ".syncChannel = &__" + getChannelName(ar, as) + ";" + CR;
 
 		    } else {
 			ret += "makeNewRequest(&__req" + _index + ", " + _aaos.getID()+ ", SEND_SYNC_REQUEST, " + delay + ", " + _aaos.getNbOfValues() + ", __params" + _index + ");" + CR;
-			ret += "__req" + _index + ".syncChannel = &__" + getReducedChannelName(ar, as) + ";" + CR;
+			ret += "__req" + _index + ".syncChannel = &__" + getChannelName(ar, as) + ";" + CR;
 
 		    }
                 }
@@ -892,14 +874,14 @@ public class TasksAndMainGenerator {
 		    //ret += "debug2Msg(__myname, \"-> (=====)before MakeNewRequest\");" + CR;
 //ret+="debugInt(\"channel address\", &__req"+_index+");" + CR;
 		    ret += "makeNewRequest(&__req" + _index + ", " + _aaos.getID() + ", RECEIVE_ASYNC_REQUEST, " + delay + ", " + _aaos.getNbOfValues() + ", __params" + _index + ");" + CR;
-		    ret += "__req" + _index + ".asyncChannel = &__" + getReducedChannelName(ar, as) + ";" + CR;
+		    ret += "__req" + _index + ".asyncChannel = &__" + getChannelName(ar, as) + ";" + CR;
 		} else {
                     if (ar.isBroadcast()) {
                         ret += "makeNewRequest(&__req" + _index + ", " + _aaos.getID() + ", RECEIVE_BROADCAST_REQUEST, " + delay + ", " + _aaos.getNbOfValues() + ", __params" + _index + ");" + CR;
-			ret += "__req" + _index + ".syncChannel = &__" + getReducedChannelName(ar, as) + ";" + CR;
+			ret += "__req" + _index + ".syncChannel = &__" + getChannelName(ar, as) + ";" + CR;
                     } else {
 			ret += "makeNewRequest(&__req" + _index + ", " + _aaos.getID() + ", RECEIVE_SYNC_REQUEST, " + delay + ", " + _aaos.getNbOfValues() + ", __params" + _index + ");" + CR;
-			ret += "__req" + _index + ".syncChannel = &__" + getReducedChannelName(ar, as) + ";" + CR;
+			ret += "__req" + _index + ".syncChannel = &__" + getChannelName(ar, as) + ";" + CR;
                     }
 		}
 	    }
@@ -989,7 +971,7 @@ public class TasksAndMainGenerator {
 	      for(i=0; i<ar.nbOfSignals() ; i++) {		  		
 	
 		  if(((ar.block1.getName()==taskFile.getName())||(ar.block2.getName()==taskFile.getName()))&&(ar.isAsynchronous())){ 
-		      channelString+="channels_array_"+  taskFile.getName() +"["+j+"]=&"+getReducedChannelName(ar, i)+";" + CR;
+		      channelString+="channels_array_"+  taskFile.getName() +"["+j+"]=&"+getChannelName(ar, i)+";" + CR;
 			cptchannels_array ++;
 		      j++;		
 		  }		    		   		    
diff --git a/src/ddtranslatorSoclib/toTopCell/Declaration.java b/src/ddtranslatorSoclib/toTopCell/Declaration.java
index d03519369d..0ff650f4cd 100755
--- a/src/ddtranslatorSoclib/toTopCell/Declaration.java
+++ b/src/ddtranslatorSoclib/toTopCell/Declaration.java
@@ -11,6 +11,59 @@ public class Declaration {
     private static String CR = "\n";
     private static String CR2 = "\n\n";
 
+    //DG 28.04. parsing of channel name seems less complicated than identifying the referenced avatar blocks and channels 
+       
+    public static String generateName(AvatarChannel channel){
+	String channelName="";
+	String channelNameTest = channel.getChannelName();
+
+	//extract first block name
+	int pos1=channelNameTest.indexOf('/');
+	int pos2; int x;
+
+	if ((channelNameTest.substring(pos1+1,pos1+2)).equals("in")){
+	    pos2=pos1+3;x=0;	System.out.println("33333"+channelNameTest);
+	}
+	else{ 
+	    pos2=pos1+4;x=1;
+	}
+	channelName=channelName+channelNameTest.substring(0,pos1)+"_";
+
+	//extract first signal name
+
+	channelNameTest=channelNameTest.substring(pos2-(1-x),channelNameTest.length());
+
+	pos1=channelNameTest.indexOf('(');
+	channelName=channelName+channelNameTest.substring(x,pos1)+"__";
+	
+	pos1=channelNameTest.indexOf('#');
+	channelNameTest=channelNameTest.substring(pos1+1,channelNameTest.length());
+	pos1=channelNameTest.indexOf('#');
+	channelNameTest=channelNameTest.substring(pos1+2,channelNameTest.length());
+
+	//extract second  block name
+	pos1=channelNameTest.indexOf('/');
+
+	if ((channelNameTest.substring(pos1+1,pos1+2)).equals("in")){
+	    pos2=pos1+3;x=0;	System.out.println("33333"+channelNameTest);
+
+	}
+	else{ 
+	    pos2=pos1+4;x=1;
+	}
+	channelName=channelName+channelNameTest.substring(0,pos1)+"_";
+
+	//extract second signal name
+	channelNameTest=channelNameTest.substring(pos2-(1-x),channelNameTest.length());
+
+	pos1=channelNameTest.indexOf('(');
+        channelName=channelName+channelNameTest.substring(x,pos1);	
+ 
+    return channelName;
+    }
+
+    //fin ajoute DG
+
 	public static String getDeclarations() {
 	   
 		String declaration = "//----------------------------Instantiation-------------------------------" + CR2;	
@@ -80,11 +133,7 @@ else{
 		    declaration += "caba::VciRam<vci_param>mwmr_ram(\"mwmr_ram\",IntTab(0,"+(TopCellGenerator.avatardd.getNb_target()+3)+"),maptab);" + CR2; 
 		    declaration += "caba::VciRam<vci_param>mwmrd_ram(\"mwmrd_ram\", IntTab("+(TopCellGenerator.avatardd.getNb_target()+4)+"),maptab);" + CR2; 
 }
-		    else{
-
-			// declaration += "caba::VciRam<vci_param>mwmr_ram(\"mwmr_ram\",IntTab(0,1),maptab);" + CR2; 
-			//	    declaration += "caba::VciRam<vci_param>mwmrd_ram(\"mwmrd_ram\", IntTab(0,2),maptab);" + CR2; 
-}		    	
+		    	
 		    if(nb_clusters==0){
 	 for (AvatarTTY tty : TopCellGenerator.avatardd.getAllTTY()){
 		    declaration += "caba::VciMultiTty<vci_param> " + tty.getTTYName()+ "(\"" + tty.getTTYName()+ "\", IntTab(" + tty.getNo_target()+ "), maptab, \"vci_multi_tty"+"\", NULL);"+ CR;}
@@ -132,14 +181,16 @@ if(nb_clusters==0){
 	    else{
 		if (ram.getMonitored()==2){
 		int number = ram.getNo_target();
-
-                //LinkedList<AvatarChannel> channels=ram.getChannels();	
-	
+             
 		String strArray="";
 
-                for(AvatarChannel channel: ram.getChannels()){
-		  strArray=strArray+"\""+channel.getChannelName()+"\","; 
-		}      
+		 for(AvatarChannel channel: ram.getChannels()){ 
+		   
+		     String chname = generateName(channel);
+		     
+		     strArray=strArray+"\""+chname+"\",";
+		}   
+		
 		declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr0.log\",stringArray("+strArray+"NULL));" + CR2;
 	      i++;	      
 	    }	
@@ -176,7 +227,9 @@ if(nb_clusters==0){
 		String strArray="";
 
                 for(AvatarChannel channel: ram.getChannels()){
-		  strArray=strArray+"\""+channel.getChannelName()+"\","; 
+		    //   strArray=strArray+"\""+channel.getChannelName()+"\","; 
+		    String chname = generateName(channel);
+		     strArray=strArray+"\""+chname+"\",";
 		}      
 		declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr0.log\",stringArray("+strArray+"NULL));" + CR2;
 	      i++;	      
@@ -186,7 +239,7 @@ if(nb_clusters==0){
 
 	  // if VGMN was not last in input file, update here 
           vgmn.setNbOfAttachedInitiators(TopCellGenerator.avatardd.getNb_init()); 
-          vgmn.setnbOfAttachedTargets(TopCellGenerator.avatardd.getNb_target()+4);//DG 04.12. two additionnal targets for channel mapping
+          vgmn.setnbOfAttachedTargets(TopCellGenerator.avatardd.getNb_target()+4);
 	 }
 }else
     //clustered
diff --git a/src/ui/avatardd/ADDChannelArtifact.java b/src/ui/avatardd/ADDChannelArtifact.java
index bef3b66a2a..a2e66915cd 100755
--- a/src/ui/avatardd/ADDChannelArtifact.java
+++ b/src/ui/avatardd/ADDChannelArtifact.java
@@ -180,7 +180,6 @@ public class ADDChannelArtifact extends TGCWithoutInternalComponent implements S
 
     }
 
-    //DG rudimentary parsing to obtain shorter channel names
     private void makeFullValue() {
         String newChannelName = channelName;
         int pos1=channelName.indexOf('(');
@@ -188,12 +187,10 @@ public class ADDChannelArtifact extends TGCWithoutInternalComponent implements S
             int pos2=channelName.lastIndexOf(')');
             int pos3=channelName.indexOf('(');
             int pos4=channelName.lastIndexOf('(');
-
-            TraceManager.addDev("****** Channel Name "+ channelName);
+          
             newChannelName = channelName.substring(0,pos1);
-            //newChannelName = channelName.substring(0,pos1-1)+channelName.substring(pos2+1,pos3)+channelName.substring(pos4,channelName.length()-1);
-            value = newChannelName;
-            TraceManager.addDev("****** New Channel Name "+ newChannelName);
+            
+            value = newChannelName;        
         }
         else{
             value = channelName;
-- 
GitLab