diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
index 3d16b10..72263f5 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
@@ -42,12 +42,12 @@
 
 
 	// BASIC TRACE GENERATION
-	private TestGenerationBasicTraceConfigurationProfile fBasicTracePage;
+	private final TestGenerationBasicTraceConfigurationProfile fBasicTracePage;
 
 	// TTCN TRACE GENERATION
-	private TestGenerationTTCNConfigurationProfile fTTCNTracePage;
+	private final TestGenerationTTCNConfigurationProfile fTTCNTracePage;
 
-	public TestGenerationConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {
+	public TestGenerationConfigurationPage(final ILaunchConfigurationGUIelement masterGUIelement) {
 		super(masterGUIelement);
 		fBasicTracePage = new TestGenerationBasicTraceConfigurationProfile(this);
 
@@ -59,7 +59,7 @@
 	// ======================================================================================
 
 	@Override
-	protected void createContent(Composite parent, IWidgetToolkit widgetToolkit)
+	protected void createContent(final Composite parent, final IWidgetToolkit widgetToolkit)
 	{
 		createExtensionFormatPage(parent, widgetToolkit);
 
@@ -79,15 +79,15 @@
 	}
 
 
-	public void createExtensionFormatPage(Composite parent, IWidgetToolkit widgetToolkit) {
-		Group group = widgetToolkit.createGroup(
+	public void createExtensionFormatPage(final Composite parent, final IWidgetToolkit widgetToolkit) {
+		final Group group = widgetToolkit.createGroup(
 				parent, "Trace Extension Page",
 				1, 1, GridData.FILL_HORIZONTAL);
 
 		createExtensionSelectionComponent(group, widgetToolkit);
 	}
 
-	private void createExtensionSelectionComponent(Composite parent, IWidgetToolkit widgetToolkit) {
+	private void createExtensionSelectionComponent(final Composite parent, final IWidgetToolkit widgetToolkit) {
 		groupTraceExtension = widgetToolkit.createGroup(parent,
 				"Trace Extension for Test Generation Purpose",
 				1, 1, GridData.FILL_HORIZONTAL);
@@ -101,12 +101,12 @@
 		fTraceExtensionEnabledBooleanField.addSelectionListener(
 				new SelectionAdapter() {
 					@Override
-					public void widgetSelected(SelectionEvent e) {
+					public void widgetSelected(final SelectionEvent e) {
 						handleEnablingTraceExtension();
 
 						propertyChange( new PropertyChangeEvent(this, ATTR_ENABLED_TRACE_EXTENSION,
-								new Boolean(fTraceExtensionEnabledBooleanField.getBooleanValue()),
-								new Boolean(fTraceExtensionEnabledBooleanField.getBooleanValue()) ));
+								Boolean.valueOf(fTraceExtensionEnabledBooleanField.getBooleanValue()),
+								Boolean.valueOf(fTraceExtensionEnabledBooleanField.getBooleanValue()) ));
 
 					}
 				});
@@ -152,7 +152,7 @@
 	// ======================================================================================
 
 	@Override
-	public void setDefaultsImpl(ILaunchConfigurationWorkingCopy configuration) {
+	public void setDefaultsImpl(final ILaunchConfigurationWorkingCopy configuration) {
 		configuration.setAttribute(
 				ATTR_ENABLED_TRACE_EXTENSION, false);
 
@@ -169,7 +169,7 @@
 	}
 
 	@Override
-	public void initializeFromImpl(ILaunchConfiguration configuration) {
+	public void initializeFromImpl(final ILaunchConfiguration configuration) {
 //		String analysisProfile;
 //		try {
 //			analysisProfile = configuration.getAttribute(
@@ -195,7 +195,7 @@
 
 
 	@Override
-	public void performApplyImpl(ILaunchConfigurationWorkingCopy configuration)
+	public void performApplyImpl(final ILaunchConfigurationWorkingCopy configuration)
 	{
 		fBasicTracePage.performApply(configuration);
 
@@ -207,7 +207,7 @@
 	// ======================================================================================
 
 	@Override
-	public FieldValidationReturn areFieldsValidImpl(ILaunchConfiguration launchConfig) {
+	public FieldValidationReturn areFieldsValidImpl(final ILaunchConfiguration launchConfig) {
 		if( ! fTraceExtensionEvaluationStepsLimitIntegerField.isValid() ) {
 			return new FieldValidationReturn(false, "Evaluation Steps is not a valid integer");
 		}
@@ -228,22 +228,23 @@
 	// Property Change
 	//
 	@Override
-	public void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+	public void handleConfigurationPropertyChange(final PropertyChangeEvent event) {
 		switch( event.getProperty() ) {
 		case ATTR_SPECIFICATION_MODEL_ANALYSIS_PROFILE:
 			switch ( (AnalysisProfileKind) event.getNewValue() ) {
-			case ANALYSIS_TEST_OFFLINE_PROFILE:
-				groupTraceExtension.setEnabled(false);
-
-				propagateVisibility(groupExtensionObjective, false);
-
-				setVisibleAndEnabled(fBasicTracePage.getSection(), false);
-				setVisibleAndEnabled(fTTCNTracePage.getSection() , false);
-
-				break;
+//			case :
+//				groupTraceExtension.setEnabled(false);
+//
+//				propagateVisibility(groupExtensionObjective, false);
+//
+//				setVisibleAndEnabled(fBasicTracePage.getSection(), false);
+//				setVisibleAndEnabled(fTTCNTracePage.getSection() , false);
+//
+//				break;
 
 			case ANALYSIS_TRANSITION_COVERAGE_PROFILE:
 			case ANALYSIS_BEHAVIOR_SELECTION_PROFILE:
+			case ANALYSIS_TEST_OFFLINE_PROFILE:
 			case ANALYSIS_ACSL_GENERATION_PROFILE:
 			case ANALYSIS_EXTRANEOUS_PROFILE:
 			case ANALYSIS_EXPLORATION_PROFILE:
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 3a26554..8ff8650 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
@@ -120,6 +120,7 @@
 		switch( analysisProfile ) {
 		case ANALYSIS_TRANSITION_COVERAGE_PROFILE:
 		case ANALYSIS_BEHAVIOR_SELECTION_PROFILE:
+		case ANALYSIS_TEST_OFFLINE_PROFILE:
 		case ANALYSIS_ACSL_GENERATION_PROFILE:
 			return true;
 
@@ -132,11 +133,11 @@
 		switch( analysisProfile ) {
 		case ANALYSIS_TRANSITION_COVERAGE_PROFILE:
 		case ANALYSIS_BEHAVIOR_SELECTION_PROFILE:
+		case ANALYSIS_TEST_OFFLINE_PROFILE:
 		case ANALYSIS_ACSL_GENERATION_PROFILE:
 			return false;
 
 		case ANALYSIS_EXPLORATION_PROFILE:
-		case ANALYSIS_TEST_OFFLINE_PROFILE:
 		case ANALYSIS_EXTRANEOUS_PROFILE:
 		case ANALYSIS_UNDEFINED_PROFILE:
 		default:
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 a5cbda5..284426e 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
@@ -158,9 +158,12 @@
 			manifest.toWriter(writer2);
 		}
 
-
 		writer.appendTab2Eol( "property [" )
 			.appendTab3Eol( "format = \"BASIC#XLIA\"" )
+			.appendTab3Eol( "trace#folding  = true" )
+			.appendTab3Eol( "step#scheduler = '|i|'" )
+			.appendTab3Eol( "trace#reporting#size = 7" )
+			.appendTab3Eol( "slice = true" )
 			.appendTab2Eol( "] // end property" );
 
 		writer.appendTab2Eol( "merged_trace [" );
