ASSIGNED - bug 285337: Support Model Unit Testing and Execution Results.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=285337

Threading, emf loading and saving and performance issues.
diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/MonitorView.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/MonitorView.java
index e6572c3..8ffa34b 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/MonitorView.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/MonitorView.java
@@ -7,12 +7,12 @@
  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

  * 

- * Contributors: 

+ * Contributors:

  *   Metascape - Initial API and Implementation

  *

  * </copyright>

  *

-*/

+ */

 package org.eclipse.amp.axf.ide.view;

 

 import org.eclipse.amp.axf.core.AbstractLifecycleListener;

@@ -49,6 +49,6 @@
     public void observing(IObservationProvider model) {

         super.observing(model);

         // TODO change to label provider

-        modelDesc = ((IModel) model).getName() + " [" + model.getClass() + "]";

+        modelDesc = ((IModel) model).getName();

     }

 }

diff --git a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/RunMonitorView.java b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/RunMonitorView.java
index 624bdb0..d8debb5 100644
--- a/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/RunMonitorView.java
+++ b/org.eclipse.amp.axf/plugins/org.eclipse.amp.axf.ide/src/org/eclipse/amp/axf/ide/view/RunMonitorView.java
@@ -7,12 +7,12 @@
  * which accompanies this distribution, and is available at

  * http://www.eclipse.org/legal/epl-v10.html

  * 

- * Contributors: 

+ * Contributors:

  *   Metascape - Initial API and Implementation

  *

  * </copyright>

  *

-*/

+ */

 package org.eclipse.amp.axf.ide.view;

 

 import org.eclipse.amp.axf.core.IModel;

@@ -41,7 +41,7 @@
     @Override

     public void observing(IObservationProvider model) {

         super.observing(model);

-        String mainDesc = "Run " + modelDesc;

+        String mainDesc = "Running " + modelDesc;

         monitor.setTaskName(mainDesc);

     }

 

@@ -58,16 +58,19 @@
         }

     }

 

+    long lastUpdatePeriod = 0;

+

     /**

      * @param model

      * @see org.eclipse.amp.axf.core.AbstractLifecycleListener#observeUpdate(org.eclipse.amp.axf.core.IObservationProvider)

      */

     @Override

     public void observeUpdate(IObservationProvider model) {

-        if (((IModel) model).getPeriod() % 10 == 0) {

+        if (((IModel) model).getPeriod() - lastUpdatePeriod > 25) {

             monitor.subTask("Period " + ((IModel) model).getPeriod()

-                + (((IModel) model).getStopPeriod() > 0 ? " of " + ((IModel) model).getStopPeriod() : ""));

+                            + (((IModel) model).getStopPeriod() > 0 ? " of " + ((IModel) model).getStopPeriod() : ""));

             monitor.worked(10);

+            lastUpdatePeriod = ((IModel) model).getPeriod();

         }

     }