Bug 514634 general Improvement

[Update] Separate Step/Eval symbex limit Supevisor otpion
[Update] Adding ALL strategy for symbex exploration queue
[Update] Adding CSS option sequence in Graphviz-Serializer

Change-Id: Icac5f7f5affaacbb3ad858115488cb2c19b44ff7
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java
index 6cc2119..4754689 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java
@@ -37,6 +37,7 @@
 	private Button fBFSButton = null;

 	private Button fDFSButton = null;

 	private Button fRFSButton = null;

+	private Button fALLButton = null;

 

 	private GraphExplorationStrategyKind fAnalyzeStrategy =

 		GraphExplorationStrategyKind.BREADTH_FIRST_SEARCH;

@@ -92,6 +93,9 @@
 			else if (source == fRFSButton) {

 				handleRFSButtonSelected();

 			}

+			else if (source == fALLButton) {

+				handleALLButtonSelected();

+			}

 		}

 	}

 

@@ -123,6 +127,13 @@
 		fConfigurationPage.propagateGUIupdate();

 	}

 

+	public void handleALLButtonSelected() {

+		if( fALLButton.getSelection() ) {

+			fAnalyzeStrategy = GraphExplorationStrategyKind.ALL;

+		}

+		fConfigurationPage.propagateGUIupdate();

+	}

+

 

 		

 	@Override

@@ -181,7 +192,7 @@
 

 	protected void createAnalyzeStrategy(Composite parent, IWidgetToolkit widgetToolkit) {

 		groupAnalyzeStrategy = widgetToolkit.createGroup(

-				parent, "&Analyze Strategy", 3, 1, GridData.FILL_HORIZONTAL);

+				parent, "&Analyze Strategy", 4, 1, GridData.FILL_HORIZONTAL);

 

 		fBFSButton = widgetToolkit.createRadioButton(groupAnalyzeStrategy, "&BFS");

 		fBFSButton.addSelectionListener(fListener);

@@ -194,6 +205,10 @@
 		fRFSButton = widgetToolkit.createRadioButton(groupAnalyzeStrategy, "&RFS");

 		fRFSButton.addSelectionListener(fListener);

 		fRFSButton.setToolTipText("Random First Search");

+

+		fALLButton = widgetToolkit.createRadioButton(groupAnalyzeStrategy, "&ALL");

+		fALLButton.addSelectionListener(fListener);

+		fALLButton.setToolTipText("SEARCH IN ALL");

 	}

 

 

@@ -247,6 +262,7 @@
 		fBFSButton.setSelection(false);

 		fDFSButton.setSelection(false);

 		fRFSButton.setSelection(false);

+		fALLButton.setSelection(false);

 

 		switch( fAnalyzeStrategy ) {

 		case BREADTH_FIRST_SEARCH:

@@ -258,6 +274,9 @@
 		case RANDOM_FIRST_SEARCH:

 			fRFSButton.setSelection(true);

 			break;

+		case ALL:

+			fALLButton.setSelection(true);

+			break;

 		default:

 			fBFSButton.setSelection(true);

 			

@@ -301,6 +320,7 @@
 			case ANALYSIS_PROFILE_MODEL_TEST_OFFLINE: {

 				fDFSButton.setSelection(false);

 				fRFSButton.setSelection(false);

+				fALLButton.setSelection(false);

 

 				fBFSButton.setSelection(true); // BREADTH_FIRST_SEARCH

 				break;

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorEvaluationLimitsSection.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorEvaluationLimitsSection.java
index e352f43..97cfa76 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorEvaluationLimitsSection.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorEvaluationLimitsSection.java
@@ -49,18 +49,25 @@
 	@Override

 	protected void createContent(Composite parent, IWidgetToolkit widgetToolkit)

 	{

-        IntegerFieldEditor integerField = new IntegerFieldEditor(fConfigurationPage,

+		IntegerFieldEditor integerField = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_SPECIFICATION_STOP_CRITERIA_STEPS,

-				"&Evaluation Steps:", parent, 1000);

-		integerField.setToolTipText("Maximal steps of calculus "

-				+ "(-1 <=> no-limit) during the symbolic execution");

+				"&Symbex Step Count:", parent, 1000);

+		integerField.setToolTipText("Maximal symbex step (possibly many evaluations by step)"

+				+ " (-1 <=> no-limit) during the dynamic process");

+		addField( integerField );

+

+		integerField = new IntegerFieldEditor(fConfigurationPage,

+				ATTR_SPECIFICATION_STOP_CRITERIA_EVALS,

+				"&Symbex Eval Count:", parent, 1000);

+		integerField.setToolTipText("Maximal symbex evaluation count"

+				+ " (-1 <=> no-limit) during the dynamic process");

 		addField( integerField );

 

 		integerField = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_SPECIFICATION_STOP_CRITERIA_TIMEOUT,

 				"&Timeout (seconds):", parent, -1);

 		integerField.setToolTipText("Maximal duration "

-				+ "(-1 <=> no-limit) of the symbolic execution");

+				+ "(-1 <=> no-limit) of the symbex dynamic process");

 		addField( integerField );

 

 		integerField.setEnabled(false);

@@ -98,10 +105,14 @@
 		{

 			configuration.setAttribute(

 					ATTR_SPECIFICATION_STOP_CRITERIA_STEPS, -1);

+			configuration.setAttribute(

+					ATTR_SPECIFICATION_STOP_CRITERIA_EVALS, -1);

 		}

 		else {

 			configuration.setAttribute(

 					ATTR_SPECIFICATION_STOP_CRITERIA_STEPS, 1000);

+			configuration.setAttribute(

+					ATTR_SPECIFICATION_STOP_CRITERIA_EVALS, 1000);

 		}

 

 		configuration.setAttribute(

diff --git a/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.ecore b/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.ecore
index ed61679..2fa26e6 100644
--- a/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.ecore
+++ b/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.ecore
@@ -73,6 +73,8 @@
   <eClassifiers xsi:type="ecore:EClass" name="Serializer" abstract="true" eSuperTypes="#//Worker">
     <eStructuralFeatures xsi:type="ecore:EReference" name="format" eType="#//common/TraceSpecification"
         containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="CSS" eType="#//common/TraceSpecification"
+        containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="trace" eType="#//common/TraceSpecification"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="folderName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -115,6 +117,7 @@
       <eLiterals name="ALL" value="7" literal="ALL"/>
     </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="GraphExplorationLimit">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="step" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="eval" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
@@ -208,6 +211,7 @@
       <eLiterals name="LIFELINE_END" value="60" literal="lifeline#end"/>
       <eLiterals name="LIFELINE_ID" value="61" literal="lifeline#id"/>
       <eLiterals name="LIFELINE_STATE" value="62" literal="lifeline#state"/>
+      <eLiterals name="RAW_ATTRIBUTE" value="63" literal="RAW_ATTRIBUTE"/>
     </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="TraceElement">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="nature" eType="#//common/TraceElementKind"/>
diff --git a/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.genmodel b/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.genmodel
index 84fffb7..91712b2 100644
--- a/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.genmodel
+++ b/execution/org.eclipse.efm.execution.core/resources/ecore/workflow.genmodel
@@ -58,6 +58,7 @@
     <genClasses image="false" ecoreClass="workflow.ecore#//TestWorker"/>

     <genClasses image="false" ecoreClass="workflow.ecore#//Serializer">

       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//Serializer/format"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//Serializer/CSS"/>

       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference workflow.ecore#//Serializer/trace"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//Serializer/folderName"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflow.ecore#//Serializer/fileName"/>

@@ -86,7 +87,6 @@
       </genEnums>

       <genEnums typeSafeEnumCompatible="false" ecoreEnum="workflow.ecore#//common/TraceElementKind">

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/UNDEFINED"/>

-        <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/UNKNOWN"/>

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/CONDITION"/>

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/DECISION"/>

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/FORMULA"/>

@@ -149,6 +149,7 @@
         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/LIFELINE_END"/>

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/LIFELINE_ID"/>

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/LIFELINE_STATE"/>

+        <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/TraceElementKind/RAW_ATTRIBUTE"/>

       </genEnums>

       <genEnums typeSafeEnumCompatible="false" ecoreEnum="workflow.ecore#//common/HeuristicClassKind">

         <genEnumLiterals ecoreEnumLiteral="workflow.ecore#//common/HeuristicClassKind/BASIC"/>

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/Serializer.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/Serializer.java
index 09e2c5b..e679dc6 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/Serializer.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/Serializer.java
@@ -24,6 +24,7 @@
  * </p>

  * <ul>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.Serializer#getFormat <em>Format</em>}</li>

+ *   <li>{@link org.eclipse.efm.execution.core.workflow.Serializer#getCSS <em>CSS</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.Serializer#getTrace <em>Trace</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.Serializer#getFolderName <em>Folder Name</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.Serializer#getFileName <em>File Name</em>}</li>

@@ -64,6 +65,32 @@
 	void setFormat(TraceSpecification value);

 

 	/**

+	 * Returns the value of the '<em><b>CSS</b></em>' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>CSS</em>' containment reference isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @return the value of the '<em>CSS</em>' containment reference.

+	 * @see #setCSS(TraceSpecification)

+	 * @see org.eclipse.efm.execution.core.workflow.WorkflowPackage#getSerializer_CSS()

+	 * @model containment="true"

+	 * @generated

+	 */

+	TraceSpecification getCSS();

+

+	/**

+	 * Sets the value of the '{@link org.eclipse.efm.execution.core.workflow.Serializer#getCSS <em>CSS</em>}' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @param value the new value of the '<em>CSS</em>' containment reference.

+	 * @see #getCSS()

+	 * @generated

+	 */

+	void setCSS(TraceSpecification value);

+

+	/**

 	 * Returns the value of the '<em><b>Trace</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <p>

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/WorkflowPackage.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/WorkflowPackage.java
index 7b5390c..8c27afe 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/WorkflowPackage.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/WorkflowPackage.java
@@ -877,13 +877,22 @@
 	int SERIALIZER__FORMAT = WORKER_FEATURE_COUNT + 0;

 

 	/**

+	 * The feature id for the '<em><b>CSS</b></em>' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int SERIALIZER__CSS = WORKER_FEATURE_COUNT + 1;

+

+	/**

 	 * The feature id for the '<em><b>Trace</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER__TRACE = WORKER_FEATURE_COUNT + 1;

+	int SERIALIZER__TRACE = WORKER_FEATURE_COUNT + 2;

 

 	/**

 	 * The feature id for the '<em><b>Folder Name</b></em>' attribute.

@@ -892,7 +901,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER__FOLDER_NAME = WORKER_FEATURE_COUNT + 2;

+	int SERIALIZER__FOLDER_NAME = WORKER_FEATURE_COUNT + 3;

 

 	/**

 	 * The feature id for the '<em><b>File Name</b></em>' attribute.

@@ -901,7 +910,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER__FILE_NAME = WORKER_FEATURE_COUNT + 3;

+	int SERIALIZER__FILE_NAME = WORKER_FEATURE_COUNT + 4;

 

 	/**

 	 * The feature id for the '<em><b>Enabled Normalization</b></em>' attribute.

@@ -910,7 +919,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER__ENABLED_NORMALIZATION = WORKER_FEATURE_COUNT + 4;

+	int SERIALIZER__ENABLED_NORMALIZATION = WORKER_FEATURE_COUNT + 5;

 

 	/**

 	 * The feature id for the '<em><b>Enabled Initial Values Printing</b></em>' attribute.

@@ -919,7 +928,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER__ENABLED_INITIAL_VALUES_PRINTING = WORKER_FEATURE_COUNT + 5;

+	int SERIALIZER__ENABLED_INITIAL_VALUES_PRINTING = WORKER_FEATURE_COUNT + 6;

 

 	/**

 	 * The feature id for the '<em><b>Enabled Lifelines Printing</b></em>' attribute.

@@ -928,7 +937,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER__ENABLED_LIFELINES_PRINTING = WORKER_FEATURE_COUNT + 6;

+	int SERIALIZER__ENABLED_LIFELINES_PRINTING = WORKER_FEATURE_COUNT + 7;

 

 	/**

 	 * The number of structural features of the '<em>Serializer</em>' class.

@@ -937,7 +946,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int SERIALIZER_FEATURE_COUNT = WORKER_FEATURE_COUNT + 7;

+	int SERIALIZER_FEATURE_COUNT = WORKER_FEATURE_COUNT + 8;

 

 	/**

 	 * The number of operations of the '<em>Serializer</em>' class.

@@ -1404,6 +1413,17 @@
 	EReference getSerializer_Format();

 

 	/**

+	 * Returns the meta object for the containment reference '{@link org.eclipse.efm.execution.core.workflow.Serializer#getCSS <em>CSS</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the containment reference '<em>CSS</em>'.

+	 * @see org.eclipse.efm.execution.core.workflow.Serializer#getCSS()

+	 * @see #getSerializer()

+	 * @generated

+	 */

+	EReference getSerializer_CSS();

+

+	/**

 	 * Returns the meta object for the containment reference '{@link org.eclipse.efm.execution.core.workflow.Serializer#getTrace <em>Trace</em>}'.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -1845,6 +1865,14 @@
 		EReference SERIALIZER__FORMAT = eINSTANCE.getSerializer_Format();

 

 		/**

+		 * The meta object literal for the '<em><b>CSS</b></em>' containment reference feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EReference SERIALIZER__CSS = eINSTANCE.getSerializer_CSS();

+

+		/**

 		 * The meta object literal for the '<em><b>Trace</b></em>' containment reference feature.

 		 * <!-- begin-user-doc -->

 		 * <!-- end-user-doc -->

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/CommonPackage.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/CommonPackage.java
index e32ad22..33642ee 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/CommonPackage.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/CommonPackage.java
@@ -236,13 +236,22 @@
 	int GRAPH_EXPLORATION_LIMIT = 3;

 

 	/**

+	 * The feature id for the '<em><b>Step</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int GRAPH_EXPLORATION_LIMIT__STEP = 0;

+

+	/**

 	 * The feature id for the '<em><b>Eval</b></em>' attribute.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT__EVAL = 0;

+	int GRAPH_EXPLORATION_LIMIT__EVAL = 1;

 

 	/**

 	 * The feature id for the '<em><b>Node</b></em>' attribute.

@@ -251,7 +260,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT__NODE = 1;

+	int GRAPH_EXPLORATION_LIMIT__NODE = 2;

 

 	/**

 	 * The feature id for the '<em><b>Height</b></em>' attribute.

@@ -260,7 +269,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT__HEIGHT = 2;

+	int GRAPH_EXPLORATION_LIMIT__HEIGHT = 3;

 

 	/**

 	 * The feature id for the '<em><b>Width</b></em>' attribute.

@@ -269,7 +278,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT__WIDTH = 3;

+	int GRAPH_EXPLORATION_LIMIT__WIDTH = 4;

 

 	/**

 	 * The feature id for the '<em><b>Report</b></em>' attribute.

@@ -278,7 +287,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT__REPORT = 4;

+	int GRAPH_EXPLORATION_LIMIT__REPORT = 5;

 

 	/**

 	 * The feature id for the '<em><b>Save</b></em>' attribute.

@@ -287,7 +296,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT__SAVE = 5;

+	int GRAPH_EXPLORATION_LIMIT__SAVE = 6;

 

 	/**

 	 * The number of structural features of the '<em>Graph Exploration Limit</em>' class.

@@ -296,7 +305,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	int GRAPH_EXPLORATION_LIMIT_FEATURE_COUNT = 6;

+	int GRAPH_EXPLORATION_LIMIT_FEATURE_COUNT = 7;

 

 	/**

 	 * The number of operations of the '<em>Graph Exploration Limit</em>' class.

@@ -1615,6 +1624,17 @@
 	EClass getGraphExplorationLimit();

 

 	/**

+	 * Returns the meta object for the attribute '{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getStep <em>Step</em>}'.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @return the meta object for the attribute '<em>Step</em>'.

+	 * @see org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getStep()

+	 * @see #getGraphExplorationLimit()

+	 * @generated

+	 */

+	EAttribute getGraphExplorationLimit_Step();

+

+	/**

 	 * Returns the meta object for the attribute '{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getEval <em>Eval</em>}'.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -2957,6 +2977,14 @@
 		EClass GRAPH_EXPLORATION_LIMIT = eINSTANCE.getGraphExplorationLimit();

 

 		/**

+		 * The meta object literal for the '<em><b>Step</b></em>' attribute feature.

+		 * <!-- begin-user-doc -->

+		 * <!-- end-user-doc -->

+		 * @generated

+		 */

+		EAttribute GRAPH_EXPLORATION_LIMIT__STEP = eINSTANCE.getGraphExplorationLimit_Step();

+

+		/**

 		 * The meta object literal for the '<em><b>Eval</b></em>' attribute feature.

 		 * <!-- begin-user-doc -->

 		 * <!-- end-user-doc -->

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/GraphExplorationLimit.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/GraphExplorationLimit.java
index 82ab70a..bdcfc88 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/GraphExplorationLimit.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/GraphExplorationLimit.java
@@ -23,6 +23,7 @@
  * The following features are supported:

  * </p>

  * <ul>

+ *   <li>{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getStep <em>Step</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getEval <em>Eval</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getNode <em>Node</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getHeight <em>Height</em>}</li>

@@ -37,6 +38,32 @@
  */

 public interface GraphExplorationLimit extends EObject {

 	/**

+	 * Returns the value of the '<em><b>Step</b></em>' attribute.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of the '<em>Step</em>' attribute isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @return the value of the '<em>Step</em>' attribute.

+	 * @see #setStep(long)

+	 * @see org.eclipse.efm.execution.core.workflow.common.CommonPackage#getGraphExplorationLimit_Step()

+	 * @model

+	 * @generated

+	 */

+	long getStep();

+

+	/**

+	 * Sets the value of the '{@link org.eclipse.efm.execution.core.workflow.common.GraphExplorationLimit#getStep <em>Step</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @param value the new value of the '<em>Step</em>' attribute.

+	 * @see #getStep()

+	 * @generated

+	 */

+	void setStep(long value);

+

+	/**

 	 * Returns the value of the '<em><b>Eval</b></em>' attribute.

 	 * <!-- begin-user-doc -->

 	 * <p>

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/TraceElementKind.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/TraceElementKind.java
index 1ba137f..f9d2310 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/TraceElementKind.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/TraceElementKind.java
@@ -36,17 +36,9 @@
 	 * @generated

 	 * @ordered

 	 */

-	UNDEFINED(1, "UNDEFINED", "undefined"),

+	UNDEFINED(0, "UNDEFINED", "undefined"),

 

 	/**

-	 * The '<em><b>UNKNOWN</b></em>' literal object.

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @see #UNKNOWN_VALUE

-	 * @generated

-	 * @ordered

-	 */

-	UNKNOWN(2, "UNKNOWN", "unknown"), /**

 	 * The '<em><b>CONDITION</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -54,7 +46,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	CONDITION(0, "CONDITION", "condition"),

+	CONDITION(1, "CONDITION", "condition"),

 

 	/**

 	 * The '<em><b>DECISION</b></em>' literal object.

@@ -64,7 +56,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	DECISION(0, "DECISION", "decision"),

+	DECISION(2, "DECISION", "decision"),

 

 	/**

 	 * The '<em><b>FORMULA</b></em>' literal object.

@@ -74,7 +66,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	FORMULA(0, "FORMULA", "formula"),

+	FORMULA(3, "FORMULA", "formula"),

 

 	/**

 	 * The '<em><b>PATH CONDITION</b></em>' literal object.

@@ -84,7 +76,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	PATH_CONDITION(0, "PATH_CONDITION", "path#condition"),

+	PATH_CONDITION(4, "PATH_CONDITION", "path#condition"),

 

 	/**

 	 * The '<em><b>PATH CONDITION LEAF</b></em>' literal object.

@@ -94,7 +86,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	PATH_CONDITION_LEAF(0, "PATH_CONDITION_LEAF", "path#condition#leaf"),

+	PATH_CONDITION_LEAF(5, "PATH_CONDITION_LEAF", "path#condition#leaf"),

 

 	/**

 	 * The '<em><b>PATH TIMED CONDITION</b></em>' literal object.

@@ -104,7 +96,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	PATH_TIMED_CONDITION(0, "PATH_TIMED_CONDITION", "path#timed#condition"),

+	PATH_TIMED_CONDITION(6, "PATH_TIMED_CONDITION", "path#timed#condition"),

 

 	/**

 	 * The '<em><b>PATH TIMED CONDITION LEAF</b></em>' literal object.

@@ -114,7 +106,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	PATH_TIMED_CONDITION_LEAF(0, "PATH_TIMED_CONDITION_LEAF", "path#timed#condition#leaf"),

+	PATH_TIMED_CONDITION_LEAF(7, "PATH_TIMED_CONDITION_LEAF", "path#timed#condition#leaf"),

 

 	/**

 	 * The '<em><b>NODE CONDITION</b></em>' literal object.

@@ -124,7 +116,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NODE_CONDITION(0, "NODE_CONDITION", "node#condition"),

+	NODE_CONDITION(8, "NODE_CONDITION", "node#condition"),

 

 	/**

 	 * The '<em><b>NODE CONDITION LEAF</b></em>' literal object.

@@ -134,7 +126,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NODE_CONDITION_LEAF(0, "NODE_CONDITION_LEAF", "node#condition#leaf"),

+	NODE_CONDITION_LEAF(9, "NODE_CONDITION_LEAF", "node#condition#leaf"),

 

 	/**

 	 * The '<em><b>NODE TIMED CONDITION</b></em>' literal object.

@@ -144,7 +136,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NODE_TIMED_CONDITION(0, "NODE_TIMED_CONDITION", "node#timed#condition"),

+	NODE_TIMED_CONDITION(10, "NODE_TIMED_CONDITION", "node#timed#condition"),

 

 	/**

 	 * The '<em><b>NODE TIMED CONDITION LEAF</b></em>' literal object.

@@ -154,7 +146,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NODE_TIMED_CONDITION_LEAF(0, "NODE_TIMED_CONDITION_LEAF", "node#timed#condition#leaf"),

+	NODE_TIMED_CONDITION_LEAF(11, "NODE_TIMED_CONDITION_LEAF", "node#timed#condition#leaf"),

 

 	/**

 	 * The '<em><b>ASSIGN</b></em>' literal object.

@@ -164,7 +156,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	ASSIGN(0, "ASSIGN", "assign"),

+	ASSIGN(12, "ASSIGN", "assign"),

 

 	/**

 	 * The '<em><b>DELTA</b></em>' literal object.

@@ -174,7 +166,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	DELTA(0, "DELTA", "delta"),

+	DELTA(13, "DELTA", "delta"),

 

 	/**

 	 * The '<em><b>TIME</b></em>' literal object.

@@ -184,7 +176,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	TIME(0, "TIME", "time"),

+	TIME(14, "TIME", "time"),

 

 	/**

 	 * The '<em><b>VARIABLE</b></em>' literal object.

@@ -194,7 +186,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	VARIABLE(0, "VARIABLE", "variable"),

+	VARIABLE(15, "VARIABLE", "variable"),

 

 	/**

 	 * The '<em><b>NEWFRESH</b></em>' literal object.

@@ -204,7 +196,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NEWFRESH(0, "NEWFRESH", "newfresh"),

+	NEWFRESH(16, "NEWFRESH", "newfresh"),

 

 	/**

 	 * The '<em><b>COM</b></em>' literal object.

@@ -214,7 +206,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	COM(0, "COM", "com"),

+	COM(17, "COM", "com"),

 

 	/**

 	 * The '<em><b>INOUT</b></em>' literal object.

@@ -224,7 +216,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INOUT(0, "INOUT", "inout"),

+	INOUT(18, "INOUT", "inout"),

 

 	/**

 	 * The '<em><b>INPUT</b></em>' literal object.

@@ -234,7 +226,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INPUT(0, "INPUT", "input"),

+	INPUT(19, "INPUT", "input"),

 

 	/**

 	 * The '<em><b>OUTPUT</b></em>' literal object.

@@ -244,7 +236,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	OUTPUT(0, "OUTPUT", "output"),

+	OUTPUT(20, "OUTPUT", "output"),

 

 	/**

 	 * The '<em><b>INPUT ENV</b></em>' literal object.

@@ -254,7 +246,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INPUT_ENV(0, "INPUT_ENV", "input#env"),

+	INPUT_ENV(21, "INPUT_ENV", "input#env"),

 

 	/**

 	 * The '<em><b>OUTPUT ENV</b></em>' literal object.

@@ -264,7 +256,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	OUTPUT_ENV(0, "OUTPUT_ENV", "output#env"),

+	OUTPUT_ENV(22, "OUTPUT_ENV", "output#env"),

 

 	/**

 	 * The '<em><b>INPUT RDV</b></em>' literal object.

@@ -274,7 +266,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INPUT_RDV(0, "INPUT_RDV", "input#rdv"),

+	INPUT_RDV(23, "INPUT_RDV", "input#rdv"),

 

 	/**

 	 * The '<em><b>OUTPUT RDV</b></em>' literal object.

@@ -284,7 +276,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	OUTPUT_RDV(0, "OUTPUT_RDV", "output#rdv"),

+	OUTPUT_RDV(24, "OUTPUT_RDV", "output#rdv"),

 

 	/**

 	 * The '<em><b>INPUT BUFFER</b></em>' literal object.

@@ -294,7 +286,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INPUT_BUFFER(0, "INPUT_BUFFER", "input#buffer"),

+	INPUT_BUFFER(25, "INPUT_BUFFER", "input#buffer"),

 

 	/**

 	 * The '<em><b>OUTPUT BUFFER</b></em>' literal object.

@@ -304,7 +296,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	OUTPUT_BUFFER(0, "OUTPUT_BUFFER", "output#buffer"),

+	OUTPUT_BUFFER(26, "OUTPUT_BUFFER", "output#buffer"),

 

 	/**

 	 * The '<em><b>INPUT VAR</b></em>' literal object.

@@ -314,7 +306,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INPUT_VAR(0, "INPUT_VAR", "input#var"),

+	INPUT_VAR(27, "INPUT_VAR", "input#var"),

 

 	/**

 	 * The '<em><b>OUTPUT VAR</b></em>' literal object.

@@ -324,7 +316,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	OUTPUT_VAR(0, "OUTPUT_VAR", "output#var"),

+	OUTPUT_VAR(28, "OUTPUT_VAR", "output#var"),

 

 	/**

 	 * The '<em><b>PORT</b></em>' literal object.

@@ -334,7 +326,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	PORT(0, "PORT", "port"),

+	PORT(29, "PORT", "port"),

 

 	/**

 	 * The '<em><b>SIGNAL</b></em>' literal object.

@@ -344,7 +336,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	SIGNAL(0, "SIGNAL", "signal"),

+	SIGNAL(30, "SIGNAL", "signal"),

 

 	/**

 	 * The '<em><b>MESSAGE</b></em>' literal object.

@@ -354,7 +346,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	MESSAGE(0, "MESSAGE", "message"),

+	MESSAGE(31, "MESSAGE", "message"),

 

 	/**

 	 * The '<em><b>CHANNEL</b></em>' literal object.

@@ -364,7 +356,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	CHANNEL(0, "CHANNEL", "channel"),

+	CHANNEL(32, "CHANNEL", "channel"),

 

 	/**

 	 * The '<em><b>BUFFER</b></em>' literal object.

@@ -374,7 +366,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	BUFFER(0, "BUFFER", "buffer"),

+	BUFFER(33, "BUFFER", "buffer"),

 

 	/**

 	 * The '<em><b>RUNNABLE</b></em>' literal object.

@@ -384,7 +376,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	RUNNABLE(0, "RUNNABLE", "runnable"),

+	RUNNABLE(34, "RUNNABLE", "runnable"),

 

 	/**

 	 * The '<em><b>ROUTINE</b></em>' literal object.

@@ -394,7 +386,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	ROUTINE(0, "ROUTINE", "routine"),

+	ROUTINE(35, "ROUTINE", "routine"),

 

 	/**

 	 * The '<em><b>TRANSITION</b></em>' literal object.

@@ -404,7 +396,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	TRANSITION(0, "TRANSITION", "transition"),

+	TRANSITION(36, "TRANSITION", "transition"),

 

 	/**

 	 * The '<em><b>MACHINE</b></em>' literal object.

@@ -414,7 +406,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	MACHINE(0, "MACHINE", "machine"),

+	MACHINE(37, "MACHINE", "machine"),

 

 	/**

 	 * The '<em><b>STATE</b></em>' literal object.

@@ -424,7 +416,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	STATE(0, "STATE", "state"),

+	STATE(38, "STATE", "state"),

 

 	/**

 	 * The '<em><b>STATEMACHINE</b></em>' literal object.

@@ -434,7 +426,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	STATEMACHINE(0, "STATEMACHINE", "statemachine"),

+	STATEMACHINE(39, "STATEMACHINE", "statemachine"),

 

 	/**

 	 * The '<em><b>SYSTEM</b></em>' literal object.

@@ -444,7 +436,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	SYSTEM(0, "SYSTEM", "system"),

+	SYSTEM(40, "SYSTEM", "system"),

 

 	/**

 	 * The '<em><b>FILE HEADER</b></em>' literal object.

@@ -454,7 +446,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	FILE_HEADER(0, "FILE_HEADER", "header"),

+	FILE_HEADER(41, "FILE_HEADER", "header"),

 

 	/**

 	 * The '<em><b>FILE BEGIN</b></em>' literal object.

@@ -464,7 +456,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	FILE_BEGIN(0, "FILE_BEGIN", "begin"),

+	FILE_BEGIN(42, "FILE_BEGIN", "begin"),

 

 	/**

 	 * The '<em><b>FILE END</b></em>' literal object.

@@ -474,7 +466,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	FILE_END(0, "FILE_END", "end"),

+	FILE_END(43, "FILE_END", "end"),

 

 	/**

 	 * The '<em><b>TESTCASE HEADER</b></em>' literal object.

@@ -484,7 +476,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	TESTCASE_HEADER(0, "TESTCASE_HEADER", "testcase#header"),

+	TESTCASE_HEADER(44, "TESTCASE_HEADER", "testcase#header"),

 

 	/**

 	 * The '<em><b>TESTCASE BEGIN</b></em>' literal object.

@@ -494,7 +486,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	TESTCASE_BEGIN(0, "TESTCASE_BEGIN", "testcase#begin"),

+	TESTCASE_BEGIN(45, "TESTCASE_BEGIN", "testcase#begin"),

 

 	/**

 	 * The '<em><b>TESTCASE END</b></em>' literal object.

@@ -504,7 +496,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	TESTCASE_END(0, "TESTCASE_END", "testcase#end"),

+	TESTCASE_END(46, "TESTCASE_END", "testcase#end"),

 

 	/**

 	 * The '<em><b>INIT HEADER</b></em>' literal object.

@@ -514,7 +506,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INIT_HEADER(0, "INIT_HEADER", "init#header"),

+	INIT_HEADER(47, "INIT_HEADER", "init#header"),

 

 	/**

 	 * The '<em><b>INIT BEGIN</b></em>' literal object.

@@ -524,7 +516,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INIT_BEGIN(0, "INIT_BEGIN", "init#begin"),

+	INIT_BEGIN(48, "INIT_BEGIN", "init#begin"),

 

 	/**

 	 * The '<em><b>INIT END</b></em>' literal object.

@@ -534,7 +526,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	INIT_END(0, "INIT_END", "init#end"),

+	INIT_END(49, "INIT_END", "init#end"),

 

 	/**

 	 * The '<em><b>STEP HEADER</b></em>' literal object.

@@ -544,7 +536,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	STEP_HEADER(0, "STEP_HEADER", "step#header"),

+	STEP_HEADER(50, "STEP_HEADER", "step#header"),

 

 	/**

 	 * The '<em><b>STEP BEGIN</b></em>' literal object.

@@ -554,7 +546,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	STEP_BEGIN(0, "STEP_BEGIN", "step#begin"),

+	STEP_BEGIN(51, "STEP_BEGIN", "step#begin"),

 

 	/**

 	 * The '<em><b>STEP END</b></em>' literal object.

@@ -564,7 +556,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	STEP_END(0, "STEP_END", "step#end"),

+	STEP_END(52, "STEP_END", "step#end"),

 

 	/**

 	 * The '<em><b>COMMENT</b></em>' literal object.

@@ -574,7 +566,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	COMMENT(0, "COMMENT", "comment"),

+	COMMENT(53, "COMMENT", "comment"),

 

 	/**

 	 * The '<em><b>SEPARATOR</b></em>' literal object.

@@ -584,7 +576,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	SEPARATOR(0, "SEPARATOR", "separator"),

+	SEPARATOR(54, "SEPARATOR", "separator"),

 

 	/**

 	 * The '<em><b>NEWLINE</b></em>' literal object.

@@ -594,7 +586,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NEWLINE(0, "NEWLINE", "newline"),

+	NEWLINE(55, "NEWLINE", "newline"),

 

 	/**

 	 * The '<em><b>NEXT</b></em>' literal object.

@@ -604,7 +596,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	NEXT(0, "NEXT", "next"), /**

+	NEXT(56, "NEXT", "next"), /**

 	 * The '<em><b>LIFELINE</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -612,7 +604,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	LIFELINE(0, "LIFELINE", "lifeline"), /**

+	LIFELINE(57, "LIFELINE", "lifeline"), /**

 	 * The '<em><b>LIFELINE HEADER</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -620,7 +612,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	LIFELINE_HEADER(0, "LIFELINE_HEADER", "lifeline#header"), /**

+	LIFELINE_HEADER(58, "LIFELINE_HEADER", "lifeline#header"), /**

 	 * The '<em><b>LIFELINE BEGIN</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -628,7 +620,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	LIFELINE_BEGIN(0, "LIFELINE_BEGIN", "lifeline#begin"), /**

+	LIFELINE_BEGIN(59, "LIFELINE_BEGIN", "lifeline#begin"), /**

 	 * The '<em><b>LIFELINE END</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -636,7 +628,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	LIFELINE_END(0, "LIFELINE_END", "lifeline#end"), /**

+	LIFELINE_END(60, "LIFELINE_END", "lifeline#end"), /**

 	 * The '<em><b>LIFELINE ID</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -644,7 +636,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	LIFELINE_ID(0, "LIFELINE_ID", "lifeline#id"), /**

+	LIFELINE_ID(61, "LIFELINE_ID", "lifeline#id"), /**

 	 * The '<em><b>LIFELINE STATE</b></em>' literal object.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -652,7 +644,15 @@
 	 * @generated

 	 * @ordered

 	 */

-	LIFELINE_STATE(0, "LIFELINE_STATE", "lifeline#state");

+	LIFELINE_STATE(62, "LIFELINE_STATE", "lifeline#state"), /**

+	 * The '<em><b>RAW ATTRIBUTE</b></em>' literal object.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #RAW_ATTRIBUTE_VALUE

+	 * @generated

+	 * @ordered

+	 */

+	RAW_ATTRIBUTE(63, "RAW_ATTRIBUTE", "RAW_ATTRIBUTE");

 

 	/**

 	 * The '<em><b>UNDEFINED</b></em>' literal value.

@@ -667,22 +667,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int UNDEFINED_VALUE = 1;

-

-	/**

-	 * The '<em><b>UNKNOWN</b></em>' literal value.

-	 * <!-- begin-user-doc -->

-	 * <p>

-	 * If the meaning of '<em><b>UNKNOWN</b></em>' literal object isn't clear,

-	 * there really should be more of a description here...

-	 * </p>

-	 * <!-- end-user-doc -->

-	 * @see #UNKNOWN

-	 * @model literal="unknown"

-	 * @generated

-	 * @ordered

-	 */

-	public static final int UNKNOWN_VALUE = 2;

+	public static final int UNDEFINED_VALUE = 0;

 

 	/**

 	 * The '<em><b>CONDITION</b></em>' literal value.

@@ -697,7 +682,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int CONDITION_VALUE = 0;

+	public static final int CONDITION_VALUE = 1;

 

 	/**

 	 * The '<em><b>DECISION</b></em>' literal value.

@@ -712,7 +697,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int DECISION_VALUE = 0;

+	public static final int DECISION_VALUE = 2;

 

 	/**

 	 * The '<em><b>FORMULA</b></em>' literal value.

@@ -727,7 +712,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int FORMULA_VALUE = 0;

+	public static final int FORMULA_VALUE = 3;

 

 	/**

 	 * The '<em><b>PATH CONDITION</b></em>' literal value.

@@ -742,7 +727,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int PATH_CONDITION_VALUE = 0;

+	public static final int PATH_CONDITION_VALUE = 4;

 

 	/**

 	 * The '<em><b>PATH CONDITION LEAF</b></em>' literal value.

@@ -757,7 +742,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int PATH_CONDITION_LEAF_VALUE = 0;

+	public static final int PATH_CONDITION_LEAF_VALUE = 5;

 

 	/**

 	 * The '<em><b>PATH TIMED CONDITION</b></em>' literal value.

@@ -772,7 +757,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int PATH_TIMED_CONDITION_VALUE = 0;

+	public static final int PATH_TIMED_CONDITION_VALUE = 6;

 

 	/**

 	 * The '<em><b>PATH TIMED CONDITION LEAF</b></em>' literal value.

@@ -787,7 +772,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int PATH_TIMED_CONDITION_LEAF_VALUE = 0;

+	public static final int PATH_TIMED_CONDITION_LEAF_VALUE = 7;

 

 	/**

 	 * The '<em><b>NODE CONDITION</b></em>' literal value.

@@ -802,7 +787,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NODE_CONDITION_VALUE = 0;

+	public static final int NODE_CONDITION_VALUE = 8;

 

 	/**

 	 * The '<em><b>NODE CONDITION LEAF</b></em>' literal value.

@@ -817,7 +802,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NODE_CONDITION_LEAF_VALUE = 0;

+	public static final int NODE_CONDITION_LEAF_VALUE = 9;

 

 	/**

 	 * The '<em><b>NODE TIMED CONDITION</b></em>' literal value.

@@ -832,7 +817,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NODE_TIMED_CONDITION_VALUE = 0;

+	public static final int NODE_TIMED_CONDITION_VALUE = 10;

 

 	/**

 	 * The '<em><b>NODE TIMED CONDITION LEAF</b></em>' literal value.

@@ -847,7 +832,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NODE_TIMED_CONDITION_LEAF_VALUE = 0;

+	public static final int NODE_TIMED_CONDITION_LEAF_VALUE = 11;

 

 	/**

 	 * The '<em><b>ASSIGN</b></em>' literal value.

@@ -862,7 +847,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int ASSIGN_VALUE = 0;

+	public static final int ASSIGN_VALUE = 12;

 

 	/**

 	 * The '<em><b>DELTA</b></em>' literal value.

@@ -877,7 +862,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int DELTA_VALUE = 0;

+	public static final int DELTA_VALUE = 13;

 

 	/**

 	 * The '<em><b>TIME</b></em>' literal value.

@@ -892,7 +877,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int TIME_VALUE = 0;

+	public static final int TIME_VALUE = 14;

 

 	/**

 	 * The '<em><b>VARIABLE</b></em>' literal value.

@@ -907,7 +892,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int VARIABLE_VALUE = 0;

+	public static final int VARIABLE_VALUE = 15;

 

 	/**

 	 * The '<em><b>NEWFRESH</b></em>' literal value.

@@ -922,7 +907,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NEWFRESH_VALUE = 0;

+	public static final int NEWFRESH_VALUE = 16;

 

 	/**

 	 * The '<em><b>COM</b></em>' literal value.

@@ -937,7 +922,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int COM_VALUE = 0;

+	public static final int COM_VALUE = 17;

 

 	/**

 	 * The '<em><b>INOUT</b></em>' literal value.

@@ -952,7 +937,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INOUT_VALUE = 0;

+	public static final int INOUT_VALUE = 18;

 

 	/**

 	 * The '<em><b>INPUT</b></em>' literal value.

@@ -967,7 +952,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INPUT_VALUE = 0;

+	public static final int INPUT_VALUE = 19;

 

 	/**

 	 * The '<em><b>OUTPUT</b></em>' literal value.

@@ -982,7 +967,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int OUTPUT_VALUE = 0;

+	public static final int OUTPUT_VALUE = 20;

 

 	/**

 	 * The '<em><b>INPUT ENV</b></em>' literal value.

@@ -997,7 +982,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INPUT_ENV_VALUE = 0;

+	public static final int INPUT_ENV_VALUE = 21;

 

 	/**

 	 * The '<em><b>OUTPUT ENV</b></em>' literal value.

@@ -1012,7 +997,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int OUTPUT_ENV_VALUE = 0;

+	public static final int OUTPUT_ENV_VALUE = 22;

 

 	/**

 	 * The '<em><b>INPUT RDV</b></em>' literal value.

@@ -1027,7 +1012,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INPUT_RDV_VALUE = 0;

+	public static final int INPUT_RDV_VALUE = 23;

 

 	/**

 	 * The '<em><b>OUTPUT RDV</b></em>' literal value.

@@ -1042,7 +1027,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int OUTPUT_RDV_VALUE = 0;

+	public static final int OUTPUT_RDV_VALUE = 24;

 

 	/**

 	 * The '<em><b>INPUT BUFFER</b></em>' literal value.

@@ -1057,7 +1042,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INPUT_BUFFER_VALUE = 0;

+	public static final int INPUT_BUFFER_VALUE = 25;

 

 	/**

 	 * The '<em><b>OUTPUT BUFFER</b></em>' literal value.

@@ -1072,7 +1057,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int OUTPUT_BUFFER_VALUE = 0;

+	public static final int OUTPUT_BUFFER_VALUE = 26;

 

 	/**

 	 * The '<em><b>INPUT VAR</b></em>' literal value.

@@ -1087,7 +1072,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INPUT_VAR_VALUE = 0;

+	public static final int INPUT_VAR_VALUE = 27;

 

 	/**

 	 * The '<em><b>OUTPUT VAR</b></em>' literal value.

@@ -1102,7 +1087,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int OUTPUT_VAR_VALUE = 0;

+	public static final int OUTPUT_VAR_VALUE = 28;

 

 	/**

 	 * The '<em><b>PORT</b></em>' literal value.

@@ -1117,7 +1102,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int PORT_VALUE = 0;

+	public static final int PORT_VALUE = 29;

 

 	/**

 	 * The '<em><b>SIGNAL</b></em>' literal value.

@@ -1132,7 +1117,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int SIGNAL_VALUE = 0;

+	public static final int SIGNAL_VALUE = 30;

 

 	/**

 	 * The '<em><b>MESSAGE</b></em>' literal value.

@@ -1147,7 +1132,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int MESSAGE_VALUE = 0;

+	public static final int MESSAGE_VALUE = 31;

 

 	/**

 	 * The '<em><b>CHANNEL</b></em>' literal value.

@@ -1162,7 +1147,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int CHANNEL_VALUE = 0;

+	public static final int CHANNEL_VALUE = 32;

 

 	/**

 	 * The '<em><b>BUFFER</b></em>' literal value.

@@ -1177,7 +1162,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int BUFFER_VALUE = 0;

+	public static final int BUFFER_VALUE = 33;

 

 	/**

 	 * The '<em><b>RUNNABLE</b></em>' literal value.

@@ -1192,7 +1177,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int RUNNABLE_VALUE = 0;

+	public static final int RUNNABLE_VALUE = 34;

 

 	/**

 	 * The '<em><b>ROUTINE</b></em>' literal value.

@@ -1207,7 +1192,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int ROUTINE_VALUE = 0;

+	public static final int ROUTINE_VALUE = 35;

 

 	/**

 	 * The '<em><b>TRANSITION</b></em>' literal value.

@@ -1222,7 +1207,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int TRANSITION_VALUE = 0;

+	public static final int TRANSITION_VALUE = 36;

 

 	/**

 	 * The '<em><b>MACHINE</b></em>' literal value.

@@ -1237,7 +1222,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int MACHINE_VALUE = 0;

+	public static final int MACHINE_VALUE = 37;

 

 	/**

 	 * The '<em><b>STATE</b></em>' literal value.

@@ -1252,7 +1237,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int STATE_VALUE = 0;

+	public static final int STATE_VALUE = 38;

 

 	/**

 	 * The '<em><b>STATEMACHINE</b></em>' literal value.

@@ -1267,7 +1252,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int STATEMACHINE_VALUE = 0;

+	public static final int STATEMACHINE_VALUE = 39;

 

 	/**

 	 * The '<em><b>SYSTEM</b></em>' literal value.

@@ -1282,7 +1267,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int SYSTEM_VALUE = 0;

+	public static final int SYSTEM_VALUE = 40;

 

 	/**

 	 * The '<em><b>FILE HEADER</b></em>' literal value.

@@ -1297,7 +1282,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int FILE_HEADER_VALUE = 0;

+	public static final int FILE_HEADER_VALUE = 41;

 

 	/**

 	 * The '<em><b>FILE BEGIN</b></em>' literal value.

@@ -1312,7 +1297,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int FILE_BEGIN_VALUE = 0;

+	public static final int FILE_BEGIN_VALUE = 42;

 

 	/**

 	 * The '<em><b>FILE END</b></em>' literal value.

@@ -1327,7 +1312,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int FILE_END_VALUE = 0;

+	public static final int FILE_END_VALUE = 43;

 

 	/**

 	 * The '<em><b>TESTCASE HEADER</b></em>' literal value.

@@ -1342,7 +1327,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int TESTCASE_HEADER_VALUE = 0;

+	public static final int TESTCASE_HEADER_VALUE = 44;

 

 	/**

 	 * The '<em><b>TESTCASE BEGIN</b></em>' literal value.

@@ -1357,7 +1342,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int TESTCASE_BEGIN_VALUE = 0;

+	public static final int TESTCASE_BEGIN_VALUE = 45;

 

 	/**

 	 * The '<em><b>TESTCASE END</b></em>' literal value.

@@ -1372,7 +1357,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int TESTCASE_END_VALUE = 0;

+	public static final int TESTCASE_END_VALUE = 46;

 

 	/**

 	 * The '<em><b>INIT HEADER</b></em>' literal value.

@@ -1387,7 +1372,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INIT_HEADER_VALUE = 0;

+	public static final int INIT_HEADER_VALUE = 47;

 

 	/**

 	 * The '<em><b>INIT BEGIN</b></em>' literal value.

@@ -1402,7 +1387,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INIT_BEGIN_VALUE = 0;

+	public static final int INIT_BEGIN_VALUE = 48;

 

 	/**

 	 * The '<em><b>INIT END</b></em>' literal value.

@@ -1417,7 +1402,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int INIT_END_VALUE = 0;

+	public static final int INIT_END_VALUE = 49;

 

 	/**

 	 * The '<em><b>STEP HEADER</b></em>' literal value.

@@ -1432,7 +1417,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int STEP_HEADER_VALUE = 0;

+	public static final int STEP_HEADER_VALUE = 50;

 

 	/**

 	 * The '<em><b>STEP BEGIN</b></em>' literal value.

@@ -1447,7 +1432,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int STEP_BEGIN_VALUE = 0;

+	public static final int STEP_BEGIN_VALUE = 51;

 

 	/**

 	 * The '<em><b>STEP END</b></em>' literal value.

@@ -1462,7 +1447,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int STEP_END_VALUE = 0;

+	public static final int STEP_END_VALUE = 52;

 

 	/**

 	 * The '<em><b>COMMENT</b></em>' literal value.

@@ -1477,7 +1462,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int COMMENT_VALUE = 0;

+	public static final int COMMENT_VALUE = 53;

 

 	/**

 	 * The '<em><b>SEPARATOR</b></em>' literal value.

@@ -1492,7 +1477,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int SEPARATOR_VALUE = 0;

+	public static final int SEPARATOR_VALUE = 54;

 

 	/**

 	 * The '<em><b>NEWLINE</b></em>' literal value.

@@ -1507,7 +1492,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NEWLINE_VALUE = 0;

+	public static final int NEWLINE_VALUE = 55;

 

 	/**

 	 * The '<em><b>NEXT</b></em>' literal value.

@@ -1522,7 +1507,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int NEXT_VALUE = 0;

+	public static final int NEXT_VALUE = 56;

 

 	/**

 	 * The '<em><b>LIFELINE</b></em>' literal value.

@@ -1537,7 +1522,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int LIFELINE_VALUE = 0;

+	public static final int LIFELINE_VALUE = 57;

 

 	/**

 	 * The '<em><b>LIFELINE HEADER</b></em>' literal value.

@@ -1552,7 +1537,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int LIFELINE_HEADER_VALUE = 0;

+	public static final int LIFELINE_HEADER_VALUE = 58;

 

 	/**

 	 * The '<em><b>LIFELINE BEGIN</b></em>' literal value.

@@ -1567,7 +1552,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int LIFELINE_BEGIN_VALUE = 0;

+	public static final int LIFELINE_BEGIN_VALUE = 59;

 

 	/**

 	 * The '<em><b>LIFELINE END</b></em>' literal value.

@@ -1582,7 +1567,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int LIFELINE_END_VALUE = 0;

+	public static final int LIFELINE_END_VALUE = 60;

 

 	/**

 	 * The '<em><b>LIFELINE ID</b></em>' literal value.

@@ -1597,7 +1582,7 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int LIFELINE_ID_VALUE = 0;

+	public static final int LIFELINE_ID_VALUE = 61;

 

 	/**

 	 * The '<em><b>LIFELINE STATE</b></em>' literal value.

@@ -1612,7 +1597,22 @@
 	 * @generated

 	 * @ordered

 	 */

-	public static final int LIFELINE_STATE_VALUE = 0;

+	public static final int LIFELINE_STATE_VALUE = 62;

+

+	/**

+	 * The '<em><b>RAW ATTRIBUTE</b></em>' literal value.

+	 * <!-- begin-user-doc -->

+	 * <p>

+	 * If the meaning of '<em><b>RAW ATTRIBUTE</b></em>' literal object isn't clear,

+	 * there really should be more of a description here...

+	 * </p>

+	 * <!-- end-user-doc -->

+	 * @see #RAW_ATTRIBUTE

+	 * @model

+	 * @generated

+	 * @ordered

+	 */

+	public static final int RAW_ATTRIBUTE_VALUE = 63;

 

 	/**

 	 * An array of all the '<em><b>Trace Element Kind</b></em>' enumerators.

@@ -1623,7 +1623,6 @@
 	private static final TraceElementKind[] VALUES_ARRAY =

 		new TraceElementKind[] {

 			UNDEFINED,

-			UNKNOWN,

 			CONDITION,

 			DECISION,

 			FORMULA,

@@ -1686,6 +1685,7 @@
 			LIFELINE_END,

 			LIFELINE_ID,

 			LIFELINE_STATE,

+			RAW_ATTRIBUTE,

 		};

 

 	/**

@@ -1743,8 +1743,69 @@
 	public static TraceElementKind get(int value) {

 		switch (value) {

 			case UNDEFINED_VALUE: return UNDEFINED;

-			case UNKNOWN_VALUE: return UNKNOWN;

 			case CONDITION_VALUE: return CONDITION;

+			case DECISION_VALUE: return DECISION;

+			case FORMULA_VALUE: return FORMULA;

+			case PATH_CONDITION_VALUE: return PATH_CONDITION;

+			case PATH_CONDITION_LEAF_VALUE: return PATH_CONDITION_LEAF;

+			case PATH_TIMED_CONDITION_VALUE: return PATH_TIMED_CONDITION;

+			case PATH_TIMED_CONDITION_LEAF_VALUE: return PATH_TIMED_CONDITION_LEAF;

+			case NODE_CONDITION_VALUE: return NODE_CONDITION;

+			case NODE_CONDITION_LEAF_VALUE: return NODE_CONDITION_LEAF;

+			case NODE_TIMED_CONDITION_VALUE: return NODE_TIMED_CONDITION;

+			case NODE_TIMED_CONDITION_LEAF_VALUE: return NODE_TIMED_CONDITION_LEAF;

+			case ASSIGN_VALUE: return ASSIGN;

+			case DELTA_VALUE: return DELTA;

+			case TIME_VALUE: return TIME;

+			case VARIABLE_VALUE: return VARIABLE;

+			case NEWFRESH_VALUE: return NEWFRESH;

+			case COM_VALUE: return COM;

+			case INOUT_VALUE: return INOUT;

+			case INPUT_VALUE: return INPUT;

+			case OUTPUT_VALUE: return OUTPUT;

+			case INPUT_ENV_VALUE: return INPUT_ENV;

+			case OUTPUT_ENV_VALUE: return OUTPUT_ENV;

+			case INPUT_RDV_VALUE: return INPUT_RDV;

+			case OUTPUT_RDV_VALUE: return OUTPUT_RDV;

+			case INPUT_BUFFER_VALUE: return INPUT_BUFFER;

+			case OUTPUT_BUFFER_VALUE: return OUTPUT_BUFFER;

+			case INPUT_VAR_VALUE: return INPUT_VAR;

+			case OUTPUT_VAR_VALUE: return OUTPUT_VAR;

+			case PORT_VALUE: return PORT;

+			case SIGNAL_VALUE: return SIGNAL;

+			case MESSAGE_VALUE: return MESSAGE;

+			case CHANNEL_VALUE: return CHANNEL;

+			case BUFFER_VALUE: return BUFFER;

+			case RUNNABLE_VALUE: return RUNNABLE;

+			case ROUTINE_VALUE: return ROUTINE;

+			case TRANSITION_VALUE: return TRANSITION;

+			case MACHINE_VALUE: return MACHINE;

+			case STATE_VALUE: return STATE;

+			case STATEMACHINE_VALUE: return STATEMACHINE;

+			case SYSTEM_VALUE: return SYSTEM;

+			case FILE_HEADER_VALUE: return FILE_HEADER;

+			case FILE_BEGIN_VALUE: return FILE_BEGIN;

+			case FILE_END_VALUE: return FILE_END;

+			case TESTCASE_HEADER_VALUE: return TESTCASE_HEADER;

+			case TESTCASE_BEGIN_VALUE: return TESTCASE_BEGIN;

+			case TESTCASE_END_VALUE: return TESTCASE_END;

+			case INIT_HEADER_VALUE: return INIT_HEADER;

+			case INIT_BEGIN_VALUE: return INIT_BEGIN;

+			case INIT_END_VALUE: return INIT_END;

+			case STEP_HEADER_VALUE: return STEP_HEADER;

+			case STEP_BEGIN_VALUE: return STEP_BEGIN;

+			case STEP_END_VALUE: return STEP_END;

+			case COMMENT_VALUE: return COMMENT;

+			case SEPARATOR_VALUE: return SEPARATOR;

+			case NEWLINE_VALUE: return NEWLINE;

+			case NEXT_VALUE: return NEXT;

+			case LIFELINE_VALUE: return LIFELINE;

+			case LIFELINE_HEADER_VALUE: return LIFELINE_HEADER;

+			case LIFELINE_BEGIN_VALUE: return LIFELINE_BEGIN;

+			case LIFELINE_END_VALUE: return LIFELINE_END;

+			case LIFELINE_ID_VALUE: return LIFELINE_ID;

+			case LIFELINE_STATE_VALUE: return LIFELINE_STATE;

+			case RAW_ATTRIBUTE_VALUE: return RAW_ATTRIBUTE;

 		}

 		return null;

 	}

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/CommonPackageImpl.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/CommonPackageImpl.java
index b7d64ca..eb23847 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/CommonPackageImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/CommonPackageImpl.java
@@ -402,7 +402,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getGraphExplorationLimit_Eval() {

+	public EAttribute getGraphExplorationLimit_Step() {

 		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(0);

 	}

 

@@ -411,7 +411,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getGraphExplorationLimit_Node() {

+	public EAttribute getGraphExplorationLimit_Eval() {

 		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(1);

 	}

 

@@ -420,7 +420,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getGraphExplorationLimit_Height() {

+	public EAttribute getGraphExplorationLimit_Node() {

 		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(2);

 	}

 

@@ -429,7 +429,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getGraphExplorationLimit_Width() {

+	public EAttribute getGraphExplorationLimit_Height() {

 		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(3);

 	}

 

@@ -438,7 +438,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getGraphExplorationLimit_Report() {

+	public EAttribute getGraphExplorationLimit_Width() {

 		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(4);

 	}

 

@@ -447,7 +447,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getGraphExplorationLimit_Save() {

+	public EAttribute getGraphExplorationLimit_Report() {

 		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(5);

 	}

 

@@ -456,6 +456,15 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public EAttribute getGraphExplorationLimit_Save() {

+		return (EAttribute)graphExplorationLimitEClass.getEStructuralFeatures().get(6);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public EClass getGraphExplorationQueue() {

 		return graphExplorationQueueEClass;

 	}

@@ -1448,6 +1457,7 @@
 		createEAttribute(projectEClass, PROJECT__MODEL);

 

 		graphExplorationLimitEClass = createEClass(GRAPH_EXPLORATION_LIMIT);

+		createEAttribute(graphExplorationLimitEClass, GRAPH_EXPLORATION_LIMIT__STEP);

 		createEAttribute(graphExplorationLimitEClass, GRAPH_EXPLORATION_LIMIT__EVAL);

 		createEAttribute(graphExplorationLimitEClass, GRAPH_EXPLORATION_LIMIT__NODE);

 		createEAttribute(graphExplorationLimitEClass, GRAPH_EXPLORATION_LIMIT__HEIGHT);

@@ -1623,6 +1633,7 @@
 		initEAttribute(getProject_Model(), ecorePackage.getEString(), "model", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 

 		initEClass(graphExplorationLimitEClass, GraphExplorationLimit.class, "GraphExplorationLimit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

+		initEAttribute(getGraphExplorationLimit_Step(), ecorePackage.getELong(), "step", null, 0, 1, GraphExplorationLimit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getGraphExplorationLimit_Eval(), ecorePackage.getELong(), "eval", null, 0, 1, GraphExplorationLimit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getGraphExplorationLimit_Node(), ecorePackage.getELong(), "node", null, 0, 1, GraphExplorationLimit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getGraphExplorationLimit_Height(), ecorePackage.getELong(), "height", null, 0, 1, GraphExplorationLimit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

@@ -1759,7 +1770,6 @@
 

 		initEEnum(traceElementKindEEnum, TraceElementKind.class, "TraceElementKind");

 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.UNDEFINED);

-		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.UNKNOWN);

 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.CONDITION);

 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.DECISION);

 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.FORMULA);

@@ -1822,6 +1832,7 @@
 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.LIFELINE_END);

 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.LIFELINE_ID);

 		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.LIFELINE_STATE);

+		addEEnumLiteral(traceElementKindEEnum, TraceElementKind.RAW_ATTRIBUTE);

 

 		initEEnum(heuristicClassKindEEnum, HeuristicClassKind.class, "HeuristicClassKind");

 		addEEnumLiteral(heuristicClassKindEEnum, HeuristicClassKind.BASIC);

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/GraphExplorationLimitImpl.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/GraphExplorationLimitImpl.java
index e2472f7..d62b14e 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/GraphExplorationLimitImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/common/impl/GraphExplorationLimitImpl.java
@@ -30,6 +30,7 @@
  * The following features are implemented:

  * </p>

  * <ul>

+ *   <li>{@link org.eclipse.efm.execution.core.workflow.common.impl.GraphExplorationLimitImpl#getStep <em>Step</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.common.impl.GraphExplorationLimitImpl#getEval <em>Eval</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.common.impl.GraphExplorationLimitImpl#getNode <em>Node</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.common.impl.GraphExplorationLimitImpl#getHeight <em>Height</em>}</li>

@@ -42,6 +43,26 @@
  */

 public class GraphExplorationLimitImpl extends MinimalEObjectImpl.Container implements GraphExplorationLimit {

 	/**

+	 * The default value of the '{@link #getStep() <em>Step</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getStep()

+	 * @generated

+	 * @ordered

+	 */

+	protected static final long STEP_EDEFAULT = 0L;

+

+	/**

+	 * The cached value of the '{@link #getStep() <em>Step</em>}' attribute.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getStep()

+	 * @generated

+	 * @ordered

+	 */

+	protected long step = STEP_EDEFAULT;

+

+	/**

 	 * The default value of the '{@link #getEval() <em>Eval</em>}' attribute.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -185,6 +206,27 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public long getStep() {

+		return step;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public void setStep(long newStep) {

+		long oldStep = step;

+		step = newStep;

+		if (eNotificationRequired())

+			eNotify(new ENotificationImpl(this, Notification.SET, CommonPackage.GRAPH_EXPLORATION_LIMIT__STEP, oldStep, step));

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public long getEval() {

 		return eval;

 	}

@@ -314,6 +356,8 @@
 	@Override

 	public Object eGet(int featureID, boolean resolve, boolean coreType) {

 		switch (featureID) {

+			case CommonPackage.GRAPH_EXPLORATION_LIMIT__STEP:

+				return getStep();

 			case CommonPackage.GRAPH_EXPLORATION_LIMIT__EVAL:

 				return getEval();

 			case CommonPackage.GRAPH_EXPLORATION_LIMIT__NODE:

@@ -338,6 +382,9 @@
 	@Override

 	public void eSet(int featureID, Object newValue) {

 		switch (featureID) {

+			case CommonPackage.GRAPH_EXPLORATION_LIMIT__STEP:

+				setStep((Long)newValue);

+				return;

 			case CommonPackage.GRAPH_EXPLORATION_LIMIT__EVAL:

 				setEval((Long)newValue);

 				return;

@@ -368,6 +415,9 @@
 	@Override

 	public void eUnset(int featureID) {

 		switch (featureID) {

+			case CommonPackage.GRAPH_EXPLORATION_LIMIT__STEP:

+				setStep(STEP_EDEFAULT);

+				return;

 			case CommonPackage.GRAPH_EXPLORATION_LIMIT__EVAL:

 				setEval(EVAL_EDEFAULT);

 				return;

@@ -398,6 +448,8 @@
 	@Override

 	public boolean eIsSet(int featureID) {

 		switch (featureID) {

+			case CommonPackage.GRAPH_EXPLORATION_LIMIT__STEP:

+				return step != STEP_EDEFAULT;

 			case CommonPackage.GRAPH_EXPLORATION_LIMIT__EVAL:

 				return eval != EVAL_EDEFAULT;

 			case CommonPackage.GRAPH_EXPLORATION_LIMIT__NODE:

@@ -424,7 +476,9 @@
 		if (eIsProxy()) return super.toString();

 

 		StringBuffer result = new StringBuffer(super.toString());

-		result.append(" (eval: ");

+		result.append(" (step: ");

+		result.append(step);

+		result.append(", eval: ");

 		result.append(eval);

 		result.append(", node: ");

 		result.append(node);

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/SerializerImpl.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/SerializerImpl.java
index 107ca3b..f93dc43 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/SerializerImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/SerializerImpl.java
@@ -34,6 +34,7 @@
  * </p>

  * <ul>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.impl.SerializerImpl#getFormat <em>Format</em>}</li>

+ *   <li>{@link org.eclipse.efm.execution.core.workflow.impl.SerializerImpl#getCSS <em>CSS</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.impl.SerializerImpl#getTrace <em>Trace</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.impl.SerializerImpl#getFolderName <em>Folder Name</em>}</li>

  *   <li>{@link org.eclipse.efm.execution.core.workflow.impl.SerializerImpl#getFileName <em>File Name</em>}</li>

@@ -56,6 +57,16 @@
 	protected TraceSpecification format;

 

 	/**

+	 * The cached value of the '{@link #getCSS() <em>CSS</em>}' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @see #getCSS()

+	 * @generated

+	 * @ordered

+	 */

+	protected TraceSpecification css;

+

+	/**

 	 * The cached value of the '{@link #getTrace() <em>Trace</em>}' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -232,6 +243,49 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public TraceSpecification getCSS() {

+		return css;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public NotificationChain basicSetCSS(TraceSpecification newCSS, NotificationChain msgs) {

+		TraceSpecification oldCSS = css;

+		css = newCSS;

+		if (eNotificationRequired()) {

+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, WorkflowPackage.SERIALIZER__CSS, oldCSS, newCSS);

+			if (msgs == null) msgs = notification; else msgs.add(notification);

+		}

+		return msgs;

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

+	public void setCSS(TraceSpecification newCSS) {

+		if (newCSS != css) {

+			NotificationChain msgs = null;

+			if (css != null)

+				msgs = ((InternalEObject)css).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - WorkflowPackage.SERIALIZER__CSS, null, msgs);

+			if (newCSS != null)

+				msgs = ((InternalEObject)newCSS).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - WorkflowPackage.SERIALIZER__CSS, null, msgs);

+			msgs = basicSetCSS(newCSS, msgs);

+			if (msgs != null) msgs.dispatch();

+		}

+		else if (eNotificationRequired())

+			eNotify(new ENotificationImpl(this, Notification.SET, WorkflowPackage.SERIALIZER__CSS, newCSS, newCSS));

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public TraceSpecification getTrace() {

 		return trace;

 	}

@@ -385,6 +439,8 @@
 		switch (featureID) {

 			case WorkflowPackage.SERIALIZER__FORMAT:

 				return basicSetFormat(null, msgs);

+			case WorkflowPackage.SERIALIZER__CSS:

+				return basicSetCSS(null, msgs);

 			case WorkflowPackage.SERIALIZER__TRACE:

 				return basicSetTrace(null, msgs);

 		}

@@ -401,6 +457,8 @@
 		switch (featureID) {

 			case WorkflowPackage.SERIALIZER__FORMAT:

 				return getFormat();

+			case WorkflowPackage.SERIALIZER__CSS:

+				return getCSS();

 			case WorkflowPackage.SERIALIZER__TRACE:

 				return getTrace();

 			case WorkflowPackage.SERIALIZER__FOLDER_NAME:

@@ -428,6 +486,9 @@
 			case WorkflowPackage.SERIALIZER__FORMAT:

 				setFormat((TraceSpecification)newValue);

 				return;

+			case WorkflowPackage.SERIALIZER__CSS:

+				setCSS((TraceSpecification)newValue);

+				return;

 			case WorkflowPackage.SERIALIZER__TRACE:

 				setTrace((TraceSpecification)newValue);

 				return;

@@ -461,6 +522,9 @@
 			case WorkflowPackage.SERIALIZER__FORMAT:

 				setFormat((TraceSpecification)null);

 				return;

+			case WorkflowPackage.SERIALIZER__CSS:

+				setCSS((TraceSpecification)null);

+				return;

 			case WorkflowPackage.SERIALIZER__TRACE:

 				setTrace((TraceSpecification)null);

 				return;

@@ -493,6 +557,8 @@
 		switch (featureID) {

 			case WorkflowPackage.SERIALIZER__FORMAT:

 				return format != null;

+			case WorkflowPackage.SERIALIZER__CSS:

+				return css != null;

 			case WorkflowPackage.SERIALIZER__TRACE:

 				return trace != null;

 			case WorkflowPackage.SERIALIZER__FOLDER_NAME:

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/WorkflowPackageImpl.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/WorkflowPackageImpl.java
index 7a7ea60..5e63f3d 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/WorkflowPackageImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/impl/WorkflowPackageImpl.java
@@ -567,7 +567,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EReference getSerializer_Trace() {

+	public EReference getSerializer_CSS() {

 		return (EReference)serializerEClass.getEStructuralFeatures().get(1);

 	}

 

@@ -576,8 +576,8 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getSerializer_FolderName() {

-		return (EAttribute)serializerEClass.getEStructuralFeatures().get(2);

+	public EReference getSerializer_Trace() {

+		return (EReference)serializerEClass.getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -585,7 +585,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getSerializer_FileName() {

+	public EAttribute getSerializer_FolderName() {

 		return (EAttribute)serializerEClass.getEStructuralFeatures().get(3);

 	}

 

@@ -594,7 +594,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getSerializer_EnabledNormalization() {

+	public EAttribute getSerializer_FileName() {

 		return (EAttribute)serializerEClass.getEStructuralFeatures().get(4);

 	}

 

@@ -603,7 +603,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getSerializer_EnabledInitialValuesPrinting() {

+	public EAttribute getSerializer_EnabledNormalization() {

 		return (EAttribute)serializerEClass.getEStructuralFeatures().get(5);

 	}

 

@@ -612,7 +612,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public EAttribute getSerializer_EnabledLifelinesPrinting() {

+	public EAttribute getSerializer_EnabledInitialValuesPrinting() {

 		return (EAttribute)serializerEClass.getEStructuralFeatures().get(6);

 	}

 

@@ -621,6 +621,15 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	public EAttribute getSerializer_EnabledLifelinesPrinting() {

+		return (EAttribute)serializerEClass.getEStructuralFeatures().get(7);

+	}

+

+	/**

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 */

 	public WorkflowFactory getWorkflowFactory() {

 		return (WorkflowFactory)getEFactoryInstance();

 	}

@@ -693,6 +702,7 @@
 

 		serializerEClass = createEClass(SERIALIZER);

 		createEReference(serializerEClass, SERIALIZER__FORMAT);

+		createEReference(serializerEClass, SERIALIZER__CSS);

 		createEReference(serializerEClass, SERIALIZER__TRACE);

 		createEAttribute(serializerEClass, SERIALIZER__FOLDER_NAME);

 		createEAttribute(serializerEClass, SERIALIZER__FILE_NAME);

@@ -799,6 +809,7 @@
 

 		initEClass(serializerEClass, Serializer.class, "Serializer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

 		initEReference(getSerializer_Format(), theCommonPackage.getTraceSpecification(), null, "format", null, 0, 1, Serializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+		initEReference(getSerializer_CSS(), theCommonPackage.getTraceSpecification(), null, "CSS", null, 0, 1, Serializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEReference(getSerializer_Trace(), theCommonPackage.getTraceSpecification(), null, "trace", null, 0, 1, Serializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getSerializer_FolderName(), ecorePackage.getEString(), "folderName", null, 0, 1, Serializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

 		initEAttribute(getSerializer_FileName(), ecorePackage.getEString(), "fileName", null, 0, 1, Serializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

diff --git a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/serializer/SerializerPackage.java b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/serializer/SerializerPackage.java
index f7f2f92..560f237 100644
--- a/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/serializer/SerializerPackage.java
+++ b/execution/org.eclipse.efm.execution.core/src-gen/org/eclipse/efm/execution/core/workflow/serializer/SerializerPackage.java
@@ -141,6 +141,15 @@
 	int MODEL_GRAPHVIZ_SERIALIZER_WORKER__FORMAT = WorkflowPackage.SERIALIZER__FORMAT;

 

 	/**

+	 * The feature id for the '<em><b>CSS</b></em>' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int MODEL_GRAPHVIZ_SERIALIZER_WORKER__CSS = WorkflowPackage.SERIALIZER__CSS;

+

+	/**

 	 * The feature id for the '<em><b>Trace</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -286,6 +295,15 @@
 	int SYMBEX_GRAPH_VIZ_SERIALIZER_WORKER__FORMAT = WorkflowPackage.SERIALIZER__FORMAT;

 

 	/**

+	 * The feature id for the '<em><b>CSS</b></em>' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int SYMBEX_GRAPH_VIZ_SERIALIZER_WORKER__CSS = WorkflowPackage.SERIALIZER__CSS;

+

+	/**

 	 * The feature id for the '<em><b>Trace</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -431,6 +449,15 @@
 	int BASIC_TRACE_SERIALIZER__FORMAT = WorkflowPackage.SERIALIZER__FORMAT;

 

 	/**

+	 * The feature id for the '<em><b>CSS</b></em>' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int BASIC_TRACE_SERIALIZER__CSS = WorkflowPackage.SERIALIZER__CSS;

+

+	/**

 	 * The feature id for the '<em><b>Trace</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

@@ -576,6 +603,15 @@
 	int TTCN_TRACE_SERIALIZER__FORMAT = WorkflowPackage.SERIALIZER__FORMAT;

 

 	/**

+	 * The feature id for the '<em><b>CSS</b></em>' containment reference.

+	 * <!-- begin-user-doc -->

+	 * <!-- end-user-doc -->

+	 * @generated

+	 * @ordered

+	 */

+	int TTCN_TRACE_SERIALIZER__CSS = WorkflowPackage.SERIALIZER__CSS;

+

+	/**

 	 * The feature id for the '<em><b>Trace</b></em>' containment reference.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/IWorkflowConfigurationConstants.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/IWorkflowConfigurationConstants.java
index 721cb24..b288380 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/IWorkflowConfigurationConstants.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/IWorkflowConfigurationConstants.java
@@ -147,6 +147,9 @@
 	public static final String ATTR_SPECIFICATION_STOP_CRITERIA_STEPS =

 			PLUGIN_LAUNCH_ID + ".ATTR_SPECIFICATION_STOP_CRITERIA_STEPS"; //$NON-NLS-1$

 

+	public static final String ATTR_SPECIFICATION_STOP_CRITERIA_EVALS =

+			PLUGIN_LAUNCH_ID + ".ATTR_SPECIFICATION_STOP_CRITERIA_EVALS"; //$NON-NLS-1$

+

 

 	////////////////////////////////////////////////////////////////////////////

 	// SUPERVISOR: TIME EXPLORATION LIMIT a.k.a. TIMEOUT

@@ -705,7 +708,7 @@
 			// %3% --> state identifier

 			= "lifeline#state = %2%:%4%"

 			// %1% --> condition

-			+ "path#condition = PC: %1%"

+			+ "\npath#condition = PC: %1%"

 			+ "\npath#timed#condition = PtC: %1%"

 			+ "\nnode#condition = "//NC: %1%"

 			+ "\nnode#timed#condition = "//NtC: %1%"

@@ -732,6 +735,72 @@
 

 			+ "\nmachine    = \"run %2%:%3%\""; //$NON-NLS-1$

 

+	public static final String ATTR_FIRST_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC =

+			PLUGIN_LAUNCH_ID + ".ATTR_FIRST_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC"; //$NON-NLS-1$

+

+	public static final String DEFAULT_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC

+			= // Node color / shape

+			    "node#color = 'lightblue'"

+			+ "\nnode#shape = 'ellipse'"

+			+ "\nnode#style = 'filled'"

+

+			+ "\nnode#passed#color = 'yellow'"

+			+ "\nnode#passed#shape = 'ellipse'"

+			+ "\nnode#passed#style = 'filled'"

+

+			+ "\nnode#failed#color = 'red'"

+			+ "\nnode#failed#shape = 'doubleoctagon'"

+			+ "\nnode#failed#style = 'filled'"

+

+			+ "\nnode#inconclusive#color = 'orange'"

+			+ "\nnode#inconclusive#shape = 'octagon'"

+			+ "\nnode#inconclusive#style = 'filled'"

+

+			+ "\nnode#aborted#color = 'red'"

+			+ "\nnode#aborted#shape = 'octagon'"

+			+ "\nnode#aborted#style = 'filled'"

+

+			+ "\nnode#warning#color = 'orange'"

+			+ "\nnode#warning#shape = 'ellipse'"			

+			+ "\nnode#warning#style = 'filled'"			

+

+			+ "\nnode#error#color = 'red'"

+			+ "\nnode#error#shape = 'ellipse'"

+			+ "\nnode#error#style = 'filled'"

+

+			+ "\nnode#alert#color = 'red'"

+			+ "\nnode#alert#shape = 'ellipse'"

+			+ "\nnode#alert#style = 'filled'"

+

+			+ "\nnode#exit#color = 'orange'"

+			+ "\nnode#exit#shape = 'tripleoctagon'"

+			+ "\nnode#exit#style = 'filled'"

+

+			+ "\nnode#redundancy#source#color = 'green'"

+			+ "\nnode#redundancy#source#shape = 'cds'"

+			+ "\nnode#redundancy#source#style = 'filled'"

+

+			+ "\nnode#redundancy#target#color = 'greenyellow'"

+			+ "\nnode#redundancy#target#shape = 'septagon'"

+			+ "\nnode#redundancy#target#style = 'filled'"

+

+			// Path color / shape

+			+ "\npath#passed#color = 'lawngreen'"

+			+ "\npath#passed#shape = 'tripleoctagon'"

+			+ "\npath#passed#style = 'filled'"

+

+			+ "\npath#failed#color = 'red'"

+			+ "\npath#failed#shape = 'doubleoctagon'"

+			+ "\npath#failed#style = 'filled'"

+

+			+ "\npath#inconclusive#color = 'orange'"

+			+ "\npath#inconclusive#shape = 'octagon'"

+			+ "\npath#inconclusive#style = 'filled'"

+

+			+ "\npath#aborted#color = 'red'"

+			+ "\npath#aborted#shape = 'octagon'"

+			+ "\npath#aborted#style = 'filled'";

+

 

 	// Second Symbex Workflow Page

 	public static final String ATTR_ENABLED_SECOND_PARSED_MODEL_TEXTUAL_GENERATION =

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/DirectorCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/DirectorCustomImpl.java
index d847c33..351a8be 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/DirectorCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/DirectorCustomImpl.java
@@ -35,13 +35,13 @@
 public class DirectorCustomImpl extends DirectorImpl

 		implements IWorkflowConfigurationConstants {

 

-	public DirectorCustomImpl(Workflow workflow) {

+	protected DirectorCustomImpl(Workflow workflow) {

 		super();

 

 		setWorkflow(workflow);

 	}

 

-	public DirectorCustomImpl(Workflow workflow, String name) {

+	protected DirectorCustomImpl(Workflow workflow, String name) {

 		super();

 

 		setWorkflow(workflow);

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/SupervisorWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/SupervisorWorkerCustomImpl.java
index 82c671a..50bd548 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/SupervisorWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/SupervisorWorkerCustomImpl.java
@@ -29,7 +29,7 @@
 public class SupervisorWorkerCustomImpl extends SupervisorWorkerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public SupervisorWorkerCustomImpl() {

+	protected SupervisorWorkerCustomImpl() {

 		super();

 	}

 

@@ -46,12 +46,22 @@
 				CommonFactory.eINSTANCE.createGraphExplorationLimit();

 

 		try {

-			limit.setEval( configuration.getAttribute(

+			limit.setStep( configuration.getAttribute(

 					ATTR_SPECIFICATION_STOP_CRITERIA_STEPS, -1) );

 		}

 		catch (CoreException e) {

 			e.printStackTrace();

 

+			limit.setStep( -1 );

+		}

+

+		try {

+			limit.setEval( configuration.getAttribute(

+					ATTR_SPECIFICATION_STOP_CRITERIA_EVALS, -1) );

+		}

+		catch (CoreException e) {

+			e.printStackTrace();

+

 			limit.setEval( -1 );

 		}

 

@@ -160,15 +170,16 @@
 				CommonFactory.eINSTANCE.createGraphExplorationLimit();

 

 		try {

-			limit.setEval( configuration.getAttribute(

+			limit.setStep( configuration.getAttribute(

 					ATTR_TRACE_EXTENSION_EVALUATION_STEPS, -1) );

 		}

 		catch (CoreException e) {

 			e.printStackTrace();

 

-			limit.setEval( -1 );

+			limit.setStep( -1 );

 		}

 

+		limit.setEval( -1 );

 		limit.setNode( -1 );

 		limit.setHeight( -1 );

 		limit.setWidth( -1 );

@@ -251,7 +262,8 @@
 		writer.appendTab2Eol( "limit 'of graph exploration' [" );

 //				"limit 'defining the maximum step & size of the graph' [" );

 

-		writer.appendTab3( "step = " ).appendEol( limit.getEval() );

+		writer.appendTab3( "step = " ).appendEol( limit.getStep() );

+		writer.appendTab3( "eval = " ).appendEol( limit.getEval() );

 

 		long value = -1;

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkflowCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkflowCustomImpl.java
index dd0826c..b1d1776 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkflowCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkflowCustomImpl.java
@@ -44,17 +44,17 @@
 			"CEA - LIST";

 

 

-	public WorkflowCustomImpl() {

+	protected WorkflowCustomImpl() {

 		super();

 	}

 

-	public WorkflowCustomImpl(String name) {

+	protected WorkflowCustomImpl(String name) {

 		super();

 

 		setName(name);

 	}

 

-	public WorkflowCustomImpl(String name, String description) {

+	protected WorkflowCustomImpl(String name, String description) {

 		super();

 

 		setName(name);

@@ -231,6 +231,8 @@
 		SymbexOption symbexMode = getSymbexOption();

 		if( symbexMode != null ) {

 			writer.appendTab2Eol( "symbex 'option' [" );

+			

+			writer.appendTab3Eol( "node_condition_enabled = false");

 

 			writer.appendTab3Eol( "separation_of_pc_disjunction = false" );

 			writer.appendTab3Eol( "check_pathcondition_satisfiability = true" );

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkspaceCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkspaceCustomImpl.java
index 47254fd..fa8689f 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkspaceCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/WorkspaceCustomImpl.java
@@ -24,7 +24,7 @@
 public class WorkspaceCustomImpl extends WorkspaceImpl

 		implements IWorkflowConfigurationConstants {

 

-	public WorkspaceCustomImpl() {

+	protected WorkspaceCustomImpl() {

 		super();

 	}

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ConsoleLogFormatCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ConsoleLogFormatCustomImpl.java
index e319316..e62f993 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ConsoleLogFormatCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ConsoleLogFormatCustomImpl.java
@@ -17,7 +17,7 @@
 

 public class ConsoleLogFormatCustomImpl extends ConsoleLogFormatImpl {

 

-	public ConsoleLogFormatCustomImpl() {

+	protected ConsoleLogFormatCustomImpl() {

 		super();

 	}

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java
index 2ea1215..c934e76 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java
@@ -25,14 +25,12 @@
 public class DeveloperTuningOptionCustomImpl extends DeveloperTuningOptionImpl

 		implements IWorkflowConfigurationConstants {

 

-

-

 	static boolean fEnabledDebugOptions;

 

 	static boolean fEnabledSymbexDeveloperMode;

 

 

-	public DeveloperTuningOptionCustomImpl() {

+	protected DeveloperTuningOptionCustomImpl() {

 		super();

 	}

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ManifestCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ManifestCustomImpl.java
index 4640110..a27cc93 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ManifestCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ManifestCustomImpl.java
@@ -17,14 +17,14 @@
 

 public class ManifestCustomImpl extends ManifestImpl {

 

-	public ManifestCustomImpl(boolean autoconf, boolean autostart) {

+	protected ManifestCustomImpl(boolean autoconf, boolean autostart) {

 		super();

 

 		setAutoconf(autoconf);

 		setAutostart(autostart);

 	}

 

-	public ManifestCustomImpl(boolean autostart) {

+	protected ManifestCustomImpl(boolean autostart) {

 		super();

 

 		setAutostart(autostart);

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ShellModeCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ShellModeCustomImpl.java
index ca0c8d8..94472d4 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ShellModeCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/ShellModeCustomImpl.java
@@ -18,7 +18,7 @@
 

 public class ShellModeCustomImpl extends ShellModeImpl {

 

-	public ShellModeCustomImpl() {

+	protected ShellModeCustomImpl() {

 		super();

 	}

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceElementCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceElementCustomImpl.java
index e92185b..f58c16f 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceElementCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceElementCustomImpl.java
@@ -68,6 +68,9 @@
 		if( getNature() == TraceElementKind.UNDEFINED ) {

 			writer.commentLine( value );

 		}

+		else if( getNature() == TraceElementKind.RAW_ATTRIBUTE ) {

+			writer.appendTabEol( value.toString() );

+		}

 		else {

 			writer.appendTab( getNature().getLiteral() ).append( " = " );

 			if( value instanceof String ) {

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceSpecificationCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceSpecificationCustomImpl.java
index e7969ea..01aa16e 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceSpecificationCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/TraceSpecificationCustomImpl.java
@@ -19,9 +19,7 @@
 

 public class TraceSpecificationCustomImpl extends TraceSpecificationImpl {

 

-

-

-	public TraceSpecificationCustomImpl(String name) {

+	protected TraceSpecificationCustomImpl(String name) {

 		super();

 

 		setName(name);

@@ -42,6 +40,17 @@
 		return( trace );

 	}

 

+	public static TraceSpecificationCustomImpl create(

+			String name, String specification, TraceElementKind defaultNature) {

+

+		TraceSpecificationCustomImpl trace =

+				new TraceSpecificationCustomImpl(name);

+

+		trace.parseAll( specification , defaultNature );

+

+		return( trace );

+	}

+

 

 	public void parseAll(String specification) {

 		parseAll(specification, TraceElementKind.UNDEFINED);

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/BehaviorCoverageWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/BehaviorCoverageWorkerCustomImpl.java
index 7861bff..c87440f 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/BehaviorCoverageWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/BehaviorCoverageWorkerCustomImpl.java
@@ -26,14 +26,14 @@
 public class BehaviorCoverageWorkerCustomImpl extends BehaviorCoverageWorkerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public BehaviorCoverageWorkerCustomImpl(Director director, String name) {

+	protected BehaviorCoverageWorkerCustomImpl(Director director, String name) {

 		super();

 

 		setDirector(director);

 		setName(name);

 	}

 

-	public BehaviorCoverageWorkerCustomImpl(

+	protected BehaviorCoverageWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/TransitionCoverageWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/TransitionCoverageWorkerCustomImpl.java
index 20cde36..bd5d6e5 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/TransitionCoverageWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/coverage/TransitionCoverageWorkerCustomImpl.java
@@ -35,14 +35,14 @@
 public class TransitionCoverageWorkerCustomImpl extends TransitionCoverageWorkerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public TransitionCoverageWorkerCustomImpl(Director director, String name) {

+	protected TransitionCoverageWorkerCustomImpl(Director director, String name) {

 		super();

 

 		setDirector(director);

 		setName(name);

 	}

 

-	public TransitionCoverageWorkerCustomImpl(

+	protected TransitionCoverageWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/BasicTraceSerializerWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/BasicTraceSerializerWorkerCustomImpl.java
index 784c013..a27c089 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/BasicTraceSerializerWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/BasicTraceSerializerWorkerCustomImpl.java
@@ -26,7 +26,7 @@
 public class BasicTraceSerializerWorkerCustomImpl extends BasicTraceSerializerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public BasicTraceSerializerWorkerCustomImpl(

+	protected BasicTraceSerializerWorkerCustomImpl(

 			Director director, String name) {

 		super();

 

@@ -34,7 +34,7 @@
 		setName(name);

 	}

 

-	public BasicTraceSerializerWorkerCustomImpl(

+	protected BasicTraceSerializerWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/ModelGraphvizSerializerWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/ModelGraphvizSerializerWorkerCustomImpl.java
index 73636a4..c600078 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/ModelGraphvizSerializerWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/ModelGraphvizSerializerWorkerCustomImpl.java
@@ -24,7 +24,7 @@
 public class ModelGraphvizSerializerWorkerCustomImpl extends SymbexGraphVizSerializerWorkerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public ModelGraphvizSerializerWorkerCustomImpl(

+	protected ModelGraphvizSerializerWorkerCustomImpl(

 			Director director, String name) {

 		super();

 

@@ -32,7 +32,7 @@
 		setName(name);

 	}

 

-	public ModelGraphvizSerializerWorkerCustomImpl(

+	protected ModelGraphvizSerializerWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/SymbexGraphvizSerializerWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/SymbexGraphvizSerializerWorkerCustomImpl.java
index 0ec48d6..4ef0014 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/SymbexGraphvizSerializerWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/SymbexGraphvizSerializerWorkerCustomImpl.java
@@ -18,13 +18,14 @@
 import org.eclipse.efm.execution.core.util.PrettyPrintWriter;

 import org.eclipse.efm.execution.core.workflow.Director;

 import org.eclipse.efm.execution.core.workflow.common.ManifestCustomImpl;

+import org.eclipse.efm.execution.core.workflow.common.TraceElementKind;

 import org.eclipse.efm.execution.core.workflow.common.TraceSpecificationCustomImpl;

 import org.eclipse.efm.execution.core.workflow.serializer.impl.ModelGraphvizSerializerWorkerImpl;

 

 public class SymbexGraphvizSerializerWorkerCustomImpl extends ModelGraphvizSerializerWorkerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public SymbexGraphvizSerializerWorkerCustomImpl(

+	protected SymbexGraphvizSerializerWorkerCustomImpl(

 			Director director, String name) {

 		super();

 

@@ -32,7 +33,7 @@
 		setName(name);

 	}

 

-	public SymbexGraphvizSerializerWorkerCustomImpl(

+	protected SymbexGraphvizSerializerWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();

 

@@ -70,6 +71,25 @@
 			serializerWorker.setFormat( format );

 		}

 

+		String strCSS;

+		try {

+			strCSS = configuration.getAttribute(

+					ATTR_FIRST_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC,

+					DEFAULT_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC);

+		}

+		catch( CoreException e ) {

+			e.printStackTrace();

+

+			strCSS = DEFAULT_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC;

+		}

+		if( (strCSS != null) && (! strCSS.isEmpty()) ) {

+			TraceSpecificationCustomImpl css =

+					TraceSpecificationCustomImpl.create("css",

+							strCSS, TraceElementKind.RAW_ATTRIBUTE);

+

+			serializerWorker.setCSS( css );

+		}

+

 		String strTrace;

 		try {

 			strTrace = configuration.getAttribute(

@@ -132,6 +152,25 @@
 			serializerWorker.setFormat( format );

 		}

 

+		String strCSS;

+		try {

+			strCSS = configuration.getAttribute(

+					ATTR_FIRST_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC,

+					DEFAULT_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC);

+		}

+		catch( CoreException e ) {

+			e.printStackTrace();

+

+			strCSS = DEFAULT_SYMBEX_OUTPUT_GRAPHVIZ_CSS_SPEC;

+		}

+		if( (strCSS != null) && (! strCSS.isEmpty()) ) {

+			TraceSpecificationCustomImpl css =

+					TraceSpecificationCustomImpl.create("css",

+							strCSS, TraceElementKind.RAW_ATTRIBUTE);

+

+			serializerWorker.setCSS( css );

+		}

+

 		String strTrace;

 		try {

 			strTrace = configuration.getAttribute(

@@ -202,6 +241,12 @@
 			format.toWriter( writer2 );

 		}

 

+		TraceSpecificationCustomImpl css =

+				(TraceSpecificationCustomImpl) getCSS();

+		if( css != null ) {

+			css.toWriter( writer2 );

+		}

+

 		TraceSpecificationCustomImpl trace =

 				(TraceSpecificationCustomImpl) getTrace();

 		if( trace != null ) {

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/TTCNTraceSerializerWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/TTCNTraceSerializerWorkerCustomImpl.java
index 54321d6..83eb09a 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/TTCNTraceSerializerWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/serializer/TTCNTraceSerializerWorkerCustomImpl.java
@@ -24,7 +24,7 @@
 public class TTCNTraceSerializerWorkerCustomImpl extends TTCNTraceSerializerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public TTCNTraceSerializerWorkerCustomImpl(

+	protected TTCNTraceSerializerWorkerCustomImpl(

 			Director director, String name) {

 		super();

 

@@ -32,7 +32,7 @@
 		setName(name);

 	}

 

-	public TTCNTraceSerializerWorkerCustomImpl(

+	protected TTCNTraceSerializerWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/test/OfflineTestWorkerCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/test/OfflineTestWorkerCustomImpl.java
index e1fb350..518381c 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/test/OfflineTestWorkerCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/test/OfflineTestWorkerCustomImpl.java
@@ -25,14 +25,14 @@
 public class OfflineTestWorkerCustomImpl extends OfflineTestWorkerImpl

 		implements IWorkflowConfigurationConstants {

 

-	public OfflineTestWorkerCustomImpl(Director director, String name) {

+	protected OfflineTestWorkerCustomImpl(Director director, String name) {

 		super();

 

 		setDirector(director);

 		setName(name);

 	}

 

-	public OfflineTestWorkerCustomImpl(

+	protected OfflineTestWorkerCustomImpl(

 			Director director, String name, String description) {

 		super();