diff --git a/GUI/coregui/Models/SimulationDataModel.cpp b/GUI/coregui/Models/SimulationDataModel.cpp
index edfe48695d5636db0029b8ac699ccb1e5d3eb8cd..83ad33f9813eefceabea2ea46c3889cd7435dee0 100644
--- a/GUI/coregui/Models/SimulationDataModel.cpp
+++ b/GUI/coregui/Models/SimulationDataModel.cpp
@@ -42,3 +42,10 @@ void SimulationDataModel::addSimulationParameters(QString name, SimulationParame
         m_simulation_parameters.insert(name, p_simulation_parameters);
     }
 }
+
+void SimulationDataModel::addJob(QString name, JobModel *p_job)
+{
+    if (!m_jobs.contains(name)) {
+        m_jobs.insert(name, p_job);
+    }
+}
diff --git a/GUI/coregui/Models/SimulationDataModel.h b/GUI/coregui/Models/SimulationDataModel.h
index 68b93ae760c2c61ec303cd414d56ccf97311dba7..276d1cf94d0ba87e505a6b56747d8f3f11222d1e 100644
--- a/GUI/coregui/Models/SimulationDataModel.h
+++ b/GUI/coregui/Models/SimulationDataModel.h
@@ -19,6 +19,7 @@
 #include "ISampleBuilder.h"
 #include "Instrument.h"
 #include "SimulationParameters.h"
+#include "JobModel.h"
 
 #include <QMap>
 #include <QString>
@@ -50,6 +51,10 @@ public:
     //! \return a list containing the SimulationParamters objects
     QMap<QString, SimulationParameters*> getSimulationParameterList() { return m_simulation_parameters; }
 
+    //! retrieve a list of the started jobs
+    //! \return a list containing the started jobs
+    QMap<QString, JobModel*> getJobs() { return m_jobs; }
+
     //! add sample to sample list
     void addSample(QString name, ISample *p_sample);
 
@@ -64,11 +69,15 @@ public:
 
     //! add simulation parameters to list
     void addSimulationParameters(QString name, SimulationParameters *p_simulation_parameters);
+
+    //! add job to list
+    void addJob(QString name, JobModel *p_job);
 private:
     QMap<QString, ISample*> m_samples;
     QMap<QString, ISampleBuilder*> m_sample_builders;
     QMap<QString, Instrument*> m_instruments;
     QMap<QString, SimulationParameters*> m_simulation_parameters;
+    QMap<QString, JobModel*> m_jobs;
 };
 
 
diff --git a/GUI/coregui/Views/SimulationView.cpp b/GUI/coregui/Views/SimulationView.cpp
index 8983dc34f794a437fac0781e5223b92b9da92f53..6160c1c4e2ccc7de3142685454c8e3a00e683355 100644
--- a/GUI/coregui/Views/SimulationView.cpp
+++ b/GUI/coregui/Views/SimulationView.cpp
@@ -15,6 +15,7 @@
 #include <QMessageBox>
 #include <QFileDialog>
 #include <QDir>
+#include <QDateTime>
 
 SimulationView::SimulationView(SimulationDataModel *p_simulation_data_model, QWidget *parent)
     : QWidget(parent)
@@ -116,6 +117,7 @@ void SimulationView::onRunSimulation()
     p_sim->setInstrument(*p_instrument);
     JobModel *p_new_job = new JobModel(p_sim);
     connect(p_new_job, SIGNAL(finished()), this, SLOT(onJobFinished()));
+    mp_simulation_data_model->addJob(getUniqueJobName(), p_new_job);
     p_new_job->start();
     // initialize a Simulation object and run it
     QMessageBox::information(this, tr("Simulation Started"),
@@ -152,3 +154,9 @@ void SimulationView::onJobFinished()
     QMessageBox::information(this, tr("Simulation Job Finished"),
                              tr("A simulation job has finished."));
 }
+
+QString SimulationView::getUniqueJobName() const
+{
+    QString result = QDateTime::currentDateTime().toString("yyyy.MM.dd_hh:mm:ss");
+    return result;
+}
diff --git a/GUI/coregui/Views/SimulationView.h b/GUI/coregui/Views/SimulationView.h
index 0d7e18d003dc2c19b0c1ba56ef17366ddcbce9be..deccbfd33349a8b8002f0ead86422c572a5d0774 100644
--- a/GUI/coregui/Views/SimulationView.h
+++ b/GUI/coregui/Views/SimulationView.h
@@ -2,6 +2,7 @@
 #define SIMULATIONVIEW_H
 
 #include <QWidget>
+#include <QString>
 
 class SimulationDataModel;
 class QComboBox;
@@ -21,6 +22,7 @@ public slots:
     void onJobFinished();
 
 private:
+    QString getUniqueJobName() const;
     SimulationDataModel *mp_simulation_data_model;
     QComboBox *instrumentSelectionBox;
     QComboBox *sampleSelectionBox;