diff --git a/simulators/c++2/src_simulator/app/TMLTask.cpp b/simulators/c++2/src_simulator/app/TMLTask.cpp
index e5c54a031b1a6359fb80405b095350df4ce4282a..8f841f8e33da822cbe94c47319e5f2d6abcd1423 100755
--- a/simulators/c++2/src_simulator/app/TMLTask.cpp
+++ b/simulators/c++2/src_simulator/app/TMLTask.cpp
@@ -543,22 +543,57 @@ void TMLTask::schedule2HTML(std::ofstream& myfile) const {
     std::map<TMLTask*, std::string> taskCellClasses;
     unsigned int nextCellClassIndex = 0;
     TMLTime aCurrTime = 0;
-
+    unsigned int tempReduce = 0;
+    std::vector<unsigned int> listScale;
+    std::vector<unsigned int> listScaleTime;
+    listScale.push_back(0);
+    listScaleTime.push_back(0);
     for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
       
       //if( (*i)->getTransactCoreNumber() == this->_cycleTime ){
       TMLTransaction* aCurrTrans = *i;
       unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
-
- 	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
- 	    writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
- 	else if ( aBlanks > 0 )
- 	    writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+    bool isBlankTooBig = false;
+    std::ostringstream tempString;
+    int tempBlanks;
+    if(aBlanks >= 250) {
+        int newBlanks = 20;
+        tempBlanks = aBlanks;
+        tempReduce += aBlanks - newBlanks;
+        aBlanks = newBlanks;
+        isBlankTooBig = true;
+    }
+	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+	    listScale.push_back(aBlanks+1);
+	    tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+	    if (isBlankTooBig){
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+	    } else {
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+	    }
+	}
+	else if ( aBlanks > 0 ){
+	    listScale.push_back(aBlanks);
+	    tempString << tempBlanks;
+	    if(aCurrTrans->getStartTime() > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+	    if (isBlankTooBig){
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+        } else {
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+        }
+	}
 
       unsigned int aLength = aCurrTrans->getPenalties();
 
       if ( aLength != 0 ) {
 	std::ostringstream title;
+    listScale.push_back(aLength);
+    listScaleTime.push_back(listScaleTime.back()+aLength);
 	title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
 	writeHTMLColumn( myfile, aLength, "not", title.str() );
       }
@@ -573,6 +608,13 @@ void TMLTask::schedule2HTML(std::ofstream& myfile) const {
       std::string aCurrContent=aCurrTransName.substr(indexTrans+1,2);
       if(!(!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction())){
         writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent );
+        listScale.push_back(aLength);
+        if(aCurrTrans->getStartTime() > listScaleTime.back()){
+           listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+        if(aCurrTrans->getEndTime() > listScaleTime.back()){
+          listScaleTime.push_back(aCurrTrans->getEndTime());
+        }
       }
 
       aCurrTime = aCurrTrans->getEndTime();
@@ -582,16 +624,23 @@ void TMLTask::schedule2HTML(std::ofstream& myfile) const {
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
       myfile << "<th></th>";
     }
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+    for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
       std::ostringstream spanVal;
-      spanVal << aLength;
-      writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      if(aLength < listScaleTime.size())
+        spanVal << listScaleTime[aLength];
+      else
+        spanVal << "";
+      if(aLength+1 >= listScale.size()){
+        writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      }else {
+        writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+      }
       //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
     }
 
diff --git a/simulators/c++2/src_simulator/arch/CPU.cpp b/simulators/c++2/src_simulator/arch/CPU.cpp
index d95f7786209ccdba1c730c88c30e3932765b1280..c64c2f07821a4dac2efebbe9bbbaf5b62016f30c 100644
--- a/simulators/c++2/src_simulator/arch/CPU.cpp
+++ b/simulators/c++2/src_simulator/arch/CPU.cpp
@@ -185,7 +185,11 @@ void CPU::HW2HTML(std::ofstream& myfile) const {
     std::map<TMLTask*, std::string> taskCellClasses;
     unsigned int nextCellClassIndex = 0;
     TMLTime aCurrTime = 0;
-
+    unsigned int tempReduce = 0;
+    std::vector<unsigned int> listScale;
+    std::vector<unsigned int> listScaleTime;
+    listScale.push_back(0);
+    listScaleTime.push_back(0);
     for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
       std::cout<<"get transaction core number is: "<<(*i)->getTransactCoreNumber()<<std::endl;
       std::cout<<"time : "<<_cycleTime<<std::endl;
@@ -193,15 +197,46 @@ void CPU::HW2HTML(std::ofstream& myfile) const {
       if( (*i)->getTransactCoreNumber() == this->_cycleTime ){
 	TMLTransaction* aCurrTrans = *i;
 	unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
-
-    if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
-    else if ( aBlanks > 0 )
-        writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+	bool isBlankTooBig = false;
+	std::ostringstream tempString;
+	int tempBlanks;
+	if(aBlanks >= 250) {
+	    int newBlanks = 20;
+	    tempBlanks = aBlanks;
+	    tempReduce += aBlanks - newBlanks;
+	    aBlanks = newBlanks;
+	    isBlankTooBig = true;
+	}
+	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+	    listScale.push_back(aBlanks+1);
+	    tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+	    if (isBlankTooBig){
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+	    } else {
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+	    }
+	}
+	else if ( aBlanks > 0 ){
+	    listScale.push_back(aBlanks);
+	    tempString << tempBlanks;
+	    if(aCurrTrans->getStartTime() > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+	    if (isBlankTooBig){
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+        } else {
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+        }
+	}
 
 	unsigned int aLength = aCurrTrans->getPenalties();
 
 	if ( aLength != 0 ) {
+	  listScale.push_back(aLength);
+	  listScaleTime.push_back(listScaleTime.back()+aLength);
 	  std::ostringstream title;
 	  title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
 	  writeHTMLColumn( myfile, aLength, "not", title.str() );
@@ -217,6 +252,13 @@ void CPU::HW2HTML(std::ofstream& myfile) const {
 	std::string aCurrContent=aCurrTransName.substr(indexTrans+1,2);
 	if(!(!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction())){
       writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent );
+      listScale.push_back(aLength);
+      if(aCurrTrans->getStartTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if(aCurrTrans->getEndTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getEndTime());
+      }
     }
         if(aCurrTrans->getCommand()->getTask()->getIsDaemon() == true && aCurrTrans->getEndTime() > _simulatedTime)
 	  aCurrTime = _simulatedTime;
@@ -224,20 +266,26 @@ void CPU::HW2HTML(std::ofstream& myfile) const {
 	  aCurrTime = aCurrTrans->getEndTime();
       }
     }
-		
+
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
       myfile << "<th></th>";
     }
 
     myfile << "</tr>" << std::endl << "<tr>";
-
-    for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+    for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
       std::ostringstream spanVal;
-      spanVal << aLength;
-      writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      if(aLength < listScaleTime.size())
+        spanVal << listScaleTime[aLength];
+      else
+        spanVal << "";
+      if(aLength+1 >= listScale.size()){
+        writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      }else {
+        writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+      }
       //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
     }
 
@@ -246,7 +294,7 @@ void CPU::HW2HTML(std::ofstream& myfile) const {
   }
 }
 
-void CPU::schedule2HTML(std::ofstream& myfile) const {  
+void CPU::schedule2HTML(std::ofstream& myfile) const {
   myfile << "<h2><span>Scheduling for device: "<< _name <<"_core_"<<this->_cycleTime<< "</span></h2>" << std::endl;
 
   if ( _transactList.size() == 0 ) {
@@ -258,7 +306,11 @@ void CPU::schedule2HTML(std::ofstream& myfile) const {
     std::map<TMLTask*, std::string> taskCellClasses;
     unsigned int nextCellClassIndex = 0;
     TMLTime aCurrTime = 0;
-
+    unsigned int tempReduce = 0;
+    std::vector<unsigned int> listScale;
+    std::vector<unsigned int> listScaleTime;
+    listScale.push_back(0);
+    listScaleTime.push_back(0);
     for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
       std::cout<<"get transaction core number is: "<<(*i)->getTransactCoreNumber()<<std::endl;
       std::cout<<"time : "<<_cycleTime<<std::endl;
@@ -266,16 +318,47 @@ void CPU::schedule2HTML(std::ofstream& myfile) const {
       if( (*i)->getTransactCoreNumber() == this->_cycleTime ){
 	TMLTransaction* aCurrTrans = *i;
 	unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
-
-    if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
-    else if ( aBlanks > 0 )
-        writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+    bool isBlankTooBig = false;
+    std::ostringstream tempString;
+    int tempBlanks;
+    if(aBlanks >= 250) {
+        int newBlanks = 20;
+        tempBlanks = aBlanks;
+        tempReduce += aBlanks - newBlanks;
+        aBlanks = newBlanks;
+        isBlankTooBig = true;
+    }
+	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+	    listScale.push_back(aBlanks+1);
+        tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+	    if (isBlankTooBig){
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+	    } else {
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+	    }
+	}
+	else if ( aBlanks > 0 ){
+	    listScale.push_back(aBlanks);
+	    tempString << tempBlanks;
+	    if(aCurrTrans->getStartTime() > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+	    if (isBlankTooBig){
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+        } else {
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+        }
+	}
 
 	unsigned int aLength = aCurrTrans->getPenalties();
 
 	if ( aLength != 0 ) {
 	  std::ostringstream title;
+      listScale.push_back(aLength);
+      listScaleTime.push_back(listScaleTime.back()+aLength);
 	  title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
 	  writeHTMLColumn( myfile, aLength, "not", title.str() );
 	}
@@ -287,6 +370,13 @@ void CPU::schedule2HTML(std::ofstream& myfile) const {
 	const std::string cellClass = determineHTMLCellClass( taskCellClasses, task, nextCellClassIndex );
     if(!(!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction())){
       writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString() );
+      listScale.push_back(aLength);
+      if(aCurrTrans->getStartTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if(aCurrTrans->getEndTime() > listScaleTime.back()){
+        listScaleTime.push_back(aCurrTrans->getEndTime());
+      }
     }
 	if(aCurrTrans->getCommand()->getTask()->getIsDaemon() == true && aCurrTrans->getEndTime() > _simulatedTime)
 	  aCurrTime = _simulatedTime;
@@ -294,20 +384,27 @@ void CPU::schedule2HTML(std::ofstream& myfile) const {
 	  aCurrTime = aCurrTrans->getEndTime();
       }
     }
-		
+
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
       myfile << "<th></th>";
     }
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+    for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
       std::ostringstream spanVal;
-      spanVal << aLength;
-      writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      if(aLength < listScaleTime.size())
+        spanVal << listScaleTime[aLength];
+      else
+        spanVal << "";
+      if(aLength+1 >= listScale.size()){
+        writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      }else {
+        writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+      }
       //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
     }
 
diff --git a/simulators/c++2/src_simulator/arch/FPGA.cpp b/simulators/c++2/src_simulator/arch/FPGA.cpp
index f50f7b91198185d7d177130444e55ea8dc2c7e98..712d668c3eecf723b09037277dda0ac75dfc37ab 100644
--- a/simulators/c++2/src_simulator/arch/FPGA.cpp
+++ b/simulators/c++2/src_simulator/arch/FPGA.cpp
@@ -582,6 +582,11 @@ void FPGA::HW2HTML(std::ofstream& myfile)  {
      myfile << "<table>" << std::endl << "<tr>";
     TMLTime aCurrTime = 0;
     unsigned int taskOccurTime = 0;
+    unsigned int tempReduce = 0;
+    std::vector<unsigned int> listScale;
+    std::vector<unsigned int> listScaleTime;
+    listScale.push_back(0);
+    listScaleTime.push_back(0);
     for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
 #ifdef DEBUG_FPGA
       std::cout <<  (*i)-> getCommand()->getTask()->toString() <<std::endl;
@@ -596,11 +601,40 @@ void FPGA::HW2HTML(std::ofstream& myfile)  {
 #endif
 	TMLTransaction* aCurrTrans = *i;
 	unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
-	//std::cout<<"blank is "<<aBlanks<<std::endl;
-	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-	    writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
-	else if ( aBlanks > 0 )
-	    writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+	bool isBlankTooBig = false;
+	std::ostringstream tempString;
+	int tempBlanks;
+	if(aBlanks >= 250) {
+	    int newBlanks = 20;
+	    tempBlanks = aBlanks;
+	    tempReduce += aBlanks - newBlanks;
+	    aBlanks = newBlanks;
+	    isBlankTooBig = true;
+	}
+	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+	    listScale.push_back(aBlanks+1);
+	    tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+	    if (isBlankTooBig){
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+	    } else {
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+	    }
+	}
+	else if ( aBlanks > 0 ){
+	    listScale.push_back(aBlanks);
+	    tempString << tempBlanks;
+	    if(aCurrTrans->getStartTime() > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+	    if (isBlankTooBig){
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+        } else {
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+        }
+	}
 
 	unsigned int aLength = aCurrTrans->getOperationLength();
 
@@ -613,26 +647,38 @@ void FPGA::HW2HTML(std::ofstream& myfile)  {
 	std::string aCurrContent=aCurrTransName.substr(indexTrans+1,2);
 	if(!(!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction())){
       writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent );
+      listScale.push_back(aLength);
+      if(aCurrTrans->getStartTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if(aCurrTrans->getEndTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getEndTime());
+      }
     }
 	if(aCurrTrans->getCommand()->getTask()->getIsDaemon() == true && aCurrTrans->getEndTime() > _simulatedTime)
 	  aCurrTime = _simulatedTime;
 	else
 	  aCurrTime = aCurrTrans->getEndTime();
       }
-    }	
+    }
 
     myfile << "</tr>" << std::endl << "<tr>";
-
-    for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
       myfile << "<th></th>";
     }
 
     myfile << "</tr>" << std::endl << "<tr>";
-
-    for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+    for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
       std::ostringstream spanVal;
-      spanVal << aLength;
-      writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      if(aLength < listScaleTime.size())
+        spanVal << listScaleTime[aLength];
+      else
+        spanVal << "";
+      if(aLength+1 >= listScale.size()){
+        writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      }else {
+        writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+      }
       //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
     }
    }
@@ -652,6 +698,11 @@ void FPGA::schedule2HTML(std::ofstream& myfile)  {
 
     TMLTime aCurrTime = 0;
     unsigned int taskOccurTime = 0;
+    unsigned int tempReduce = 0;
+    std::vector<unsigned int> listScale;
+    std::vector<unsigned int> listScaleTime;
+    listScale.push_back(0);
+    listScaleTime.push_back(0);
     for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
       //#ifdef DEBUG_FPGA
       std::cout <<  (*i)-> getCommand()->getTask()->toString() <<std::endl;
@@ -667,10 +718,41 @@ void FPGA::schedule2HTML(std::ofstream& myfile)  {
 	TMLTransaction* aCurrTrans = *i;
 	unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
 	//std::cout<<"blank is "<<aBlanks<<std::endl;
-	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-	    writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
-	else if ( aBlanks > 0 )
-	    writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+    bool isBlankTooBig = false;
+    std::ostringstream tempString;
+    int tempBlanks;
+    if(aBlanks >= 250) {
+        int newBlanks = 20;
+        tempBlanks = aBlanks;
+        tempReduce += aBlanks - newBlanks;
+        aBlanks = newBlanks;
+        isBlankTooBig = true;
+    }
+
+	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+	    listScale.push_back(aBlanks+1);
+	    tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+	    if (isBlankTooBig){
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+	    } else {
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+	    }
+	}
+	else if ( aBlanks > 0 ){
+	    listScale.push_back(aBlanks);
+	    tempString << tempBlanks;
+	    if(aCurrTrans->getStartTime() > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+	    if (isBlankTooBig){
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+        } else {
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+        }
+	}
 
 	unsigned int aLength = aCurrTrans->getOperationLength();
 
@@ -681,6 +763,13 @@ void FPGA::schedule2HTML(std::ofstream& myfile)  {
 	const std::string cellClass = determineHTMLCellClass(  nextCellClassIndex );
     if(!(!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction())){
       writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString() );
+      listScale.push_back(aLength);
+      if(aCurrTrans->getStartTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if(aCurrTrans->getEndTime() > listScaleTime.back()){
+        listScaleTime.push_back(aCurrTrans->getEndTime());
+      }
     }
 
 	if(aCurrTrans->getCommand()->getTask()->getIsDaemon() == true && aCurrTrans->getEndTime() > _simulatedTime)
@@ -693,16 +782,22 @@ void FPGA::schedule2HTML(std::ofstream& myfile)  {
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
       myfile << "<th></th>";
     }
 
     myfile << "</tr>" << std::endl << "<tr>";
-
-    for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+    for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
       std::ostringstream spanVal;
-      spanVal << aLength;
-      writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      if(aLength < listScaleTime.size())
+        spanVal << listScaleTime[aLength];
+      else
+        spanVal << "";
+      if(aLength+1 >= listScale.size()){
+        writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      }else {
+        writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+      }
       //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
     }
 
diff --git a/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp b/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp
index e9acc0048569bb0e57f07b752b8f35509fe61986..d1105fc828b98935c3b7315f5cddc083f2a4419b 100644
--- a/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp
+++ b/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp
@@ -426,22 +426,59 @@ void MultiCoreCPU::schedule2HTML(std::ofstream& myfile) const{
   //if (_transactList.empty()) return;
   //std::cout << "0. size: " << _transactList.size() << '\n';
   myfile << "<h2><span>Scheduling for device: "<< _name <<"</span></h2>\n<table>\n<tr>";
+  unsigned int tempReduce = 0;
+  std::vector<unsigned int> listScale;
+  std::vector<unsigned int> listScaleTime;
+  listScale.push_back(0);
+  listScaleTime.push_back(0);
   for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
     aCurrTrans=*i;
     //if (aCurrTrans->getVirtualLength()==0) continue;
     aBlanks=aCurrTrans->getStartTime()-aCurrTime;
-    if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-        myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>\n";
+    bool isBlankTooBig = false;
+    std::ostringstream tempString;
+    int tempBlanks;
+    if(aBlanks >= 250) {
+        int newBlanks = 20;
+        tempBlanks = aBlanks;
+        tempReduce += aBlanks - newBlanks;
+        aBlanks = newBlanks;
+        isBlankTooBig = true;
+    }
+    if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+
+        listScale.push_back(aBlanks+1);
+        tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+        if (isBlankTooBig){
+            myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+        } else {
+            myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>\n";
+        }
+    }
     else if (aBlanks>0){
-      if (aBlanks==1)
-        myfile << "<td title=\"idle time\" class=\"not\"></td>\n";
-      else
-        myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
+      listScale.push_back(aBlanks);
+      tempString << tempBlanks;
+	  if(aCurrTrans->getStartTime() > listScaleTime.back()){
+          listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if (isBlankTooBig){
+          myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+      } else {
+          if (aBlanks==1)
+            myfile << "<td title=\"idle time\" class=\"not\"></td>\n";
+          else
+            myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
+      }
     }
-    
+
     aLength=aCurrTrans->getPenalties();
-    
+
     if (aLength!=0){
+      listScale.push_back(aLength);
+      listScaleTime.push_back(listScaleTime.back()+aLength);
       if (aLength==1){
         //myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t15\"></td>\n";
         //myfile << "<td title=\" idle:" << aCurrTrans->getIdlePenalty() << " switch:" << aCurrTrans->getTaskSwitchingPenalty() << " bran:" << aCurrTrans->getBranchingPenalty() << "\" class=\"t15\"></td>\n";
@@ -458,6 +495,14 @@ void MultiCoreCPU::schedule2HTML(std::ofstream& myfile) const{
         myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
       else
         myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
+
+      listScale.push_back(aLength);
+      if(aCurrTrans->getStartTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if(aCurrTrans->getEndTime() > listScaleTime.back()){
+        listScaleTime.push_back(aCurrTrans->getEndTime());
+      }
     }
 
 
@@ -466,9 +511,22 @@ void MultiCoreCPU::schedule2HTML(std::ofstream& myfile) const{
   }
   //std::cout << "acurrTime: " << aCurrTime << std::endl;
   myfile << "</tr>\n<tr>";
-  for(aLength=0;aLength<aCurrTime;aLength++) myfile << "<th></th>";
+  for(aLength=0;aLength<aCurrTime - tempReduce;aLength++) myfile << "<th></th>";
   myfile << "</tr>\n<tr>";
-  for(aLength=0;aLength<aCurrTime;aLength+=5) myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
+  for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
+    std::ostringstream spanVal;
+    if(aLength < listScaleTime.size())
+      spanVal << listScaleTime[aLength];
+    else
+      spanVal << "";
+    if(aLength+1 >= listScale.size()){
+      myfile << "<td colspan=\"5\" class=\"sc\">" << spanVal.str() << "</td>";
+    }else {
+      myfile << "<td colspan=\"" << listScale[aLength+1] << "\" class=\"sc\">" << spanVal.str() << "</td>";
+    }
+    //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
+  }
+//  for(aLength=0;aLength<aCurrTime;aLength+=5) myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
   myfile << "</tr>\n</table>\n<table>\n<tr>";
   for(TaskList::const_iterator j=_taskList.begin(); j != _taskList.end(); ++j){
     if ((*j) != NULL) {
diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
index aa28883ed14cc5f2b2b2fcbf45ad8fb7da86fcea..e89f9bae109855e0c0e6de13720876191cdc24c7 100644
--- a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
@@ -315,7 +315,11 @@ void SchedulableDevice::HW2HTML(std::ofstream& myfile) const {
     std::map<TMLTask*, std::string> taskCellClasses;
     unsigned int nextCellClassIndex = 0;
     TMLTime aCurrTime = 0;
-
+    unsigned int tempReduce = 0;
+    std::vector<unsigned int> listScale;
+    std::vector<unsigned int> listScaleTime;
+    listScale.push_back(0);
+    listScaleTime.push_back(0);
     for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
       std::cout<<"get transaction core number is: "<<(*i)->getTransactCoreNumber()<<std::endl;
       std::cout<<"time : "<<_cycleTime<<std::endl;
@@ -323,16 +327,47 @@ void SchedulableDevice::HW2HTML(std::ofstream& myfile) const {
       //if( (*i)->getTransactCoreNumber() == this->_cycleTime ){
       TMLTransaction* aCurrTrans = *i;
       unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
-
-      if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-          writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
-      else if ( aBlanks > 0 )
-          writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+	bool isBlankTooBig = false;
+	std::ostringstream tempString;
+	int tempBlanks;
+	if(aBlanks >= 250) {
+	    int newBlanks = 20;
+	    tempBlanks = aBlanks;
+	    tempReduce += aBlanks - newBlanks;
+	    aBlanks = newBlanks;
+	    isBlankTooBig = true;
+	}
+	if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+	    listScale.push_back(aBlanks+1);
+	    tempString << tempBlanks+1;
+	    if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+        }
+	    if (isBlankTooBig){
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+	    } else {
+	        writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+	    }
+	}
+	else if ( aBlanks > 0 ){
+	    listScale.push_back(aBlanks);
+	    tempString << tempBlanks;
+	    if(aCurrTrans->getStartTime() > listScaleTime.back()){
+            listScaleTime.push_back(aCurrTrans->getStartTime());
+        }
+	    if (isBlankTooBig){
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+        } else {
+            writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+        }
+	}
 
       unsigned int aLength = aCurrTrans->getPenalties();
 
       if ( aLength != 0 ) {
 	std::ostringstream title;
+    listScale.push_back(aLength);
+    listScaleTime.push_back(listScaleTime.back()+aLength);
 	title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
 	writeHTMLColumn( myfile, aLength, "not", title.str() );
       }
@@ -347,7 +382,13 @@ void SchedulableDevice::HW2HTML(std::ofstream& myfile) const {
       std::string aCurrContent=aCurrTransName.substr(indexTrans+1,2);
      
       writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent);
-
+      listScale.push_back(aLength);
+      if(aCurrTrans->getStartTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getStartTime());
+      }
+      if(aCurrTrans->getEndTime() > listScaleTime.back()){
+         listScaleTime.push_back(aCurrTrans->getEndTime());
+      }
       aCurrTime = aCurrTrans->getEndTime();
       // }
     }
@@ -355,16 +396,23 @@ void SchedulableDevice::HW2HTML(std::ofstream& myfile) const {
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
       myfile << "<th></th>";
     }
 
     myfile << "</tr>" << std::endl << "<tr>";
 
-    for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+    for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
       std::ostringstream spanVal;
-      spanVal << aLength;
-      writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      if(aLength < listScaleTime.size())
+        spanVal << listScaleTime[aLength];
+      else
+        spanVal << "";
+      if(aLength+1 >= listScale.size()){
+        writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+      }else {
+        writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+      }
       //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
     }
 
@@ -394,7 +442,11 @@ void SchedulableDevice::schedule2HTML(std::ofstream& myfile) const {
 		std::map<TMLTask*, std::string> taskCellClasses;
 		unsigned int nextCellClassIndex = 0;
 		TMLTime aCurrTime = 0;
-
+        unsigned int tempReduce = 0;
+        std::vector<unsigned int> listScale;
+        std::vector<unsigned int> listScaleTime;
+        listScale.push_back(0);
+        listScaleTime.push_back(0);
 		for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
 		  std::cout<<"get transaction core number is: "<<(*i)->getTransactCoreNumber()<<std::endl;
 		  std::cout<<"time : "<<_cycleTime<<std::endl;
@@ -402,16 +454,47 @@ void SchedulableDevice::schedule2HTML(std::ofstream& myfile) const {
 		  //if( (*i)->getTransactCoreNumber() == this->_cycleTime ){
 			TMLTransaction* aCurrTrans = *i;
 			unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
-
-            if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) )
-                writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
-            else if ( aBlanks > 0 )
-                writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+            bool isBlankTooBig = false;
+            std::ostringstream tempString;
+            int tempBlanks;
+            if(aBlanks >= 250) {
+                int newBlanks = 20;
+                tempBlanks = aBlanks;
+                tempReduce += aBlanks - newBlanks;
+                aBlanks = newBlanks;
+                isBlankTooBig = true;
+            }
+            if ( aBlanks >= 0 && (!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction()) ){
+                listScale.push_back(aBlanks+1);
+                tempString << tempBlanks+1;
+     	        if(aCurrTrans->getStartTime()+1 > listScaleTime.back()){
+                    listScaleTime.push_back(aCurrTrans->getStartTime()+1);
+                }
+                if (isBlankTooBig){
+                    writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+                } else {
+                    writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
+                }
+            }
+            else if ( aBlanks > 0 ){
+                listScale.push_back(aBlanks);
+                tempString << tempBlanks;
+                if(aCurrTrans->getStartTime() > listScaleTime.back()){
+                    listScaleTime.push_back(aCurrTrans->getStartTime());
+                }
+                if (isBlankTooBig){
+                    writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
+                } else {
+                    writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+                }
+            }
 
 			unsigned int aLength = aCurrTrans->getPenalties();
 
 			if ( aLength != 0 ) {
 				std::ostringstream title;
+                listScale.push_back(aLength);
+                listScaleTime.push_back(listScaleTime.back()+aLength);
 				title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
 				writeHTMLColumn( myfile, aLength, "not", title.str() );
 			}
@@ -423,6 +506,13 @@ void SchedulableDevice::schedule2HTML(std::ofstream& myfile) const {
 			const std::string cellClass = determineHTMLCellClass( taskCellClasses, task, nextCellClassIndex );
             if(!(!(aCurrTrans->getCommand()->getActiveDelay()) && aCurrTrans->getCommand()->isDelayTransaction())){
               writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString() );
+              listScale.push_back(aLength);
+              if(aCurrTrans->getStartTime() > listScaleTime.back()){
+                 listScaleTime.push_back(aCurrTrans->getStartTime());
+              }
+              if(aCurrTrans->getEndTime() > listScaleTime.back()){
+                listScaleTime.push_back(aCurrTrans->getEndTime());
+              }
             }
 
 			aCurrTime = aCurrTrans->getEndTime();
@@ -432,16 +522,23 @@ void SchedulableDevice::schedule2HTML(std::ofstream& myfile) const {
 
 		myfile << "</tr>" << std::endl << "<tr>";
 
-		for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+		for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce; aLength++ ) {
 			myfile << "<th></th>";
 		}
 
 		myfile << "</tr>" << std::endl << "<tr>";
 
-		for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
-			std::ostringstream spanVal;
-			spanVal << aLength;
-			writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+        for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
+          std::ostringstream spanVal;
+          if(aLength < listScaleTime.size())
+            spanVal << listScaleTime[aLength];
+          else
+            spanVal << "";
+          if(aLength+1 >= listScale.size()){
+            writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+          }else {
+            writeHTMLColumn( myfile, listScale[aLength+1], "sc", "", spanVal.str(), false );
+          }
 			//myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
 		}
 
diff --git a/simulators/c++2/src_simulator/definitions.h b/simulators/c++2/src_simulator/definitions.h
index 78da097e3014fb3cbd561f5def01d7a3b7f33b7f..7d56da2891bd30ecdcb3149639b95a94f1bee546 100644
--- a/simulators/c++2/src_simulator/definitions.h
+++ b/simulators/c++2/src_simulator/definitions.h
@@ -338,6 +338,7 @@ th{\n \
 .sc{\n \
 	border-style: none;\n \
 	padding: 0px;\n \
+	font-size: small;\n \
 }\n \
 h2 {\n \
 	border-bottom: 1px solid #666;\n \
diff --git a/ttool/src/test/java/tmltranslator/HTMLParseTest.java b/ttool/src/test/java/tmltranslator/HTMLParseTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..95a88a67483345235d662de623f5f68d6b5f4584
--- /dev/null
+++ b/ttool/src/test/java/tmltranslator/HTMLParseTest.java
@@ -0,0 +1,217 @@
+package tmltranslator;
+
+import common.ConfigurationTTool;
+import common.SpecConfigTTool;
+import graph.AUTGraph;
+import myutil.FileUtils;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import req.ebrdd.EBRDD;
+import tepe.TEPE;
+import tmltranslator.tomappingsystemc2.DiploSimulatorFactory;
+import tmltranslator.tomappingsystemc2.IDiploSimulatorCodeGenerator;
+import tmltranslator.tomappingsystemc2.Penalties;
+import ui.AbstractUITest;
+import ui.TDiagramPanel;
+import ui.TMLArchiPanel;
+import ui.TURTLEPanel;
+import ui.tmldd.TMLArchiDiagramPanel;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertTrue;
+
+public class HTMLParseTest extends AbstractUITest {
+    final String DIR_GEN = "test_diplo_simulator/";
+    final String [] MODELS_PARSE_HTML = {"parseFPGA_HTML", "parseCPU1_HTML","parseCPU2_HTML"};
+    final String [] PARSE_FPGA = {"","<- idle 358 ->", "", "<- idle 351 ->", ""};
+    final String [] PARSE_SINGLE_CORE = {"<- idle 366 ->", "<- idle 401 ->", "<- idle 401 ->", "<- idle 401 ->", "<- idle 401 ->"};
+    final String [] PARSE_MULTI_CORE = { "", "", "<- idle 374 ->", "<- idle 401 ->", "<- idle 401 ->"};
+    private String SIM_DIR;
+    @BeforeClass
+    public static void setUpBeforeClass() throws Exception {
+        RESOURCES_DIR = getBaseResourcesDir() + "/tmltranslator/simulator/";
+
+    }
+
+    public HTMLParseTest() {
+        super();
+        //mainGUI.openProjectFromFile(new File(RESOURCES_DIR));
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        SIM_DIR = getBaseResourcesDir() + "../../../../simulators/c++2/";
+    }
+
+    @Test
+    public void testParseHTML() throws Exception {
+        for (int i = 0; i < MODELS_PARSE_HTML.length; i++) {
+            String s = MODELS_PARSE_HTML[i];
+            SIM_DIR = DIR_GEN + s + "/";
+            System.out.println("executing: checking syntax " + s);
+            // select architecture tab
+            mainGUI.openProjectFromFile(new File(RESOURCES_DIR + s + ".xml"));
+            for(TURTLEPanel _tab : mainGUI.getTabs()) {
+                if(_tab instanceof TMLArchiPanel) {
+                    for (TDiagramPanel tdp : _tab.getPanels()) {
+                        if (tdp instanceof TMLArchiDiagramPanel) {
+                            mainGUI.selectTab(tdp);
+                            break;
+                        }
+                    }
+                    break;
+                }
+            }
+            mainGUI.checkModelingSyntax(true);
+            TMLMapping tmap = mainGUI.gtm.getTMLMapping();
+            TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap);
+            syntax.checkSyntax();
+            assertTrue(syntax.hasErrors() == 0);
+            // Generate SystemC code
+            System.out.println("executing: sim code gen for " + s);
+            final IDiploSimulatorCodeGenerator tml2systc;
+            List<EBRDD> al = new ArrayList<EBRDD>();
+            List<TEPE> alTepe = new ArrayList<TEPE>();
+            tml2systc = DiploSimulatorFactory.INSTANCE.createCodeGenerator(tmap, al, alTepe);
+            tml2systc.setModelName(s);
+            String error = tml2systc.generateSystemC(false, true);
+            assertTrue(error == null);
+
+            File directory = new File(SIM_DIR);
+            if (!directory.exists()) {
+                directory.mkdirs();
+            }
+
+            // Putting sim files
+            System.out.println("SIM executing: sim lib code copying for " + s);
+            ConfigurationTTool.SystemCCodeDirectory = getBaseResourcesDir() + "../../../../simulators/c++2/";
+            boolean simFiles = SpecConfigTTool.checkAndCreateSystemCDir(SIM_DIR);
+
+            System.out.println("SIM executing: sim lib code copying done with result " + simFiles);
+            assertTrue(simFiles);
+
+            System.out.println("SIM Saving file in: " + SIM_DIR);
+            tml2systc.saveFile(SIM_DIR, "appmodel");
+
+            // Compile it
+            System.out.println("executing: compile");
+            Process proc;
+            BufferedReader proc_in;
+            String str;
+            boolean mustRecompileAll;
+            Penalties penalty = new Penalties(SIM_DIR  + "src_simulator");
+            int changed = penalty.handlePenalties(false);
+
+            if (changed == 1) {
+                mustRecompileAll = true;
+            } else {
+                mustRecompileAll = false;
+            }
+
+            if (mustRecompileAll) {
+                System.out.println("executing: " + "make -C " + SIM_DIR + " clean");
+                try {
+                    proc = Runtime.getRuntime().exec("make -C " + SIM_DIR + " clean");
+                    proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+                    while ((str = proc_in.readLine()) != null) {
+                        // TraceManager.addDev( "Sending " + str + " from " + port + " to client..." );
+                        System.out.println("executing: " + str);
+                    }
+                } catch (Exception e) {
+                    // probably make is not installed
+                    System.out.println("FAILED: executing: " + "make -C " + SIM_DIR + " clean");
+                    return;
+                }
+            }
+
+            System.out.println("executing: " + "make -C " + SIM_DIR);
+            try {
+
+                proc = Runtime.getRuntime().exec("make -C " + SIM_DIR + "");
+                proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+
+                monitorError(proc);
+
+                while ((str = proc_in.readLine()) != null) {
+                    // TraceManager.addDev( "Sending " + str + " from " + port + " to client..." );
+                    System.out.println("executing: " + str);
+                }
+            } catch (Exception e) {
+                // Probably make is not installed
+                System.out.println("FAILED: executing: " + "make -C " + SIM_DIR);
+                return;
+            }
+            System.out.println("SUCCESS: executing: " + "make -C " + SIM_DIR);
+
+            // Run the simulator
+            String graphPath = SIM_DIR + "testgraph_" + s;
+            try {
+
+                String[] params = new String[3];
+
+                params[0] = "./" + SIM_DIR + "run.x";
+                params[1] = "-cmd";
+                params[2] = "1 0; 7 1 " + graphPath;
+                proc = Runtime.getRuntime().exec(params);
+                //proc = Runtime.getRuntime().exec("./" + SIM_DIR + "run.x -explo -gname testgraph_" + s);
+                proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+
+                monitorError(proc);
+
+                while ((str = proc_in.readLine()) != null) {
+                    // TraceManager.addDev( "Sending " + str + " from " + port + " to client..." );
+                    System.out.println("executing: " + str);
+                }
+            } catch (Exception e) {
+                // Probably make is not installed
+                System.out.println("FAILED: executing simulation");
+                return;
+            }
+
+            // Compare results with expected ones
+            // Must load the graph
+            Document htmlFile = null;
+            try {
+                htmlFile = Jsoup.parse(new File(graphPath + ".html"), "ISO-8859-1");
+            } catch (IOException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            } // right
+            Elements div = htmlFile.select("td.not");
+            System.out.println("executing: nb elements of " + s + " " + div.size());
+//            assertTrue(NB_Of_DELAY_STATES[i] == graph.getNbOfStates());
+            switch (i){
+                case 0:
+                    for (int j = 0; j < 5; j++) {
+                        System.out.println("executing " + s + ": " + div.get(j).text());
+                        assertTrue(PARSE_FPGA[j].equals(div.get(j).text()));
+                    }
+                    break;
+                case 1:
+                    for (int j = 0; j < 5; j++) {
+                        System.out.println("executing " + s + ": " + div.get(j).text());
+                        assertTrue(PARSE_SINGLE_CORE[j].equals(div.get(j).text()));
+                    }
+                    break;
+                default:
+                    for (int j = 0; j < 5; j++) {
+                        System.out.println("executing " + s + ": " + div.get(j).text());
+                        assertTrue(PARSE_MULTI_CORE[j].equals(div.get(j).text()));
+                    }
+                    break;
+            }
+
+        }
+    }
+}
diff --git a/ttool/src/test/resources/tmltranslator/simulator/parseCPU1_HTML.xml b/ttool/src/test/resources/tmltranslator/simulator/parseCPU1_HTML.xml
new file mode 100644
index 0000000000000000000000000000000000000000..de1fb79d88d404e1de5dd09547e0debf883b5399
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/simulator/parseCPU1_HTML.xml
@@ -0,0 +1,731 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="true" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0">
+
+<Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$Task1$Task2$Task3$Task4$Task5" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1" >
+<cdparam x="357" y="686" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="357" y="686" id="22" />
+<P2  x="635" y="683" id="11" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="10" >
+<cdparam x="628" y="177" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task5" />
+<TGConnectingPoint num="0" id="2" />
+<TGConnectingPoint num="1" id="3" />
+<TGConnectingPoint num="2" id="4" />
+<TGConnectingPoint num="3" id="5" />
+<TGConnectingPoint num="4" id="6" />
+<TGConnectingPoint num="5" id="7" />
+<TGConnectingPoint num="6" id="8" />
+<TGConnectingPoint num="7" id="9" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="21" >
+<cdparam x="648" y="615" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task4" />
+<TGConnectingPoint num="0" id="13" />
+<TGConnectingPoint num="1" id="14" />
+<TGConnectingPoint num="2" id="15" />
+<TGConnectingPoint num="3" id="16" />
+<TGConnectingPoint num="4" id="17" />
+<TGConnectingPoint num="5" id="18" />
+<TGConnectingPoint num="6" id="19" />
+<TGConnectingPoint num="7" id="20" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="12" >
+<father id="21" num="0" />
+<cdparam x="635" y="670" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel ch" />
+<TGConnectingPoint num="0" id="11" />
+<extraparam>
+<Prop commName="ch" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="32" >
+<cdparam x="144" y="606" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task3" />
+<TGConnectingPoint num="0" id="24" />
+<TGConnectingPoint num="1" id="25" />
+<TGConnectingPoint num="2" id="26" />
+<TGConnectingPoint num="3" id="27" />
+<TGConnectingPoint num="4" id="28" />
+<TGConnectingPoint num="5" id="29" />
+<TGConnectingPoint num="6" id="30" />
+<TGConnectingPoint num="7" id="31" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="23" >
+<father id="32" num="0" />
+<cdparam x="331" y="673" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel ch" />
+<TGConnectingPoint num="0" id="22" />
+<extraparam>
+<Prop commName="ch" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="41" >
+<cdparam x="145" y="119" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task1" />
+<TGConnectingPoint num="0" id="33" />
+<TGConnectingPoint num="1" id="34" />
+<TGConnectingPoint num="2" id="35" />
+<TGConnectingPoint num="3" id="36" />
+<TGConnectingPoint num="4" id="37" />
+<TGConnectingPoint num="5" id="38" />
+<TGConnectingPoint num="6" id="39" />
+<TGConnectingPoint num="7" id="40" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="50" >
+<cdparam x="151" y="358" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task2" />
+<TGConnectingPoint num="0" id="42" />
+<TGConnectingPoint num="1" id="43" />
+<TGConnectingPoint num="2" id="44" />
+<TGConnectingPoint num="3" id="45" />
+<TGConnectingPoint num="4" id="46" />
+<TGConnectingPoint num="5" id="47" />
+<TGConnectingPoint num="6" id="48" />
+<TGConnectingPoint num="7" id="49" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task1" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="52" >
+<cdparam x="408" y="191" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="51" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="56" >
+<cdparam x="404" y="114" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="54" />
+<TGConnectingPoint num="1" id="55" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="53" >
+<father id="56" num="0" />
+<cdparam x="419" y="134" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="58" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="57" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="59" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="57" />
+<P2  x="409" y="109" id="54" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="60" >
+<cdparam x="409" y="149" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="409" y="149" id="55" />
+<P2  x="418" y="186" id="51" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task2" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="62" >
+<cdparam x="418" y="144" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="61" />
+</COMPONENT>
+
+<COMPONENT type="1020" id="66" >
+<cdparam x="378" y="98" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="5" />
+<TGConnectingPoint num="0" id="63" />
+<TGConnectingPoint num="1" id="64" />
+<TGConnectingPoint num="2" id="65" />
+</COMPONENT>
+
+<COMPONENT type="1026" id="70" >
+<cdparam x="563" y="159" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delay" value="null" />
+<TGConnectingPoint num="0" id="68" />
+<TGConnectingPoint num="1" id="69" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="67" >
+<father id="70" num="0" />
+<cdparam x="578" y="179" />
+<sizeparam width="28" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="2 us" />
+<extraparam>
+<TimeDelay minDelay="2" maxDelay="nope" hasMaxDelay="false" isActiveDelay="false" unit="us" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1001" id="72" >
+<cdparam x="601" y="341" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="71" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="76" >
+<cdparam x="574" y="233" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="74" />
+<TGConnectingPoint num="1" id="75" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="73" >
+<father id="76" num="0" />
+<cdparam x="589" y="253" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="78" >
+<cdparam x="361" y="57" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="77" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="79" >
+<cdparam x="466" y="112" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="468" y="112" id="64" />
+<P2  x="568" y="154" id="68" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="80" >
+<cdparam x="555" y="158" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="568" y="194" id="69" />
+<P2  x="579" y="228" id="74" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="81" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="368" y="77" id="77" />
+<P2  x="423" y="93" id="63" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="82" >
+<cdparam x="551" y="166" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="579" y="268" id="75" />
+<P2  x="611" y="336" id="71" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="83" >
+<cdparam x="423" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="423" y="123" id="65" />
+<P2  x="428" y="139" id="61" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task3" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="85" >
+<cdparam x="392" y="170" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="84" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="88" >
+<cdparam x="369" y="103" />
+<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="ch(5)" />
+<TGConnectingPoint num="0" id="86" />
+<TGConnectingPoint num="1" id="87" />
+<extraparam>
+<Data channelName="ch" nbOfSamples="5" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="90" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="89" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="91" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="89" />
+<P2  x="404" y="98" id="86" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="92" >
+<cdparam x="404" y="128" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="404" y="128" id="87" />
+<P2  x="402" y="165" id="84" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task4" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="94" >
+<cdparam x="393" y="163" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="93" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="97" >
+<cdparam x="376" y="108" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="ch(5) " />
+<TGConnectingPoint num="0" id="95" />
+<TGConnectingPoint num="1" id="96" />
+<extraparam>
+<Data channelName="ch" nbOfSamples="5" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="99" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="98" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="100" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="98" />
+<P2  x="413" y="103" id="95" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="101" >
+<cdparam x="413" y="133" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="413" y="133" id="96" />
+<P2  x="403" y="158" id="93" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task5" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="103" >
+<cdparam x="418" y="144" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="102" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="107" >
+<cdparam x="413" y="88" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="104" >
+<father id="107" num="0" />
+<cdparam x="428" y="108" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="109" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="108" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="110" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="108" />
+<P2  x="418" y="83" id="105" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="111" >
+<cdparam x="418" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="418" y="123" id="106" />
+<P2  x="428" y="139" id="102" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Architecture" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" zoom="1.0" >
+<CONNECTOR type="125" id="260" >
+<cdparam x="331" y="391" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="331" y="391" id="245" />
+<P2  x="484" y="366" id="217" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<COMPONENT type="1100" id="235" >
+<cdparam x="61" y="391" />
+<sizeparam width="360" height="287" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU0" value="name" />
+<TGConnectingPoint num="0" id="236" />
+<TGConnectingPoint num="1" id="237" />
+<TGConnectingPoint num="2" id="238" />
+<TGConnectingPoint num="3" id="239" />
+<TGConnectingPoint num="4" id="240" />
+<TGConnectingPoint num="5" id="241" />
+<TGConnectingPoint num="6" id="242" />
+<TGConnectingPoint num="7" id="243" />
+<TGConnectingPoint num="8" id="244" />
+<TGConnectingPoint num="9" id="245" />
+<TGConnectingPoint num="10" id="246" />
+<TGConnectingPoint num="11" id="247" />
+<TGConnectingPoint num="12" id="248" />
+<TGConnectingPoint num="13" id="249" />
+<TGConnectingPoint num="14" id="250" />
+<TGConnectingPoint num="15" id="251" />
+<TGConnectingPoint num="16" id="252" />
+<TGConnectingPoint num="17" id="253" />
+<TGConnectingPoint num="18" id="254" />
+<TGConnectingPoint num="19" id="255" />
+<TGConnectingPoint num="20" id="256" />
+<TGConnectingPoint num="21" id="257" />
+<TGConnectingPoint num="22" id="258" />
+<TGConnectingPoint num="23" id="259" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU0" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="156" >
+<father id="235" num="0" />
+<cdparam x="61" y="638" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task4" />
+<TGConnectingPoint num="0" id="148" />
+<TGConnectingPoint num="1" id="149" />
+<TGConnectingPoint num="2" id="150" />
+<TGConnectingPoint num="3" id="151" />
+<TGConnectingPoint num="4" id="152" />
+<TGConnectingPoint num="5" id="153" />
+<TGConnectingPoint num="6" id="154" />
+<TGConnectingPoint num="7" id="155" />
+<extraparam>
+<info value="Application::Task4" taskName="Task4" referenceTaskName="Application" priority="0" operationMEC="Task4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="120" >
+<father id="235" num="1" />
+<cdparam x="272" y="639" />
+<sizeparam width="149" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="248" />
+<infoparam name="TGComponent" value="Application::Task5" />
+<TGConnectingPoint num="0" id="112" />
+<TGConnectingPoint num="1" id="113" />
+<TGConnectingPoint num="2" id="114" />
+<TGConnectingPoint num="3" id="115" />
+<TGConnectingPoint num="4" id="116" />
+<TGConnectingPoint num="5" id="117" />
+<TGConnectingPoint num="6" id="118" />
+<TGConnectingPoint num="7" id="119" />
+<extraparam>
+<info value="Application::Task5" taskName="Task5" referenceTaskName="Application" priority="0" operationMEC="Task5" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="147" >
+<father id="235" num="2" />
+<cdparam x="168" y="533" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task3" />
+<TGConnectingPoint num="0" id="139" />
+<TGConnectingPoint num="1" id="140" />
+<TGConnectingPoint num="2" id="141" />
+<TGConnectingPoint num="3" id="142" />
+<TGConnectingPoint num="4" id="143" />
+<TGConnectingPoint num="5" id="144" />
+<TGConnectingPoint num="6" id="145" />
+<TGConnectingPoint num="7" id="146" />
+<extraparam>
+<info value="Application::Task3" taskName="Task3" referenceTaskName="Application" priority="0" operationMEC="Task3" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="129" >
+<father id="235" num="3" />
+<cdparam x="272" y="435" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task2" />
+<TGConnectingPoint num="0" id="121" />
+<TGConnectingPoint num="1" id="122" />
+<TGConnectingPoint num="2" id="123" />
+<TGConnectingPoint num="3" id="124" />
+<TGConnectingPoint num="4" id="125" />
+<TGConnectingPoint num="5" id="126" />
+<TGConnectingPoint num="6" id="127" />
+<TGConnectingPoint num="7" id="128" />
+<extraparam>
+<info value="Application::Task2" taskName="Task2" referenceTaskName="Application" priority="0" operationMEC="Task2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="138" >
+<father id="235" num="4" />
+<cdparam x="61" y="436" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task1" />
+<TGConnectingPoint num="0" id="130" />
+<TGConnectingPoint num="1" id="131" />
+<TGConnectingPoint num="2" id="132" />
+<TGConnectingPoint num="3" id="133" />
+<TGConnectingPoint num="4" id="134" />
+<TGConnectingPoint num="5" id="135" />
+<TGConnectingPoint num="6" id="136" />
+<TGConnectingPoint num="7" id="137" />
+<extraparam>
+<info value="Application::Task1" taskName="Task1" referenceTaskName="Application" priority="0" operationMEC="Task1" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1105" id="206" >
+<cdparam x="735" y="107" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="182" />
+<TGConnectingPoint num="1" id="183" />
+<TGConnectingPoint num="2" id="184" />
+<TGConnectingPoint num="3" id="185" />
+<TGConnectingPoint num="4" id="186" />
+<TGConnectingPoint num="5" id="187" />
+<TGConnectingPoint num="6" id="188" />
+<TGConnectingPoint num="7" id="189" />
+<TGConnectingPoint num="8" id="190" />
+<TGConnectingPoint num="9" id="191" />
+<TGConnectingPoint num="10" id="192" />
+<TGConnectingPoint num="11" id="193" />
+<TGConnectingPoint num="12" id="194" />
+<TGConnectingPoint num="13" id="195" />
+<TGConnectingPoint num="14" id="196" />
+<TGConnectingPoint num="15" id="197" />
+<TGConnectingPoint num="16" id="198" />
+<TGConnectingPoint num="17" id="199" />
+<TGConnectingPoint num="18" id="200" />
+<TGConnectingPoint num="19" id="201" />
+<TGConnectingPoint num="20" id="202" />
+<TGConnectingPoint num="21" id="203" />
+<TGConnectingPoint num="22" id="204" />
+<TGConnectingPoint num="23" id="205" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="231" >
+<cdparam x="484" y="354" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="207" />
+<TGConnectingPoint num="1" id="208" />
+<TGConnectingPoint num="2" id="209" />
+<TGConnectingPoint num="3" id="210" />
+<TGConnectingPoint num="4" id="211" />
+<TGConnectingPoint num="5" id="212" />
+<TGConnectingPoint num="6" id="213" />
+<TGConnectingPoint num="7" id="214" />
+<TGConnectingPoint num="8" id="215" />
+<TGConnectingPoint num="9" id="216" />
+<TGConnectingPoint num="10" id="217" />
+<TGConnectingPoint num="11" id="218" />
+<TGConnectingPoint num="12" id="219" />
+<TGConnectingPoint num="13" id="220" />
+<TGConnectingPoint num="14" id="221" />
+<TGConnectingPoint num="15" id="222" />
+<TGConnectingPoint num="16" id="223" />
+<TGConnectingPoint num="17" id="224" />
+<TGConnectingPoint num="18" id="225" />
+<TGConnectingPoint num="19" id="226" />
+<TGConnectingPoint num="20" id="227" />
+<TGConnectingPoint num="21" id="228" />
+<TGConnectingPoint num="22" id="229" />
+<TGConnectingPoint num="23" id="230" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="233" >
+<cdparam x="759" y="279" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="735" y="307" id="187" />
+<P2  x="671" y="354" id="216" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file
diff --git a/ttool/src/test/resources/tmltranslator/simulator/parseCPU2_HTML.xml b/ttool/src/test/resources/tmltranslator/simulator/parseCPU2_HTML.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e045b8d90b8fc5063f47c80994f36c40c3babe31
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/simulator/parseCPU2_HTML.xml
@@ -0,0 +1,731 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="true" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0">
+
+<Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$Task1$Task2$Task3$Task4$Task5" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1" >
+<cdparam x="357" y="686" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="357" y="686" id="22" />
+<P2  x="635" y="683" id="11" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="10" >
+<cdparam x="628" y="177" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task5" />
+<TGConnectingPoint num="0" id="2" />
+<TGConnectingPoint num="1" id="3" />
+<TGConnectingPoint num="2" id="4" />
+<TGConnectingPoint num="3" id="5" />
+<TGConnectingPoint num="4" id="6" />
+<TGConnectingPoint num="5" id="7" />
+<TGConnectingPoint num="6" id="8" />
+<TGConnectingPoint num="7" id="9" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="21" >
+<cdparam x="648" y="615" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task4" />
+<TGConnectingPoint num="0" id="13" />
+<TGConnectingPoint num="1" id="14" />
+<TGConnectingPoint num="2" id="15" />
+<TGConnectingPoint num="3" id="16" />
+<TGConnectingPoint num="4" id="17" />
+<TGConnectingPoint num="5" id="18" />
+<TGConnectingPoint num="6" id="19" />
+<TGConnectingPoint num="7" id="20" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="12" >
+<father id="21" num="0" />
+<cdparam x="635" y="670" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel ch" />
+<TGConnectingPoint num="0" id="11" />
+<extraparam>
+<Prop commName="ch" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="32" >
+<cdparam x="144" y="606" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task3" />
+<TGConnectingPoint num="0" id="24" />
+<TGConnectingPoint num="1" id="25" />
+<TGConnectingPoint num="2" id="26" />
+<TGConnectingPoint num="3" id="27" />
+<TGConnectingPoint num="4" id="28" />
+<TGConnectingPoint num="5" id="29" />
+<TGConnectingPoint num="6" id="30" />
+<TGConnectingPoint num="7" id="31" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="23" >
+<father id="32" num="0" />
+<cdparam x="331" y="673" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel ch" />
+<TGConnectingPoint num="0" id="22" />
+<extraparam>
+<Prop commName="ch" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="41" >
+<cdparam x="145" y="119" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task1" />
+<TGConnectingPoint num="0" id="33" />
+<TGConnectingPoint num="1" id="34" />
+<TGConnectingPoint num="2" id="35" />
+<TGConnectingPoint num="3" id="36" />
+<TGConnectingPoint num="4" id="37" />
+<TGConnectingPoint num="5" id="38" />
+<TGConnectingPoint num="6" id="39" />
+<TGConnectingPoint num="7" id="40" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="50" >
+<cdparam x="151" y="358" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task2" />
+<TGConnectingPoint num="0" id="42" />
+<TGConnectingPoint num="1" id="43" />
+<TGConnectingPoint num="2" id="44" />
+<TGConnectingPoint num="3" id="45" />
+<TGConnectingPoint num="4" id="46" />
+<TGConnectingPoint num="5" id="47" />
+<TGConnectingPoint num="6" id="48" />
+<TGConnectingPoint num="7" id="49" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task1" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="52" >
+<cdparam x="408" y="191" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="51" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="56" >
+<cdparam x="404" y="114" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="54" />
+<TGConnectingPoint num="1" id="55" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="53" >
+<father id="56" num="0" />
+<cdparam x="419" y="134" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="58" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="57" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="59" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="57" />
+<P2  x="409" y="109" id="54" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="60" >
+<cdparam x="409" y="149" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="409" y="149" id="55" />
+<P2  x="418" y="186" id="51" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task2" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="62" >
+<cdparam x="418" y="144" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="61" />
+</COMPONENT>
+
+<COMPONENT type="1020" id="66" >
+<cdparam x="378" y="98" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="5" />
+<TGConnectingPoint num="0" id="63" />
+<TGConnectingPoint num="1" id="64" />
+<TGConnectingPoint num="2" id="65" />
+</COMPONENT>
+
+<COMPONENT type="1026" id="70" >
+<cdparam x="563" y="159" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delay" value="null" />
+<TGConnectingPoint num="0" id="68" />
+<TGConnectingPoint num="1" id="69" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="67" >
+<father id="70" num="0" />
+<cdparam x="578" y="179" />
+<sizeparam width="28" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="2 us" />
+<extraparam>
+<TimeDelay minDelay="2" maxDelay="nope" hasMaxDelay="false" isActiveDelay="false" unit="us" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1001" id="72" >
+<cdparam x="601" y="341" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="71" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="76" >
+<cdparam x="574" y="233" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="74" />
+<TGConnectingPoint num="1" id="75" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="73" >
+<father id="76" num="0" />
+<cdparam x="589" y="253" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="78" >
+<cdparam x="361" y="57" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="77" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="79" >
+<cdparam x="466" y="112" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="468" y="112" id="64" />
+<P2  x="568" y="154" id="68" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="80" >
+<cdparam x="555" y="158" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="568" y="194" id="69" />
+<P2  x="579" y="228" id="74" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="81" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="368" y="77" id="77" />
+<P2  x="423" y="93" id="63" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="82" >
+<cdparam x="551" y="166" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="579" y="268" id="75" />
+<P2  x="611" y="336" id="71" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="83" >
+<cdparam x="423" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="423" y="123" id="65" />
+<P2  x="428" y="139" id="61" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task3" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="85" >
+<cdparam x="392" y="170" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="84" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="88" >
+<cdparam x="369" y="103" />
+<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="ch(5)" />
+<TGConnectingPoint num="0" id="86" />
+<TGConnectingPoint num="1" id="87" />
+<extraparam>
+<Data channelName="ch" nbOfSamples="5" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="90" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="89" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="91" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="89" />
+<P2  x="404" y="98" id="86" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="92" >
+<cdparam x="404" y="128" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="404" y="128" id="87" />
+<P2  x="402" y="165" id="84" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task4" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="94" >
+<cdparam x="393" y="163" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="93" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="97" >
+<cdparam x="376" y="108" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="ch(5) " />
+<TGConnectingPoint num="0" id="95" />
+<TGConnectingPoint num="1" id="96" />
+<extraparam>
+<Data channelName="ch" nbOfSamples="5" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="99" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="98" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="100" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="98" />
+<P2  x="413" y="103" id="95" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="101" >
+<cdparam x="413" y="133" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="413" y="133" id="96" />
+<P2  x="403" y="158" id="93" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task5" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="103" >
+<cdparam x="418" y="144" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="102" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="107" >
+<cdparam x="413" y="88" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="104" >
+<father id="107" num="0" />
+<cdparam x="428" y="108" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="109" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="108" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="110" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="108" />
+<P2  x="418" y="83" id="105" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="111" >
+<cdparam x="418" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="418" y="123" id="106" />
+<P2  x="428" y="139" id="102" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Architecture" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" zoom="1.0" >
+<CONNECTOR type="125" id="260" >
+<cdparam x="331" y="391" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="331" y="391" id="245" />
+<P2  x="484" y="366" id="217" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<COMPONENT type="1100" id="235" >
+<cdparam x="61" y="391" />
+<sizeparam width="360" height="287" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU0" value="name" />
+<TGConnectingPoint num="0" id="236" />
+<TGConnectingPoint num="1" id="237" />
+<TGConnectingPoint num="2" id="238" />
+<TGConnectingPoint num="3" id="239" />
+<TGConnectingPoint num="4" id="240" />
+<TGConnectingPoint num="5" id="241" />
+<TGConnectingPoint num="6" id="242" />
+<TGConnectingPoint num="7" id="243" />
+<TGConnectingPoint num="8" id="244" />
+<TGConnectingPoint num="9" id="245" />
+<TGConnectingPoint num="10" id="246" />
+<TGConnectingPoint num="11" id="247" />
+<TGConnectingPoint num="12" id="248" />
+<TGConnectingPoint num="13" id="249" />
+<TGConnectingPoint num="14" id="250" />
+<TGConnectingPoint num="15" id="251" />
+<TGConnectingPoint num="16" id="252" />
+<TGConnectingPoint num="17" id="253" />
+<TGConnectingPoint num="18" id="254" />
+<TGConnectingPoint num="19" id="255" />
+<TGConnectingPoint num="20" id="256" />
+<TGConnectingPoint num="21" id="257" />
+<TGConnectingPoint num="22" id="258" />
+<TGConnectingPoint num="23" id="259" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU0" />
+<attributes nbOfCores="2" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="156" >
+<father id="235" num="0" />
+<cdparam x="61" y="638" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task4" />
+<TGConnectingPoint num="0" id="148" />
+<TGConnectingPoint num="1" id="149" />
+<TGConnectingPoint num="2" id="150" />
+<TGConnectingPoint num="3" id="151" />
+<TGConnectingPoint num="4" id="152" />
+<TGConnectingPoint num="5" id="153" />
+<TGConnectingPoint num="6" id="154" />
+<TGConnectingPoint num="7" id="155" />
+<extraparam>
+<info value="Application::Task4" taskName="Task4" referenceTaskName="Application" priority="0" operationMEC="Task4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="120" >
+<father id="235" num="1" />
+<cdparam x="272" y="639" />
+<sizeparam width="149" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="248" />
+<infoparam name="TGComponent" value="Application::Task5" />
+<TGConnectingPoint num="0" id="112" />
+<TGConnectingPoint num="1" id="113" />
+<TGConnectingPoint num="2" id="114" />
+<TGConnectingPoint num="3" id="115" />
+<TGConnectingPoint num="4" id="116" />
+<TGConnectingPoint num="5" id="117" />
+<TGConnectingPoint num="6" id="118" />
+<TGConnectingPoint num="7" id="119" />
+<extraparam>
+<info value="Application::Task5" taskName="Task5" referenceTaskName="Application" priority="0" operationMEC="Task5" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="147" >
+<father id="235" num="2" />
+<cdparam x="168" y="533" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task3" />
+<TGConnectingPoint num="0" id="139" />
+<TGConnectingPoint num="1" id="140" />
+<TGConnectingPoint num="2" id="141" />
+<TGConnectingPoint num="3" id="142" />
+<TGConnectingPoint num="4" id="143" />
+<TGConnectingPoint num="5" id="144" />
+<TGConnectingPoint num="6" id="145" />
+<TGConnectingPoint num="7" id="146" />
+<extraparam>
+<info value="Application::Task3" taskName="Task3" referenceTaskName="Application" priority="0" operationMEC="Task3" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="129" >
+<father id="235" num="3" />
+<cdparam x="272" y="435" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task2" />
+<TGConnectingPoint num="0" id="121" />
+<TGConnectingPoint num="1" id="122" />
+<TGConnectingPoint num="2" id="123" />
+<TGConnectingPoint num="3" id="124" />
+<TGConnectingPoint num="4" id="125" />
+<TGConnectingPoint num="5" id="126" />
+<TGConnectingPoint num="6" id="127" />
+<TGConnectingPoint num="7" id="128" />
+<extraparam>
+<info value="Application::Task2" taskName="Task2" referenceTaskName="Application" priority="0" operationMEC="Task2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="138" >
+<father id="235" num="4" />
+<cdparam x="61" y="436" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="211" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="Application::Task1" />
+<TGConnectingPoint num="0" id="130" />
+<TGConnectingPoint num="1" id="131" />
+<TGConnectingPoint num="2" id="132" />
+<TGConnectingPoint num="3" id="133" />
+<TGConnectingPoint num="4" id="134" />
+<TGConnectingPoint num="5" id="135" />
+<TGConnectingPoint num="6" id="136" />
+<TGConnectingPoint num="7" id="137" />
+<extraparam>
+<info value="Application::Task1" taskName="Task1" referenceTaskName="Application" priority="0" operationMEC="Task1" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1105" id="206" >
+<cdparam x="735" y="107" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="182" />
+<TGConnectingPoint num="1" id="183" />
+<TGConnectingPoint num="2" id="184" />
+<TGConnectingPoint num="3" id="185" />
+<TGConnectingPoint num="4" id="186" />
+<TGConnectingPoint num="5" id="187" />
+<TGConnectingPoint num="6" id="188" />
+<TGConnectingPoint num="7" id="189" />
+<TGConnectingPoint num="8" id="190" />
+<TGConnectingPoint num="9" id="191" />
+<TGConnectingPoint num="10" id="192" />
+<TGConnectingPoint num="11" id="193" />
+<TGConnectingPoint num="12" id="194" />
+<TGConnectingPoint num="13" id="195" />
+<TGConnectingPoint num="14" id="196" />
+<TGConnectingPoint num="15" id="197" />
+<TGConnectingPoint num="16" id="198" />
+<TGConnectingPoint num="17" id="199" />
+<TGConnectingPoint num="18" id="200" />
+<TGConnectingPoint num="19" id="201" />
+<TGConnectingPoint num="20" id="202" />
+<TGConnectingPoint num="21" id="203" />
+<TGConnectingPoint num="22" id="204" />
+<TGConnectingPoint num="23" id="205" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="231" >
+<cdparam x="484" y="354" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="207" />
+<TGConnectingPoint num="1" id="208" />
+<TGConnectingPoint num="2" id="209" />
+<TGConnectingPoint num="3" id="210" />
+<TGConnectingPoint num="4" id="211" />
+<TGConnectingPoint num="5" id="212" />
+<TGConnectingPoint num="6" id="213" />
+<TGConnectingPoint num="7" id="214" />
+<TGConnectingPoint num="8" id="215" />
+<TGConnectingPoint num="9" id="216" />
+<TGConnectingPoint num="10" id="217" />
+<TGConnectingPoint num="11" id="218" />
+<TGConnectingPoint num="12" id="219" />
+<TGConnectingPoint num="13" id="220" />
+<TGConnectingPoint num="14" id="221" />
+<TGConnectingPoint num="15" id="222" />
+<TGConnectingPoint num="16" id="223" />
+<TGConnectingPoint num="17" id="224" />
+<TGConnectingPoint num="18" id="225" />
+<TGConnectingPoint num="19" id="226" />
+<TGConnectingPoint num="20" id="227" />
+<TGConnectingPoint num="21" id="228" />
+<TGConnectingPoint num="22" id="229" />
+<TGConnectingPoint num="23" id="230" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="233" >
+<cdparam x="759" y="279" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="735" y="307" id="187" />
+<P2  x="671" y="354" id="216" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file
diff --git a/ttool/src/test/resources/tmltranslator/simulator/parseFPGA_HTML.xml b/ttool/src/test/resources/tmltranslator/simulator/parseFPGA_HTML.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f548cb914cb5d68f415d33f9d4e9c88157805a1
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/simulator/parseFPGA_HTML.xml
@@ -0,0 +1,731 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="true" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0">
+
+<Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$Task1$Task2$Task3$Task4$Task5" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1" >
+<cdparam x="357" y="686" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="357" y="686" id="22" />
+<P2  x="635" y="683" id="11" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="10" >
+<cdparam x="628" y="177" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task5" />
+<TGConnectingPoint num="0" id="2" />
+<TGConnectingPoint num="1" id="3" />
+<TGConnectingPoint num="2" id="4" />
+<TGConnectingPoint num="3" id="5" />
+<TGConnectingPoint num="4" id="6" />
+<TGConnectingPoint num="5" id="7" />
+<TGConnectingPoint num="6" id="8" />
+<TGConnectingPoint num="7" id="9" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="21" >
+<cdparam x="648" y="615" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task4" />
+<TGConnectingPoint num="0" id="13" />
+<TGConnectingPoint num="1" id="14" />
+<TGConnectingPoint num="2" id="15" />
+<TGConnectingPoint num="3" id="16" />
+<TGConnectingPoint num="4" id="17" />
+<TGConnectingPoint num="5" id="18" />
+<TGConnectingPoint num="6" id="19" />
+<TGConnectingPoint num="7" id="20" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="12" >
+<father id="21" num="0" />
+<cdparam x="635" y="670" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel ch" />
+<TGConnectingPoint num="0" id="11" />
+<extraparam>
+<Prop commName="ch" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="32" >
+<cdparam x="144" y="606" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task3" />
+<TGConnectingPoint num="0" id="24" />
+<TGConnectingPoint num="1" id="25" />
+<TGConnectingPoint num="2" id="26" />
+<TGConnectingPoint num="3" id="27" />
+<TGConnectingPoint num="4" id="28" />
+<TGConnectingPoint num="5" id="29" />
+<TGConnectingPoint num="6" id="30" />
+<TGConnectingPoint num="7" id="31" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="23" >
+<father id="32" num="0" />
+<cdparam x="331" y="673" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel ch" />
+<TGConnectingPoint num="0" id="22" />
+<extraparam>
+<Prop commName="ch" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="41" >
+<cdparam x="145" y="119" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task1" />
+<TGConnectingPoint num="0" id="33" />
+<TGConnectingPoint num="1" id="34" />
+<TGConnectingPoint num="2" id="35" />
+<TGConnectingPoint num="3" id="36" />
+<TGConnectingPoint num="4" id="37" />
+<TGConnectingPoint num="5" id="38" />
+<TGConnectingPoint num="6" id="39" />
+<TGConnectingPoint num="7" id="40" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="50" >
+<cdparam x="151" y="358" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task2" />
+<TGConnectingPoint num="0" id="42" />
+<TGConnectingPoint num="1" id="43" />
+<TGConnectingPoint num="2" id="44" />
+<TGConnectingPoint num="3" id="45" />
+<TGConnectingPoint num="4" id="46" />
+<TGConnectingPoint num="5" id="47" />
+<TGConnectingPoint num="6" id="48" />
+<TGConnectingPoint num="7" id="49" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task1" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="52" >
+<cdparam x="408" y="191" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="51" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="56" >
+<cdparam x="404" y="114" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="54" />
+<TGConnectingPoint num="1" id="55" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="53" >
+<father id="56" num="0" />
+<cdparam x="419" y="134" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="58" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="57" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="59" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="57" />
+<P2  x="409" y="109" id="54" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="60" >
+<cdparam x="409" y="149" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="409" y="149" id="55" />
+<P2  x="418" y="186" id="51" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task2" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="62" >
+<cdparam x="418" y="144" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="61" />
+</COMPONENT>
+
+<COMPONENT type="1020" id="66" >
+<cdparam x="378" y="98" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="5" />
+<TGConnectingPoint num="0" id="63" />
+<TGConnectingPoint num="1" id="64" />
+<TGConnectingPoint num="2" id="65" />
+</COMPONENT>
+
+<COMPONENT type="1026" id="70" >
+<cdparam x="563" y="159" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delay" value="null" />
+<TGConnectingPoint num="0" id="68" />
+<TGConnectingPoint num="1" id="69" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="67" >
+<father id="70" num="0" />
+<cdparam x="578" y="179" />
+<sizeparam width="28" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5 ns" />
+<extraparam>
+<TimeDelay minDelay="5" maxDelay="nope" hasMaxDelay="false" isActiveDelay="false" unit="ns" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1001" id="72" >
+<cdparam x="601" y="341" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="71" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="76" >
+<cdparam x="574" y="233" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="74" />
+<TGConnectingPoint num="1" id="75" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="73" >
+<father id="76" num="0" />
+<cdparam x="589" y="253" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="78" >
+<cdparam x="361" y="57" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="77" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="79" >
+<cdparam x="466" y="112" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="468" y="112" id="64" />
+<P2  x="568" y="154" id="68" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="80" >
+<cdparam x="555" y="158" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="568" y="194" id="69" />
+<P2  x="579" y="228" id="74" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="81" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="368" y="77" id="77" />
+<P2  x="423" y="93" id="63" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="82" >
+<cdparam x="551" y="166" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="579" y="268" id="75" />
+<P2  x="611" y="336" id="71" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="83" >
+<cdparam x="423" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="423" y="123" id="65" />
+<P2  x="428" y="139" id="61" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task3" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="85" >
+<cdparam x="392" y="170" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="84" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="88" >
+<cdparam x="369" y="103" />
+<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="ch(5)" />
+<TGConnectingPoint num="0" id="86" />
+<TGConnectingPoint num="1" id="87" />
+<extraparam>
+<Data channelName="ch" nbOfSamples="5" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="90" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="89" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="91" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="89" />
+<P2  x="404" y="98" id="86" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="92" >
+<cdparam x="404" y="128" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="404" y="128" id="87" />
+<P2  x="402" y="165" id="84" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task4" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="94" >
+<cdparam x="393" y="163" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="93" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="97" >
+<cdparam x="376" y="108" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="ch(5) " />
+<TGConnectingPoint num="0" id="95" />
+<TGConnectingPoint num="1" id="96" />
+<extraparam>
+<Data channelName="ch" nbOfSamples="5" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="99" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="98" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="100" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="98" />
+<P2  x="413" y="103" id="95" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="101" >
+<cdparam x="413" y="133" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="413" y="133" id="96" />
+<P2  x="403" y="158" id="93" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task5" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="1001" id="103" >
+<cdparam x="418" y="144" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="102" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="107" >
+<cdparam x="413" y="88" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="104" >
+<father id="107" num="0" />
+<cdparam x="428" y="108" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="5" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="109" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="108" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="110" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="108" />
+<P2  x="418" y="83" id="105" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="111" >
+<cdparam x="418" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="418" y="123" id="106" />
+<P2  x="428" y="139" id="102" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Architecture" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" zoom="1.0" >
+<COMPONENT type="1116" id="181" >
+<cdparam x="116" y="61" />
+<sizeparam width="362" height="255" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="FPGA0" value="name" />
+<TGConnectingPoint num="0" id="157" />
+<TGConnectingPoint num="1" id="158" />
+<TGConnectingPoint num="2" id="159" />
+<TGConnectingPoint num="3" id="160" />
+<TGConnectingPoint num="4" id="161" />
+<TGConnectingPoint num="5" id="162" />
+<TGConnectingPoint num="6" id="163" />
+<TGConnectingPoint num="7" id="164" />
+<TGConnectingPoint num="8" id="165" />
+<TGConnectingPoint num="9" id="166" />
+<TGConnectingPoint num="10" id="167" />
+<TGConnectingPoint num="11" id="168" />
+<TGConnectingPoint num="12" id="169" />
+<TGConnectingPoint num="13" id="170" />
+<TGConnectingPoint num="14" id="171" />
+<TGConnectingPoint num="15" id="172" />
+<TGConnectingPoint num="16" id="173" />
+<TGConnectingPoint num="17" id="174" />
+<TGConnectingPoint num="18" id="175" />
+<TGConnectingPoint num="19" id="176" />
+<TGConnectingPoint num="20" id="177" />
+<TGConnectingPoint num="21" id="178" />
+<TGConnectingPoint num="22" id="179" />
+<TGConnectingPoint num="23" id="180" />
+<extraparam>
+<info stereotype="FPGA" nodeName="FPGA0" />
+<attributes capacity="100" byteDataSize="4"  mappingPenalty="0"  reconfigurationTime="50"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  execiTime="1" execcTime="1" clockRatio="1" operation =""  scheduling ="Task1,Task2;Task4;Task3;Task5" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="120" >
+<father id="181" num="0" />
+<cdparam x="329" y="277" />
+<sizeparam width="149" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="213" minY="0" maxY="216" />
+<infoparam name="TGComponent" value="Application::Task5" />
+<TGConnectingPoint num="0" id="112" />
+<TGConnectingPoint num="1" id="113" />
+<TGConnectingPoint num="2" id="114" />
+<TGConnectingPoint num="3" id="115" />
+<TGConnectingPoint num="4" id="116" />
+<TGConnectingPoint num="5" id="117" />
+<TGConnectingPoint num="6" id="118" />
+<TGConnectingPoint num="7" id="119" />
+<extraparam>
+<info value="Application::Task5" taskName="Task5" referenceTaskName="Application" priority="0" operationMEC="Task5" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="129" >
+<father id="181" num="1" />
+<cdparam x="329" y="120" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="213" minY="0" maxY="215" />
+<infoparam name="TGComponent" value="Application::Task2" />
+<TGConnectingPoint num="0" id="121" />
+<TGConnectingPoint num="1" id="122" />
+<TGConnectingPoint num="2" id="123" />
+<TGConnectingPoint num="3" id="124" />
+<TGConnectingPoint num="4" id="125" />
+<TGConnectingPoint num="5" id="126" />
+<TGConnectingPoint num="6" id="127" />
+<TGConnectingPoint num="7" id="128" />
+<extraparam>
+<info value="Application::Task2" taskName="Task2" referenceTaskName="Application" priority="0" operationMEC="Task2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="138" >
+<father id="181" num="2" />
+<cdparam x="117" y="120" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="213" minY="0" maxY="215" />
+<infoparam name="TGComponent" value="Application::Task1" />
+<TGConnectingPoint num="0" id="130" />
+<TGConnectingPoint num="1" id="131" />
+<TGConnectingPoint num="2" id="132" />
+<TGConnectingPoint num="3" id="133" />
+<TGConnectingPoint num="4" id="134" />
+<TGConnectingPoint num="5" id="135" />
+<TGConnectingPoint num="6" id="136" />
+<TGConnectingPoint num="7" id="137" />
+<extraparam>
+<info value="Application::Task1" taskName="Task1" referenceTaskName="Application" priority="0" operationMEC="Task1" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="147" >
+<father id="181" num="3" />
+<cdparam x="219" y="189" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="213" minY="0" maxY="215" />
+<infoparam name="TGComponent" value="Application::Task3" />
+<TGConnectingPoint num="0" id="139" />
+<TGConnectingPoint num="1" id="140" />
+<TGConnectingPoint num="2" id="141" />
+<TGConnectingPoint num="3" id="142" />
+<TGConnectingPoint num="4" id="143" />
+<TGConnectingPoint num="5" id="144" />
+<TGConnectingPoint num="6" id="145" />
+<TGConnectingPoint num="7" id="146" />
+<extraparam>
+<info value="Application::Task3" taskName="Task3" referenceTaskName="Application" priority="0" operationMEC="Task3" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="156" >
+<father id="181" num="4" />
+<cdparam x="116" y="276" />
+<sizeparam width="149" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="213" minY="0" maxY="215" />
+<infoparam name="TGComponent" value="Application::Task4" />
+<TGConnectingPoint num="0" id="148" />
+<TGConnectingPoint num="1" id="149" />
+<TGConnectingPoint num="2" id="150" />
+<TGConnectingPoint num="3" id="151" />
+<TGConnectingPoint num="4" id="152" />
+<TGConnectingPoint num="5" id="153" />
+<TGConnectingPoint num="6" id="154" />
+<TGConnectingPoint num="7" id="155" />
+<extraparam>
+<info value="Application::Task4" taskName="Task4" referenceTaskName="Application" priority="0" operationMEC="Task4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1105" id="206" >
+<cdparam x="735" y="107" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="182" />
+<TGConnectingPoint num="1" id="183" />
+<TGConnectingPoint num="2" id="184" />
+<TGConnectingPoint num="3" id="185" />
+<TGConnectingPoint num="4" id="186" />
+<TGConnectingPoint num="5" id="187" />
+<TGConnectingPoint num="6" id="188" />
+<TGConnectingPoint num="7" id="189" />
+<TGConnectingPoint num="8" id="190" />
+<TGConnectingPoint num="9" id="191" />
+<TGConnectingPoint num="10" id="192" />
+<TGConnectingPoint num="11" id="193" />
+<TGConnectingPoint num="12" id="194" />
+<TGConnectingPoint num="13" id="195" />
+<TGConnectingPoint num="14" id="196" />
+<TGConnectingPoint num="15" id="197" />
+<TGConnectingPoint num="16" id="198" />
+<TGConnectingPoint num="17" id="199" />
+<TGConnectingPoint num="18" id="200" />
+<TGConnectingPoint num="19" id="201" />
+<TGConnectingPoint num="20" id="202" />
+<TGConnectingPoint num="21" id="203" />
+<TGConnectingPoint num="22" id="204" />
+<TGConnectingPoint num="23" id="205" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="231" >
+<cdparam x="484" y="354" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="207" />
+<TGConnectingPoint num="1" id="208" />
+<TGConnectingPoint num="2" id="209" />
+<TGConnectingPoint num="3" id="210" />
+<TGConnectingPoint num="4" id="211" />
+<TGConnectingPoint num="5" id="212" />
+<TGConnectingPoint num="6" id="213" />
+<TGConnectingPoint num="7" id="214" />
+<TGConnectingPoint num="8" id="215" />
+<TGConnectingPoint num="9" id="216" />
+<TGConnectingPoint num="10" id="217" />
+<TGConnectingPoint num="11" id="218" />
+<TGConnectingPoint num="12" id="219" />
+<TGConnectingPoint num="13" id="220" />
+<TGConnectingPoint num="14" id="221" />
+<TGConnectingPoint num="15" id="222" />
+<TGConnectingPoint num="16" id="223" />
+<TGConnectingPoint num="17" id="224" />
+<TGConnectingPoint num="18" id="225" />
+<TGConnectingPoint num="19" id="226" />
+<TGConnectingPoint num="20" id="227" />
+<TGConnectingPoint num="21" id="228" />
+<TGConnectingPoint num="22" id="229" />
+<TGConnectingPoint num="23" id="230" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="232" >
+<cdparam x="471" y="225" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="478" y="252" id="170" />
+<P2  x="546" y="354" id="215" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="233" >
+<cdparam x="759" y="279" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="735" y="307" id="187" />
+<P2  x="671" y="354" id="216" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file