diff --git a/simulators/c++2/src_simulator/arch/OrderScheduler.cpp b/simulators/c++2/src_simulator/arch/OrderScheduler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ef5ca41d56aceb64c40132fbd902e8c66c997e22
--- /dev/null
+++ b/simulators/c++2/src_simulator/arch/OrderScheduler.cpp
@@ -0,0 +1,94 @@
+/*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Niu Siyuan,
+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<OrderScheduler.h>
+#include <TMLTransaction.h>
+
+OrderScheduler::OrderScheduler(const std::string& iName, Priority iPrio): WorkloadSource(iPrio), _name(iName), _nextTransaction(0) {
+}
+
+OrderScheduler::OrderScheduler(const std::string& iName, Priority iPrio, WorkloadSource** aSourceArray, unsigned int iNbOfSources): WorkloadSource(iPrio, aSourceArray, iNbOfSources), _name(iName), _nextTransaction(0), _lastSource(0) {
+}
+
+TMLTime OrderScheduler::schedule(TMLTime iEndSchedule){
+	TaskList::iterator i;
+	TMLTransaction *aMarkerPast=0, *aMarkerFuture=0,*aTempTrans;
+	TMLTime aTransTimeFuture=-1,aRunnableTime;
+	WorkloadSource *aSourcePast=0, *aSourceFuture=0;  //NEW
+	for(WorkloadList::iterator i=_workloadList.begin(); i != _workloadList.end(); ++i){
+		(*i)->schedule(iEndSchedule);
+		aTempTrans=(*i)->getNextTransaction(iEndSchedule);
+		if (aTempTrans!=0 && aTempTrans->getVirtualLength()!=0){
+			aRunnableTime=aTempTrans->getRunnableTime();	
+			if (aRunnableTime<=iEndSchedule){
+			  //Past
+
+			  aMarkerPast=aTempTrans;
+			  aSourcePast=*i; //NEW
+		        
+			}else{
+			  //Future
+		        
+			  aTransTimeFuture=aRunnableTime;
+			  aMarkerFuture=aTempTrans;
+			  aSourceFuture=*i; //NEW
+		        
+				
+			}
+		}
+		     
+	}
+	if (aMarkerPast==0){
+		_nextTransaction=aMarkerFuture;
+		_lastSource=aSourceFuture; //NEW
+	}else{
+		_nextTransaction=aMarkerPast;
+		_lastSource=aSourcePast; //NEW
+	}
+	return 0;
+}
+
+OrderScheduler::~OrderScheduler(){
+	std::cout << _name << ": Scheduler deleted\n";
+}
+
+void OrderScheduler::reset(){
+	WorkloadSource::reset();
+	_nextTransaction=0;
+}
diff --git a/simulators/c++2/src_simulator/arch/OrderScheduler.h b/simulators/c++2/src_simulator/arch/OrderScheduler.h
new file mode 100644
index 0000000000000000000000000000000000000000..6c0888f3802f60d8d0913d0b84d65260a34b3f76
--- /dev/null
+++ b/simulators/c++2/src_simulator/arch/OrderScheduler.h
@@ -0,0 +1,77 @@
+/*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Niu Siyuan,
+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 PrioSchedulerH
+#define PrioSchedulerH
+#include <WorkloadSource.h>
+
+class TMLTransaction;
+
+///Fixed priority based scheduler
+class OrderScheduler: public WorkloadSource{
+public:
+	///Constructor
+    	/**
+	\param iName Name of the scheduler
+      	\param iPrio Priority of the scheduler
+    	*/
+	OrderScheduler(const std::string& iName, Priority iPrio);
+	///Constructor
+    	/**
+	\param iName Name of the scheduler
+      	\param iPrio Priority of the scheduler
+	\param aSourceArray Array of pointers to workload ressources from which transactions may be received
+	\param iNbOfSources Length of the array
+    	*/
+	OrderScheduler(const std::string& iName, Priority iPrio, WorkloadSource** aSourceArray, unsigned int iNbOfSources);
+	~OrderScheduler();
+	TMLTime schedule(TMLTime iEndSchedule);
+	inline TMLTransaction* getNextTransaction(TMLTime iEndSchedule) const {return _nextTransaction;}
+	inline std::string toString() const {return _name;}
+	void reset();
+	//void transWasScheduled(SchedulableDevice* iDevice);
+protected:
+	///Name of the scheduler
+	std::string _name;
+	///Next transaction to be executed
+	TMLTransaction* _nextTransaction;
+	///Last workload source to which ressource access was granted
+	WorkloadSource* _lastSource;
+};
+#endif