diff --git a/simulators/c++2/src_simulator/app/TMLActionCommand.cpp b/simulators/c++2/src_simulator/app/TMLActionCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLActionCommand.h b/simulators/c++2/src_simulator/app/TMLActionCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLChannel.cpp b/simulators/c++2/src_simulator/app/TMLChannel.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLChannel.h b/simulators/c++2/src_simulator/app/TMLChannel.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLChoiceCommand.cpp b/simulators/c++2/src_simulator/app/TMLChoiceCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLChoiceCommand.h b/simulators/c++2/src_simulator/app/TMLChoiceCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLCommand.cpp b/simulators/c++2/src_simulator/app/TMLCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLCommand.h b/simulators/c++2/src_simulator/app/TMLCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLDelayCommand.cpp b/simulators/c++2/src_simulator/app/TMLDelayCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLDelayCommand.h b/simulators/c++2/src_simulator/app/TMLDelayCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLExeccCommand.cpp b/simulators/c++2/src_simulator/app/TMLExeccCommand.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..a76faedc97037ed73bb87b049d5c5b582dd1cad8
--- /dev/null
+++ b/simulators/c++2/src_simulator/app/TMLExeccCommand.cpp
@@ -0,0 +1,96 @@
+/*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
+Ludovic Apvrille, Renaud Pacalet
+ *
+ * ludovic.apvrille AT telecom-paristech.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ *
+ */
+
+#include <TMLExeciCommand.h>
+#include <TMLTask.h>
+#include <TMLTransaction.h>
+
+
+TMLExeciCommand::TMLExeciCommand(ID iID, TMLTask* iTask, LengthFuncPointer iLengthFunc, unsigned int iExecType, TMLLength iStatLength, const char* iLiveVarList, bool iCheckpoint): TMLCommand(iID, iTask, 1, 1, iLiveVarList, iCheckpoint), _lengthFunc(iLengthFunc), _execType(iExecType){
+	_length=iStatLength;
+	_type=EXE;
+}
+
+void TMLExeciCommand::execute(){
+	//std::cout << "execi: " << _currTransaction->toShortString() << std::endl;
+	_progress+=_currTransaction->getVirtualLength();
+	_task->addTransaction(_currTransaction);
+	//std::cout << "Execi execute prepare" << std::endl;
+	prepare(false);
+}
+
+TMLCommand* TMLExeciCommand::prepareNextTransaction(){
+	//std::cout << _ID << " prepare execi: " << _length << std::endl;
+	if (_progress==0){
+		if (_lengthFunc!=0) _length = (_task->*_lengthFunc)();
+		if (_length==0){
+			//std::cout << "ExeciCommand len==0 " << std::endl;
+			TMLCommand* aNextCommand=getNextCommand();
+			_task->setCurrCommand(aNextCommand);
+			if (aNextCommand!=0) return aNextCommand->prepare(false);
+		}
+	}
+
+	//_currTransaction = ::new (&transBuffer) TMLTransaction(this, _length-_progress,_task->getEndLastTransaction());
+	_currTransaction = new TMLTransaction(this, _length-_progress,_task->getEndLastTransaction());
+	//std::cout << "new fails? " << _currTransaction->toString() << std::endl;
+	return this;
+}
+
+std::string TMLExeciCommand::toString() const{
+	std::ostringstream outp;
+	if (_execType == 0) {
+	  outp << "Execi in " << TMLCommand::toString();
+	} else {
+	  outp << "Execc in " << TMLCommand::toString();
+	}
+	return outp.str();
+}
+
+std::string TMLExeciCommand::toShortString() const{
+	std::ostringstream outp;
+	if (_execType == 0) {
+	  outp << _task->toString() << ": Execi " << _length;
+	} else {
+	  outp << _task->toString() << ": Execc " << _length;
+	}
+	return outp.str();
+}
+
diff --git a/simulators/c++2/src_simulator/app/TMLExeccCommand.h b/simulators/c++2/src_simulator/app/TMLExeccCommand.h
new file mode 100644
index 0000000000000000000000000000000000000000..0b748822e8035298b4fcb2036976f59acafd8258
--- /dev/null
+++ b/simulators/c++2/src_simulator/app/TMLExeccCommand.h
@@ -0,0 +1,75 @@
+/*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
+Ludovic Apvrille, Renaud Pacalet
+ *
+ * ludovic.apvrille AT telecom-paristech.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ *
+ */
+
+#ifndef TMLExeciCommandH
+#define TMLExeciCommandH
+
+#include <definitions.h>
+#include <TMLCommand.h>
+
+
+///This class models the computational complexity of an algorithm
+class TMLExeciCommand:public TMLCommand{
+public:
+	///Constructor
+    	/**
+	\param iID ID of the command
+      	\param iTask Pointer to the task the command belongs to
+	\param iLengthFunc Pointer to the function returning the length of the command
+	\param iType Exec Type (ExecI, ExecC,...)
+	\param iStatLength Static length of command if applicable
+	\param iLiveVarList Bitmap of live variables
+	\param iCheckpoint Checkpoint Flag
+    	*/
+	TMLExeciCommand(ID iID, TMLTask* iTask, LengthFuncPointer iLengthFunc, unsigned int iType, TMLLength iStatLength, const char* iLiveVarList, bool iCheckpoint);
+	void execute();
+	//TMLTask* getDependentTask() const;
+	std::string toString() const;
+	std::string toShortString() const;
+	inline std::string getCommandStr() const {return "exe";}
+protected:
+	TMLCommand* prepareNextTransaction();
+	///Pointer to the function returning the length of the command
+	LengthFuncPointer _lengthFunc;
+	///Type of command: EXECI, EXECC
+	unsigned int _execType;
+};
+
+#endif
diff --git a/simulators/c++2/src_simulator/app/TMLExeciCommand.cpp b/simulators/c++2/src_simulator/app/TMLExeciCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLExeciCommand.h b/simulators/c++2/src_simulator/app/TMLExeciCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLReadCommand.cpp b/simulators/c++2/src_simulator/app/TMLReadCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLReadCommand.h b/simulators/c++2/src_simulator/app/TMLReadCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLTask.cpp b/simulators/c++2/src_simulator/app/TMLTask.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLTask.h b/simulators/c++2/src_simulator/app/TMLTask.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLWriteCommand.cpp b/simulators/c++2/src_simulator/app/TMLWriteCommand.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLWriteCommand.h b/simulators/c++2/src_simulator/app/TMLWriteCommand.h
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLbrbwChannel.cpp b/simulators/c++2/src_simulator/app/TMLbrbwChannel.cpp
old mode 100755
new mode 100644
diff --git a/simulators/c++2/src_simulator/app/TMLbrbwChannel.h b/simulators/c++2/src_simulator/app/TMLbrbwChannel.h
old mode 100755
new mode 100644