[releng] Fix regeneration of EvaluationStatus model
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/EvaluationStatusPackage.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/EvaluationStatusPackage.java
index 8c158dd..94a733d 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/EvaluationStatusPackage.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/EvaluationStatusPackage.java
@@ -68,672 +68,6 @@
 	EvaluationStatusPackage eINSTANCE = org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationElementImpl <em>Evaluation Element</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationElementImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getEvaluationElement()
-	 * @generated
-	 */
-	int EVALUATION_ELEMENT = 4;
-
-	/**
-	 * The number of structural features of the '<em>Evaluation Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVALUATION_ELEMENT_FEATURE_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.ElementStatusImpl <em>Element Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.ElementStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getElementStatus()
-	 * @generated
-	 */
-	int ELEMENT_STATUS = 3;
-
-	/**
-	 * The feature id for the '<em><b>Depth</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ELEMENT_STATUS__DEPTH = EVALUATION_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Sources</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ELEMENT_STATUS__SOURCES = EVALUATION_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Targets</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ELEMENT_STATUS__TARGETS = EVALUATION_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Element Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ELEMENT_STATUS_FEATURE_COUNT = EVALUATION_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.PropertyStatusImpl <em>Property Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.PropertyStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getPropertyStatus()
-	 * @generated
-	 */
-	int PROPERTY_STATUS = 6;
-
-	/**
-	 * The feature id for the '<em><b>Depth</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__DEPTH = ELEMENT_STATUS__DEPTH;
-
-	/**
-	 * The feature id for the '<em><b>Sources</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__SOURCES = ELEMENT_STATUS__SOURCES;
-
-	/**
-	 * The feature id for the '<em><b>Targets</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__TARGETS = ELEMENT_STATUS__TARGETS;
-
-	/**
-	 * The feature id for the '<em><b>Is Assignable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__IS_ASSIGNABLE = ELEMENT_STATUS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Is Assigned</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__IS_ASSIGNED = ELEMENT_STATUS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Is Dirty</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__IS_DIRTY = ELEMENT_STATUS_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Is Error</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__IS_ERROR = ELEMENT_STATUS_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Is Ready</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS__IS_READY = ELEMENT_STATUS_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the '<em>Property Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_STATUS_FEATURE_COUNT = ELEMENT_STATUS_FEATURE_COUNT + 5;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.AssociationStatusImpl <em>Association Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.AssociationStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getAssociationStatus()
-	 * @generated
-	 */
-	int ASSOCIATION_STATUS = 0;
-
-	/**
-	 * The feature id for the '<em><b>Depth</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__DEPTH = PROPERTY_STATUS__DEPTH;
-
-	/**
-	 * The feature id for the '<em><b>Sources</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__SOURCES = PROPERTY_STATUS__SOURCES;
-
-	/**
-	 * The feature id for the '<em><b>Targets</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__TARGETS = PROPERTY_STATUS__TARGETS;
-
-	/**
-	 * The feature id for the '<em><b>Is Assignable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_ASSIGNABLE = PROPERTY_STATUS__IS_ASSIGNABLE;
-
-	/**
-	 * The feature id for the '<em><b>Is Assigned</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_ASSIGNED = PROPERTY_STATUS__IS_ASSIGNED;
-
-	/**
-	 * The feature id for the '<em><b>Is Dirty</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_DIRTY = PROPERTY_STATUS__IS_DIRTY;
-
-	/**
-	 * The feature id for the '<em><b>Is Error</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_ERROR = PROPERTY_STATUS__IS_ERROR;
-
-	/**
-	 * The feature id for the '<em><b>Is Ready</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_READY = PROPERTY_STATUS__IS_READY;
-
-	/**
-	 * The feature id for the '<em><b>Forward EReference</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__FORWARD_EREFERENCE = PROPERTY_STATUS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>From Class Statuses</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__FROM_CLASS_STATUSES = PROPERTY_STATUS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Is Input</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_INPUT = PROPERTY_STATUS_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Is Output</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__IS_OUTPUT = PROPERTY_STATUS_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Owning Transformation Status</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS = PROPERTY_STATUS_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>To Class Statuses</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS__TO_CLASS_STATUSES = PROPERTY_STATUS_FEATURE_COUNT + 5;
-
-	/**
-	 * The number of structural features of the '<em>Association Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_STATUS_FEATURE_COUNT = PROPERTY_STATUS_FEATURE_COUNT + 6;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.AttributeStatusImpl <em>Attribute Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.AttributeStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getAttributeStatus()
-	 * @generated
-	 */
-	int ATTRIBUTE_STATUS = 1;
-
-	/**
-	 * The feature id for the '<em><b>Depth</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__DEPTH = PROPERTY_STATUS__DEPTH;
-
-	/**
-	 * The feature id for the '<em><b>Sources</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__SOURCES = PROPERTY_STATUS__SOURCES;
-
-	/**
-	 * The feature id for the '<em><b>Targets</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__TARGETS = PROPERTY_STATUS__TARGETS;
-
-	/**
-	 * The feature id for the '<em><b>Is Assignable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__IS_ASSIGNABLE = PROPERTY_STATUS__IS_ASSIGNABLE;
-
-	/**
-	 * The feature id for the '<em><b>Is Assigned</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__IS_ASSIGNED = PROPERTY_STATUS__IS_ASSIGNED;
-
-	/**
-	 * The feature id for the '<em><b>Is Dirty</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__IS_DIRTY = PROPERTY_STATUS__IS_DIRTY;
-
-	/**
-	 * The feature id for the '<em><b>Is Error</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__IS_ERROR = PROPERTY_STATUS__IS_ERROR;
-
-	/**
-	 * The feature id for the '<em><b>Is Ready</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__IS_READY = PROPERTY_STATUS__IS_READY;
-
-	/**
-	 * The feature id for the '<em><b>EFeature</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__EFEATURE = PROPERTY_STATUS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Object</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__OBJECT = PROPERTY_STATUS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Owning Class Status</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS__OWNING_CLASS_STATUS = PROPERTY_STATUS_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Attribute Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_STATUS_FEATURE_COUNT = PROPERTY_STATUS_FEATURE_COUNT + 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.ClassStatusImpl <em>Class Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.ClassStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getClassStatus()
-	 * @generated
-	 */
-	int CLASS_STATUS = 2;
-
-	/**
-	 * The feature id for the '<em><b>Depth</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__DEPTH = ELEMENT_STATUS__DEPTH;
-
-	/**
-	 * The feature id for the '<em><b>Sources</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__SOURCES = ELEMENT_STATUS__SOURCES;
-
-	/**
-	 * The feature id for the '<em><b>Targets</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__TARGETS = ELEMENT_STATUS__TARGETS;
-
-	/**
-	 * The feature id for the '<em><b>Association Statuses</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__ASSOCIATION_STATUSES = ELEMENT_STATUS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EObject</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__EOBJECT = ELEMENT_STATUS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Is Input</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__IS_INPUT = ELEMENT_STATUS_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Is Output</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__IS_OUTPUT = ELEMENT_STATUS_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Owned Attribute Statuses</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES = ELEMENT_STATUS_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Owning Transformation Status</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__OWNING_TRANSFORMATION_STATUS = ELEMENT_STATUS_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS__TYPE = ELEMENT_STATUS_FEATURE_COUNT + 6;
-
-	/**
-	 * The number of structural features of the '<em>Class Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS_STATUS_FEATURE_COUNT = ELEMENT_STATUS_FEATURE_COUNT + 7;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.MappingStatusImpl <em>Mapping Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.MappingStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getMappingStatus()
-	 * @generated
-	 */
-	int MAPPING_STATUS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Bound Values</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__BOUND_VALUES = EVALUATION_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Depth</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__DEPTH = EVALUATION_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Inputs</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__INPUTS = EVALUATION_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Is Blocked</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__IS_BLOCKED = EVALUATION_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Is Dirty</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__IS_DIRTY = EVALUATION_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Outputs</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__OUTPUTS = EVALUATION_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Owning Transformation Status</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS = EVALUATION_ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Referred Mapping Call</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS__REFERRED_MAPPING_CALL = EVALUATION_ELEMENT_FEATURE_COUNT + 7;
-
-	/**
-	 * The number of structural features of the '<em>Mapping Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MAPPING_STATUS_FEATURE_COUNT = EVALUATION_ELEMENT_FEATURE_COUNT + 8;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.TransformationStatusImpl <em>Transformation Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.TransformationStatusImpl
-	 * @see org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.impl.EvaluationStatusPackageImpl#getTransformationStatus()
-	 * @generated
-	 */
-	int TRANSFORMATION_STATUS = 7;
-
-	/**
-	 * The feature id for the '<em><b>Owned Association Statuses</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES = EVALUATION_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owned Class Statuses</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES = EVALUATION_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Owned Mapping Statuses</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES = EVALUATION_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Transformation Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSFORMATION_STATUS_FEATURE_COUNT = EVALUATION_ELEMENT_FEATURE_COUNT + 3;
-
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.AssociationStatus <em>Association Status</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AssociationStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AssociationStatusImpl.java
index ef2992c..7b70bd7 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AssociationStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AssociationStatusImpl.java
@@ -48,6 +48,15 @@
  */
 public class AssociationStatusImpl extends PropertyStatusImpl implements AssociationStatus {
 	/**
+	 * The number of structural features of the '<em>Association Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ASSOCIATION_STATUS_FEATURE_COUNT = PropertyStatusImpl.PROPERTY_STATUS_FEATURE_COUNT + 6;
+
+	/**
 	 * The cached value of the '{@link #getForwardEReference() <em>Forward EReference</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -148,7 +157,7 @@
 			forwardEReference = (EReference)eResolveProxy(oldForwardEReference);
 			if (forwardEReference != oldForwardEReference) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EvaluationStatusPackage.ASSOCIATION_STATUS__FORWARD_EREFERENCE, oldForwardEReference, forwardEReference));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, 8, oldForwardEReference, forwardEReference));
 			}
 		}
 		return forwardEReference;
@@ -173,7 +182,7 @@
 		EReference oldForwardEReference = forwardEReference;
 		forwardEReference = newForwardEReference;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ASSOCIATION_STATUS__FORWARD_EREFERENCE, oldForwardEReference, forwardEReference));
+			eNotify(new ENotificationImpl(this, Notification.SET, 8, oldForwardEReference, forwardEReference));
 	}
 
 	/**
@@ -184,7 +193,7 @@
 	@Override
 	public EList<ClassStatus> getFromClassStatuses() {
 		if (fromClassStatuses == null) {
-			fromClassStatuses = new EObjectResolvingEList<ClassStatus>(ClassStatus.class, this, EvaluationStatusPackage.ASSOCIATION_STATUS__FROM_CLASS_STATUSES);
+			fromClassStatuses = new EObjectResolvingEList<ClassStatus>(ClassStatus.class, this, 9);
 		}
 		return fromClassStatuses;
 	}
@@ -209,7 +218,7 @@
 		boolean oldIsInput = isInput;
 		isInput = newIsInput;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ASSOCIATION_STATUS__IS_INPUT, oldIsInput, isInput));
+			eNotify(new ENotificationImpl(this, Notification.SET, 10, oldIsInput, isInput));
 	}
 
 	/**
@@ -232,7 +241,7 @@
 		boolean oldIsOutput = isOutput;
 		isOutput = newIsOutput;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ASSOCIATION_STATUS__IS_OUTPUT, oldIsOutput, isOutput));
+			eNotify(new ENotificationImpl(this, Notification.SET, 11, oldIsOutput, isOutput));
 	}
 
 	/**
@@ -242,7 +251,7 @@
 	 */
 	@Override
 	public TransformationStatus getOwningTransformationStatus() {
-		if (eContainerFeatureID() != EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS) return null;
+		if (eContainerFeatureID() != (12)) return null;
 		return (TransformationStatus)eInternalContainer();
 	}
 
@@ -252,7 +261,7 @@
 	 * @generated
 	 */
 	public NotificationChain basicSetOwningTransformationStatus(TransformationStatus newOwningTransformationStatus, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newOwningTransformationStatus, EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS, msgs);
+		msgs = eBasicSetContainer((InternalEObject)newOwningTransformationStatus, 12, msgs);
 		return msgs;
 	}
 
@@ -263,19 +272,19 @@
 	 */
 	@Override
 	public void setOwningTransformationStatus(TransformationStatus newOwningTransformationStatus) {
-		if (newOwningTransformationStatus != eInternalContainer() || (eContainerFeatureID() != EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS && newOwningTransformationStatus != null)) {
+		if (newOwningTransformationStatus != eInternalContainer() || (eContainerFeatureID() != (12) && newOwningTransformationStatus != null)) {
 			if (EcoreUtil.isAncestor(this, newOwningTransformationStatus))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newOwningTransformationStatus != null)
-				msgs = ((InternalEObject)newOwningTransformationStatus).eInverseAdd(this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES, TransformationStatus.class, msgs);
+				msgs = ((InternalEObject)newOwningTransformationStatus).eInverseAdd(this, 0, TransformationStatus.class, msgs);
 			msgs = basicSetOwningTransformationStatus(newOwningTransformationStatus, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS, newOwningTransformationStatus, newOwningTransformationStatus));
+			eNotify(new ENotificationImpl(this, Notification.SET, 12, newOwningTransformationStatus, newOwningTransformationStatus));
 	}
 
 	/**
@@ -286,7 +295,7 @@
 	@Override
 	public EList<ClassStatus> getToClassStatuses() {
 		if (toClassStatuses == null) {
-			toClassStatuses = new EObjectResolvingEList<ClassStatus>(ClassStatus.class, this, EvaluationStatusPackage.ASSOCIATION_STATUS__TO_CLASS_STATUSES);
+			toClassStatuses = new EObjectResolvingEList<ClassStatus>(ClassStatus.class, this, 13);
 		}
 		return toClassStatuses;
 	}
@@ -294,7 +303,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
@@ -309,7 +318,7 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 12:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
 				return basicSetOwningTransformationStatus((TransformationStatus)otherEnd, msgs);
@@ -325,7 +334,7 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 12:
 				return basicSetOwningTransformationStatus(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -339,8 +348,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
-				return eInternalContainer().eInverseRemove(this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES, TransformationStatus.class, msgs);
+			case 12:
+				return eInternalContainer().eInverseRemove(this, 0, TransformationStatus.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -353,18 +362,18 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FORWARD_EREFERENCE:
+			case 8:
 				if (resolve) return getForwardEReference();
 				return basicGetForwardEReference();
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FROM_CLASS_STATUSES:
+			case 9:
 				return getFromClassStatuses();
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_INPUT:
+			case 10:
 				return isIsInput();
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_OUTPUT:
+			case 11:
 				return isIsOutput();
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 12:
 				return getOwningTransformationStatus();
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__TO_CLASS_STATUSES:
+			case 13:
 				return getToClassStatuses();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -379,23 +388,23 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FORWARD_EREFERENCE:
+			case 8:
 				setForwardEReference((EReference)newValue);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FROM_CLASS_STATUSES:
+			case 9:
 				getFromClassStatuses().clear();
 				getFromClassStatuses().addAll((Collection<? extends ClassStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_INPUT:
+			case 10:
 				setIsInput((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_OUTPUT:
+			case 11:
 				setIsOutput((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 12:
 				setOwningTransformationStatus((TransformationStatus)newValue);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__TO_CLASS_STATUSES:
+			case 13:
 				getToClassStatuses().clear();
 				getToClassStatuses().addAll((Collection<? extends ClassStatus>)newValue);
 				return;
@@ -411,22 +420,22 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FORWARD_EREFERENCE:
+			case 8:
 				setForwardEReference((EReference)null);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FROM_CLASS_STATUSES:
+			case 9:
 				getFromClassStatuses().clear();
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_INPUT:
+			case 10:
 				setIsInput(IS_INPUT_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_OUTPUT:
+			case 11:
 				setIsOutput(IS_OUTPUT_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 12:
 				setOwningTransformationStatus((TransformationStatus)null);
 				return;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__TO_CLASS_STATUSES:
+			case 13:
 				getToClassStatuses().clear();
 				return;
 		}
@@ -441,17 +450,17 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FORWARD_EREFERENCE:
+			case 8:
 				return forwardEReference != null;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__FROM_CLASS_STATUSES:
+			case 9:
 				return fromClassStatuses != null && !fromClassStatuses.isEmpty();
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_INPUT:
+			case 10:
 				return isInput != IS_INPUT_EDEFAULT;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__IS_OUTPUT:
+			case 11:
 				return isOutput != IS_OUTPUT_EDEFAULT;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 12:
 				return getOwningTransformationStatus() != null;
-			case EvaluationStatusPackage.ASSOCIATION_STATUS__TO_CLASS_STATUSES:
+			case 13:
 				return toClassStatuses != null && !toClassStatuses.isEmpty();
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AttributeStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AttributeStatusImpl.java
index dc576d4..62e365c 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AttributeStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/AttributeStatusImpl.java
@@ -40,6 +40,15 @@
  */
 public class AttributeStatusImpl extends PropertyStatusImpl implements AttributeStatus {
 	/**
+	 * The number of structural features of the '<em>Attribute Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ATTRIBUTE_STATUS_FEATURE_COUNT = PropertyStatusImpl.PROPERTY_STATUS_FEATURE_COUNT + 3;
+
+	/**
 	 * The cached value of the '{@link #getEFeature() <em>EFeature</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -100,7 +109,7 @@
 			eFeature = (EStructuralFeature)eResolveProxy(oldEFeature);
 			if (eFeature != oldEFeature) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EvaluationStatusPackage.ATTRIBUTE_STATUS__EFEATURE, oldEFeature, eFeature));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, 8, oldEFeature, eFeature));
 			}
 		}
 		return eFeature;
@@ -125,7 +134,7 @@
 		EStructuralFeature oldEFeature = eFeature;
 		eFeature = newEFeature;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ATTRIBUTE_STATUS__EFEATURE, oldEFeature, eFeature));
+			eNotify(new ENotificationImpl(this, Notification.SET, 8, oldEFeature, eFeature));
 	}
 
 	/**
@@ -148,7 +157,7 @@
 		Object oldObject = object;
 		object = newObject;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ATTRIBUTE_STATUS__OBJECT, oldObject, object));
+			eNotify(new ENotificationImpl(this, Notification.SET, 9, oldObject, object));
 	}
 
 	/**
@@ -158,7 +167,7 @@
 	 */
 	@Override
 	public ClassStatus getOwningClassStatus() {
-		if (eContainerFeatureID() != EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS) return null;
+		if (eContainerFeatureID() != (10)) return null;
 		return (ClassStatus)eInternalContainer();
 	}
 
@@ -168,7 +177,7 @@
 	 * @generated
 	 */
 	public NotificationChain basicSetOwningClassStatus(ClassStatus newOwningClassStatus, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newOwningClassStatus, EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS, msgs);
+		msgs = eBasicSetContainer((InternalEObject)newOwningClassStatus, 10, msgs);
 		return msgs;
 	}
 
@@ -179,25 +188,25 @@
 	 */
 	@Override
 	public void setOwningClassStatus(ClassStatus newOwningClassStatus) {
-		if (newOwningClassStatus != eInternalContainer() || (eContainerFeatureID() != EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS && newOwningClassStatus != null)) {
+		if (newOwningClassStatus != eInternalContainer() || (eContainerFeatureID() != (10) && newOwningClassStatus != null)) {
 			if (EcoreUtil.isAncestor(this, newOwningClassStatus))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newOwningClassStatus != null)
-				msgs = ((InternalEObject)newOwningClassStatus).eInverseAdd(this, EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES, ClassStatus.class, msgs);
+				msgs = ((InternalEObject)newOwningClassStatus).eInverseAdd(this, 7, ClassStatus.class, msgs);
 			msgs = basicSetOwningClassStatus(newOwningClassStatus, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS, newOwningClassStatus, newOwningClassStatus));
+			eNotify(new ENotificationImpl(this, Notification.SET, 10, newOwningClassStatus, newOwningClassStatus));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
@@ -212,7 +221,7 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
+			case 10:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
 				return basicSetOwningClassStatus((ClassStatus)otherEnd, msgs);
@@ -228,7 +237,7 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
+			case 10:
 				return basicSetOwningClassStatus(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -242,8 +251,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
-				return eInternalContainer().eInverseRemove(this, EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES, ClassStatus.class, msgs);
+			case 10:
+				return eInternalContainer().eInverseRemove(this, 7, ClassStatus.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -256,12 +265,12 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__EFEATURE:
+			case 8:
 				if (resolve) return getEFeature();
 				return basicGetEFeature();
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OBJECT:
+			case 9:
 				return getObject();
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
+			case 10:
 				return getOwningClassStatus();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -275,13 +284,13 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__EFEATURE:
+			case 8:
 				setEFeature((EStructuralFeature)newValue);
 				return;
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OBJECT:
+			case 9:
 				setObject(newValue);
 				return;
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
+			case 10:
 				setOwningClassStatus((ClassStatus)newValue);
 				return;
 		}
@@ -296,13 +305,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__EFEATURE:
+			case 8:
 				setEFeature((EStructuralFeature)null);
 				return;
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OBJECT:
+			case 9:
 				setObject(OBJECT_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
+			case 10:
 				setOwningClassStatus((ClassStatus)null);
 				return;
 		}
@@ -317,11 +326,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__EFEATURE:
+			case 8:
 				return eFeature != null;
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OBJECT:
+			case 9:
 				return OBJECT_EDEFAULT == null ? object != null : !OBJECT_EDEFAULT.equals(object);
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS:
+			case 10:
 				return getOwningClassStatus() != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ClassStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ClassStatusImpl.java
index 9bb22f6..80bb0d4 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ClassStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ClassStatusImpl.java
@@ -53,6 +53,15 @@
  */
 public class ClassStatusImpl extends ElementStatusImpl implements ClassStatus {
 	/**
+	 * The number of structural features of the '<em>Class Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int CLASS_STATUS_FEATURE_COUNT = ElementStatusImpl.ELEMENT_STATUS_FEATURE_COUNT + 7;
+
+	/**
 	 * The cached value of the '{@link #getAssociationStatuses() <em>Association Statuses</em>}' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -159,7 +168,7 @@
 	@Override
 	public EList<AssociationStatus> getAssociationStatuses() {
 		if (associationStatuses == null) {
-			associationStatuses = new EObjectResolvingEList<AssociationStatus>(AssociationStatus.class, this, EvaluationStatusPackage.CLASS_STATUS__ASSOCIATION_STATUSES);
+			associationStatuses = new EObjectResolvingEList<AssociationStatus>(AssociationStatus.class, this, 3);
 		}
 		return associationStatuses;
 	}
@@ -176,7 +185,7 @@
 			eObject = eResolveProxy(oldEObject);
 			if (eObject != oldEObject) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EvaluationStatusPackage.CLASS_STATUS__EOBJECT, oldEObject, eObject));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, 4, oldEObject, eObject));
 			}
 		}
 		return eObject;
@@ -201,7 +210,7 @@
 		EObject oldEObject = eObject;
 		eObject = newEObject;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.CLASS_STATUS__EOBJECT, oldEObject, eObject));
+			eNotify(new ENotificationImpl(this, Notification.SET, 4, oldEObject, eObject));
 	}
 
 	/**
@@ -224,7 +233,7 @@
 		boolean oldIsInput = isInput;
 		isInput = newIsInput;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.CLASS_STATUS__IS_INPUT, oldIsInput, isInput));
+			eNotify(new ENotificationImpl(this, Notification.SET, 5, oldIsInput, isInput));
 	}
 
 	/**
@@ -247,7 +256,7 @@
 		boolean oldIsOutput = isOutput;
 		isOutput = newIsOutput;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.CLASS_STATUS__IS_OUTPUT, oldIsOutput, isOutput));
+			eNotify(new ENotificationImpl(this, Notification.SET, 6, oldIsOutput, isOutput));
 	}
 
 	/**
@@ -258,7 +267,7 @@
 	@Override
 	public EList<AttributeStatus> getOwnedAttributeStatuses() {
 		if (ownedAttributeStatuses == null) {
-			ownedAttributeStatuses = new EObjectContainmentWithInverseEList<AttributeStatus>(AttributeStatus.class, this, EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES, EvaluationStatusPackage.ATTRIBUTE_STATUS__OWNING_CLASS_STATUS);
+			ownedAttributeStatuses = new EObjectContainmentWithInverseEList<AttributeStatus>(AttributeStatus.class, this, 7, 10);
 		}
 		return ownedAttributeStatuses;
 	}
@@ -270,7 +279,7 @@
 	 */
 	@Override
 	public TransformationStatus getOwningTransformationStatus() {
-		if (eContainerFeatureID() != EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS) return null;
+		if (eContainerFeatureID() != (8)) return null;
 		return (TransformationStatus)eInternalContainer();
 	}
 
@@ -280,7 +289,7 @@
 	 * @generated
 	 */
 	public NotificationChain basicSetOwningTransformationStatus(TransformationStatus newOwningTransformationStatus, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newOwningTransformationStatus, EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS, msgs);
+		msgs = eBasicSetContainer((InternalEObject)newOwningTransformationStatus, 8, msgs);
 		return msgs;
 	}
 
@@ -291,19 +300,19 @@
 	 */
 	@Override
 	public void setOwningTransformationStatus(TransformationStatus newOwningTransformationStatus) {
-		if (newOwningTransformationStatus != eInternalContainer() || (eContainerFeatureID() != EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS && newOwningTransformationStatus != null)) {
+		if (newOwningTransformationStatus != eInternalContainer() || (eContainerFeatureID() != (8) && newOwningTransformationStatus != null)) {
 			if (EcoreUtil.isAncestor(this, newOwningTransformationStatus))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newOwningTransformationStatus != null)
-				msgs = ((InternalEObject)newOwningTransformationStatus).eInverseAdd(this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES, TransformationStatus.class, msgs);
+				msgs = ((InternalEObject)newOwningTransformationStatus).eInverseAdd(this, 1, TransformationStatus.class, msgs);
 			msgs = basicSetOwningTransformationStatus(newOwningTransformationStatus, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS, newOwningTransformationStatus, newOwningTransformationStatus));
+			eNotify(new ENotificationImpl(this, Notification.SET, 8, newOwningTransformationStatus, newOwningTransformationStatus));
 	}
 
 	/**
@@ -318,7 +327,7 @@
 			type = (Type)eResolveProxy(oldType);
 			if (type != oldType) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EvaluationStatusPackage.CLASS_STATUS__TYPE, oldType, type));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, 9, oldType, type));
 			}
 		}
 		return type;
@@ -343,13 +352,13 @@
 		Type oldType = type;
 		type = newType;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.CLASS_STATUS__TYPE, oldType, type));
+			eNotify(new ENotificationImpl(this, Notification.SET, 9, oldType, type));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
@@ -365,9 +374,9 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES:
+			case 7:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getOwnedAttributeStatuses()).basicAdd(otherEnd, msgs);
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 8:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
 				return basicSetOwningTransformationStatus((TransformationStatus)otherEnd, msgs);
@@ -383,9 +392,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES:
+			case 7:
 				return ((InternalEList<?>)getOwnedAttributeStatuses()).basicRemove(otherEnd, msgs);
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 8:
 				return basicSetOwningTransformationStatus(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -399,8 +408,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
-				return eInternalContainer().eInverseRemove(this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES, TransformationStatus.class, msgs);
+			case 8:
+				return eInternalContainer().eInverseRemove(this, 1, TransformationStatus.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -413,20 +422,20 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.CLASS_STATUS__ASSOCIATION_STATUSES:
+			case 3:
 				return getAssociationStatuses();
-			case EvaluationStatusPackage.CLASS_STATUS__EOBJECT:
+			case 4:
 				if (resolve) return getEObject();
 				return basicGetEObject();
-			case EvaluationStatusPackage.CLASS_STATUS__IS_INPUT:
+			case 5:
 				return isIsInput();
-			case EvaluationStatusPackage.CLASS_STATUS__IS_OUTPUT:
+			case 6:
 				return isIsOutput();
-			case EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES:
+			case 7:
 				return getOwnedAttributeStatuses();
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 8:
 				return getOwningTransformationStatus();
-			case EvaluationStatusPackage.CLASS_STATUS__TYPE:
+			case 9:
 				if (resolve) return getType();
 				return basicGetType();
 		}
@@ -442,27 +451,27 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.CLASS_STATUS__ASSOCIATION_STATUSES:
+			case 3:
 				getAssociationStatuses().clear();
 				getAssociationStatuses().addAll((Collection<? extends AssociationStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__EOBJECT:
+			case 4:
 				setEObject((EObject)newValue);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__IS_INPUT:
+			case 5:
 				setIsInput((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__IS_OUTPUT:
+			case 6:
 				setIsOutput((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES:
+			case 7:
 				getOwnedAttributeStatuses().clear();
 				getOwnedAttributeStatuses().addAll((Collection<? extends AttributeStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 8:
 				setOwningTransformationStatus((TransformationStatus)newValue);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__TYPE:
+			case 9:
 				setType((Type)newValue);
 				return;
 		}
@@ -477,25 +486,25 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.CLASS_STATUS__ASSOCIATION_STATUSES:
+			case 3:
 				getAssociationStatuses().clear();
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__EOBJECT:
+			case 4:
 				setEObject((EObject)null);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__IS_INPUT:
+			case 5:
 				setIsInput(IS_INPUT_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__IS_OUTPUT:
+			case 6:
 				setIsOutput(IS_OUTPUT_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES:
+			case 7:
 				getOwnedAttributeStatuses().clear();
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 8:
 				setOwningTransformationStatus((TransformationStatus)null);
 				return;
-			case EvaluationStatusPackage.CLASS_STATUS__TYPE:
+			case 9:
 				setType((Type)null);
 				return;
 		}
@@ -510,19 +519,19 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.CLASS_STATUS__ASSOCIATION_STATUSES:
+			case 3:
 				return associationStatuses != null && !associationStatuses.isEmpty();
-			case EvaluationStatusPackage.CLASS_STATUS__EOBJECT:
+			case 4:
 				return eObject != null;
-			case EvaluationStatusPackage.CLASS_STATUS__IS_INPUT:
+			case 5:
 				return isInput != IS_INPUT_EDEFAULT;
-			case EvaluationStatusPackage.CLASS_STATUS__IS_OUTPUT:
+			case 6:
 				return isOutput != IS_OUTPUT_EDEFAULT;
-			case EvaluationStatusPackage.CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES:
+			case 7:
 				return ownedAttributeStatuses != null && !ownedAttributeStatuses.isEmpty();
-			case EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 8:
 				return getOwningTransformationStatus() != null;
-			case EvaluationStatusPackage.CLASS_STATUS__TYPE:
+			case 9:
 				return type != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ElementStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ElementStatusImpl.java
index 202d566..66641e0 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ElementStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/ElementStatusImpl.java
@@ -41,6 +41,15 @@
  */
 public abstract class ElementStatusImpl extends EvaluationElementImpl implements ElementStatus {
 	/**
+	 * The number of structural features of the '<em>Element Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ELEMENT_STATUS_FEATURE_COUNT = EvaluationElementImpl.EVALUATION_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
 	 * The default value of the '{@link #getDepth() <em>Depth</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119,7 +128,7 @@
 		Integer oldDepth = depth;
 		depth = newDepth;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.ELEMENT_STATUS__DEPTH, oldDepth, depth));
+			eNotify(new ENotificationImpl(this, Notification.SET, 0, oldDepth, depth));
 	}
 
 	/**
@@ -130,7 +139,7 @@
 	@Override
 	public EList<MappingStatus> getSources() {
 		if (sources == null) {
-			sources = new EObjectWithInverseResolvingEList.ManyInverse<MappingStatus>(MappingStatus.class, this, EvaluationStatusPackage.ELEMENT_STATUS__SOURCES, EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS);
+			sources = new EObjectWithInverseResolvingEList.ManyInverse<MappingStatus>(MappingStatus.class, this, 1, 5);
 		}
 		return sources;
 	}
@@ -143,7 +152,7 @@
 	@Override
 	public EList<MappingStatus> getTargets() {
 		if (targets == null) {
-			targets = new EObjectWithInverseResolvingEList.ManyInverse<MappingStatus>(MappingStatus.class, this, EvaluationStatusPackage.ELEMENT_STATUS__TARGETS, EvaluationStatusPackage.MAPPING_STATUS__INPUTS);
+			targets = new EObjectWithInverseResolvingEList.ManyInverse<MappingStatus>(MappingStatus.class, this, 2, 2);
 		}
 		return targets;
 	}
@@ -151,7 +160,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
@@ -167,9 +176,9 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ELEMENT_STATUS__SOURCES:
+			case 1:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getSources()).basicAdd(otherEnd, msgs);
-			case EvaluationStatusPackage.ELEMENT_STATUS__TARGETS:
+			case 2:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getTargets()).basicAdd(otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
@@ -183,9 +192,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ELEMENT_STATUS__SOURCES:
+			case 1:
 				return ((InternalEList<?>)getSources()).basicRemove(otherEnd, msgs);
-			case EvaluationStatusPackage.ELEMENT_STATUS__TARGETS:
+			case 2:
 				return ((InternalEList<?>)getTargets()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -199,11 +208,11 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ELEMENT_STATUS__DEPTH:
+			case 0:
 				return getDepth();
-			case EvaluationStatusPackage.ELEMENT_STATUS__SOURCES:
+			case 1:
 				return getSources();
-			case EvaluationStatusPackage.ELEMENT_STATUS__TARGETS:
+			case 2:
 				return getTargets();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -218,14 +227,14 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ELEMENT_STATUS__DEPTH:
+			case 0:
 				setDepth((Integer)newValue);
 				return;
-			case EvaluationStatusPackage.ELEMENT_STATUS__SOURCES:
+			case 1:
 				getSources().clear();
 				getSources().addAll((Collection<? extends MappingStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.ELEMENT_STATUS__TARGETS:
+			case 2:
 				getTargets().clear();
 				getTargets().addAll((Collection<? extends MappingStatus>)newValue);
 				return;
@@ -241,13 +250,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ELEMENT_STATUS__DEPTH:
+			case 0:
 				setDepth(DEPTH_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.ELEMENT_STATUS__SOURCES:
+			case 1:
 				getSources().clear();
 				return;
-			case EvaluationStatusPackage.ELEMENT_STATUS__TARGETS:
+			case 2:
 				getTargets().clear();
 				return;
 		}
@@ -262,11 +271,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.ELEMENT_STATUS__DEPTH:
+			case 0:
 				return DEPTH_EDEFAULT == null ? depth != null : !DEPTH_EDEFAULT.equals(depth);
-			case EvaluationStatusPackage.ELEMENT_STATUS__SOURCES:
+			case 1:
 				return sources != null && !sources.isEmpty();
-			case EvaluationStatusPackage.ELEMENT_STATUS__TARGETS:
+			case 2:
 				return targets != null && !targets.isEmpty();
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationElementImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationElementImpl.java
index 4ce9c33..d51c4e1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationElementImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationElementImpl.java
@@ -13,7 +13,6 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
 import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.qvtd.pivot.qvtimperative.evaluation.EvaluationStatus2StringVisitor;
 import org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.EvaluationElement;
 import org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.EvaluationStatusPackage;
 import org.eclipse.qvtd.pivot.qvtimperative.evaluationstatus.util.EvaluationStatusVisitor;
@@ -27,6 +26,15 @@
  */
 public abstract class EvaluationElementImpl extends MinimalEObjectImpl.Container implements EvaluationElement {
 	/**
+	 * The number of structural features of the '<em>Evaluation Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int EVALUATION_ELEMENT_FEATURE_COUNT = 0;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -46,16 +54,6 @@
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		return EvaluationStatus2StringVisitor.toString(this);
-	}
-
-	/**
 	 * {@inheritDoc}
 	 * @generated
 	 */
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusFactoryImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusFactoryImpl.java
index e20ffa8..04ee9cc 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusFactoryImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusFactoryImpl.java
@@ -68,11 +68,11 @@
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS: return createAssociationStatus();
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS: return createAttributeStatus();
-			case EvaluationStatusPackage.CLASS_STATUS: return createClassStatus();
-			case EvaluationStatusPackage.MAPPING_STATUS: return createMappingStatus();
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS: return createTransformationStatus();
+			case 0: return createAssociationStatus();
+			case 1: return createAttributeStatus();
+			case 2: return createClassStatus();
+			case 5: return createMappingStatus();
+			case 7: return createTransformationStatus();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusPackageImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusPackageImpl.java
index 454ab19..bacad2f 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusPackageImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/EvaluationStatusPackageImpl.java
@@ -136,8 +136,8 @@
 		if (isInited) return (EvaluationStatusPackage)EPackage.Registry.INSTANCE.getEPackage(EvaluationStatusPackage.eNS_URI);
 
 		// Obtain or create and register package
-		Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
-		EvaluationStatusPackageImpl theEvaluationStatusPackage = (EvaluationStatusPackageImpl)(ePackage instanceof EvaluationStatusPackageImpl ? ePackage : new EvaluationStatusPackageImpl());
+		Object registeredEvaluationStatusPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		EvaluationStatusPackageImpl theEvaluationStatusPackage = registeredEvaluationStatusPackage instanceof EvaluationStatusPackageImpl ? (EvaluationStatusPackageImpl)registeredEvaluationStatusPackage : new EvaluationStatusPackageImpl();
 
 		isInited = true;
 
@@ -155,7 +155,6 @@
 		// Mark meta-data to indicate it can't be changed
 		theEvaluationStatusPackage.freeze();
 
-
 		// Update the registry and return the package
 		EPackage.Registry.INSTANCE.put(EvaluationStatusPackage.eNS_URI, theEvaluationStatusPackage);
 		return theEvaluationStatusPackage;
@@ -620,56 +619,56 @@
 		isCreated = true;
 
 		// Create classes and their features
-		associationStatusEClass = createEClass(ASSOCIATION_STATUS);
-		createEReference(associationStatusEClass, ASSOCIATION_STATUS__FORWARD_EREFERENCE);
-		createEReference(associationStatusEClass, ASSOCIATION_STATUS__FROM_CLASS_STATUSES);
-		createEAttribute(associationStatusEClass, ASSOCIATION_STATUS__IS_INPUT);
-		createEAttribute(associationStatusEClass, ASSOCIATION_STATUS__IS_OUTPUT);
-		createEReference(associationStatusEClass, ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS);
-		createEReference(associationStatusEClass, ASSOCIATION_STATUS__TO_CLASS_STATUSES);
+		associationStatusEClass = createEClass(0);
+		createEReference(associationStatusEClass, 8);
+		createEReference(associationStatusEClass, 9);
+		createEAttribute(associationStatusEClass, 10);
+		createEAttribute(associationStatusEClass, 11);
+		createEReference(associationStatusEClass, 12);
+		createEReference(associationStatusEClass, 13);
 
-		attributeStatusEClass = createEClass(ATTRIBUTE_STATUS);
-		createEReference(attributeStatusEClass, ATTRIBUTE_STATUS__EFEATURE);
-		createEAttribute(attributeStatusEClass, ATTRIBUTE_STATUS__OBJECT);
-		createEReference(attributeStatusEClass, ATTRIBUTE_STATUS__OWNING_CLASS_STATUS);
+		attributeStatusEClass = createEClass(1);
+		createEReference(attributeStatusEClass, 8);
+		createEAttribute(attributeStatusEClass, 9);
+		createEReference(attributeStatusEClass, 10);
 
-		classStatusEClass = createEClass(CLASS_STATUS);
-		createEReference(classStatusEClass, CLASS_STATUS__ASSOCIATION_STATUSES);
-		createEReference(classStatusEClass, CLASS_STATUS__EOBJECT);
-		createEAttribute(classStatusEClass, CLASS_STATUS__IS_INPUT);
-		createEAttribute(classStatusEClass, CLASS_STATUS__IS_OUTPUT);
-		createEReference(classStatusEClass, CLASS_STATUS__OWNED_ATTRIBUTE_STATUSES);
-		createEReference(classStatusEClass, CLASS_STATUS__OWNING_TRANSFORMATION_STATUS);
-		createEReference(classStatusEClass, CLASS_STATUS__TYPE);
+		classStatusEClass = createEClass(2);
+		createEReference(classStatusEClass, 3);
+		createEReference(classStatusEClass, 4);
+		createEAttribute(classStatusEClass, 5);
+		createEAttribute(classStatusEClass, 6);
+		createEReference(classStatusEClass, 7);
+		createEReference(classStatusEClass, 8);
+		createEReference(classStatusEClass, 9);
 
-		elementStatusEClass = createEClass(ELEMENT_STATUS);
-		createEAttribute(elementStatusEClass, ELEMENT_STATUS__DEPTH);
-		createEReference(elementStatusEClass, ELEMENT_STATUS__SOURCES);
-		createEReference(elementStatusEClass, ELEMENT_STATUS__TARGETS);
+		elementStatusEClass = createEClass(3);
+		createEAttribute(elementStatusEClass, 0);
+		createEReference(elementStatusEClass, 1);
+		createEReference(elementStatusEClass, 2);
 
-		evaluationElementEClass = createEClass(EVALUATION_ELEMENT);
+		evaluationElementEClass = createEClass(4);
 
-		mappingStatusEClass = createEClass(MAPPING_STATUS);
-		createEAttribute(mappingStatusEClass, MAPPING_STATUS__BOUND_VALUES);
-		createEAttribute(mappingStatusEClass, MAPPING_STATUS__DEPTH);
-		createEReference(mappingStatusEClass, MAPPING_STATUS__INPUTS);
-		createEAttribute(mappingStatusEClass, MAPPING_STATUS__IS_BLOCKED);
-		createEAttribute(mappingStatusEClass, MAPPING_STATUS__IS_DIRTY);
-		createEReference(mappingStatusEClass, MAPPING_STATUS__OUTPUTS);
-		createEReference(mappingStatusEClass, MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS);
-		createEReference(mappingStatusEClass, MAPPING_STATUS__REFERRED_MAPPING_CALL);
+		mappingStatusEClass = createEClass(5);
+		createEAttribute(mappingStatusEClass, 0);
+		createEAttribute(mappingStatusEClass, 1);
+		createEReference(mappingStatusEClass, 2);
+		createEAttribute(mappingStatusEClass, 3);
+		createEAttribute(mappingStatusEClass, 4);
+		createEReference(mappingStatusEClass, 5);
+		createEReference(mappingStatusEClass, 6);
+		createEReference(mappingStatusEClass, 7);
 
-		propertyStatusEClass = createEClass(PROPERTY_STATUS);
-		createEAttribute(propertyStatusEClass, PROPERTY_STATUS__IS_ASSIGNABLE);
-		createEAttribute(propertyStatusEClass, PROPERTY_STATUS__IS_ASSIGNED);
-		createEAttribute(propertyStatusEClass, PROPERTY_STATUS__IS_DIRTY);
-		createEAttribute(propertyStatusEClass, PROPERTY_STATUS__IS_ERROR);
-		createEAttribute(propertyStatusEClass, PROPERTY_STATUS__IS_READY);
+		propertyStatusEClass = createEClass(6);
+		createEAttribute(propertyStatusEClass, 3);
+		createEAttribute(propertyStatusEClass, 4);
+		createEAttribute(propertyStatusEClass, 5);
+		createEAttribute(propertyStatusEClass, 6);
+		createEAttribute(propertyStatusEClass, 7);
 
-		transformationStatusEClass = createEClass(TRANSFORMATION_STATUS);
-		createEReference(transformationStatusEClass, TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES);
-		createEReference(transformationStatusEClass, TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES);
-		createEReference(transformationStatusEClass, TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES);
+		transformationStatusEClass = createEClass(7);
+		createEReference(transformationStatusEClass, 0);
+		createEReference(transformationStatusEClass, 1);
+		createEReference(transformationStatusEClass, 2);
 	}
 
 	/**
@@ -781,13 +780,13 @@
 	protected void createImportAnnotations() {
 		String source = "http://www.eclipse.org/OCL/Import";
 		addAnnotation
-		(this,
-			source,
-			new String[] {
-				"ecore", "http://www.eclipse.org/emf/2002/Ecore",
-				"qvtb", "../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#/",
-				"qvti", "QVTimperative.ecore#/"
-		});
+		  (this,
+		   source,
+		   new String[] {
+			   "ecore", "http://www.eclipse.org/emf/2002/Ecore",
+			   "qvtb", "../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#/",
+			   "qvti", "QVTimperative.ecore#/"
+		   });
 	}
 
 	/**
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/MappingStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/MappingStatusImpl.java
index 2ffbef7..a7e30f1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/MappingStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/MappingStatusImpl.java
@@ -52,6 +52,15 @@
  */
 public class MappingStatusImpl extends EvaluationElementImpl implements MappingStatus {
 	/**
+	 * The number of structural features of the '<em>Mapping Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MAPPING_STATUS_FEATURE_COUNT = EvaluationElementImpl.EVALUATION_ELEMENT_FEATURE_COUNT + 8;
+
+	/**
 	 * The cached value of the '{@link #getBoundValues() <em>Bound Values</em>}' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -179,7 +188,7 @@
 	@Override
 	public @NonNull EList<Object> getBoundValues() {
 		if (boundValues == null) {
-			boundValues = new EDataTypeUniqueEList<Object>(Object.class, this, EvaluationStatusPackage.MAPPING_STATUS__BOUND_VALUES);
+			boundValues = new EDataTypeUniqueEList<Object>(Object.class, this, 0);
 		}
 		return boundValues;
 	}
@@ -204,7 +213,7 @@
 		Integer oldDepth = depth;
 		depth = newDepth;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.MAPPING_STATUS__DEPTH, oldDepth, depth));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldDepth, depth));
 	}
 
 	/**
@@ -215,7 +224,7 @@
 	@Override
 	public EList<ElementStatus> getInputs() {
 		if (inputs == null) {
-			inputs = new EObjectWithInverseResolvingEList.ManyInverse<ElementStatus>(ElementStatus.class, this, EvaluationStatusPackage.MAPPING_STATUS__INPUTS, EvaluationStatusPackage.ELEMENT_STATUS__TARGETS);
+			inputs = new EObjectWithInverseResolvingEList.ManyInverse<ElementStatus>(ElementStatus.class, this, 2, 2);
 		}
 		return inputs;
 	}
@@ -240,7 +249,7 @@
 		boolean oldIsBlocked = isBlocked;
 		isBlocked = newIsBlocked;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.MAPPING_STATUS__IS_BLOCKED, oldIsBlocked, isBlocked));
+			eNotify(new ENotificationImpl(this, Notification.SET, 3, oldIsBlocked, isBlocked));
 	}
 
 	/**
@@ -263,7 +272,7 @@
 		boolean oldIsDirty = isDirty;
 		isDirty = newIsDirty;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.MAPPING_STATUS__IS_DIRTY, oldIsDirty, isDirty));
+			eNotify(new ENotificationImpl(this, Notification.SET, 4, oldIsDirty, isDirty));
 	}
 
 	/**
@@ -274,7 +283,7 @@
 	@Override
 	public EList<ElementStatus> getOutputs() {
 		if (outputs == null) {
-			outputs = new EObjectWithInverseResolvingEList.ManyInverse<ElementStatus>(ElementStatus.class, this, EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS, EvaluationStatusPackage.ELEMENT_STATUS__SOURCES);
+			outputs = new EObjectWithInverseResolvingEList.ManyInverse<ElementStatus>(ElementStatus.class, this, 5, 1);
 		}
 		return outputs;
 	}
@@ -286,7 +295,7 @@
 	 */
 	@Override
 	public TransformationStatus getOwningTransformationStatus() {
-		if (eContainerFeatureID() != EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS) return null;
+		if (eContainerFeatureID() != (6)) return null;
 		return (TransformationStatus)eInternalContainer();
 	}
 
@@ -296,7 +305,7 @@
 	 * @generated
 	 */
 	public NotificationChain basicSetOwningTransformationStatus(TransformationStatus newOwningTransformationStatus, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newOwningTransformationStatus, EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS, msgs);
+		msgs = eBasicSetContainer((InternalEObject)newOwningTransformationStatus, 6, msgs);
 		return msgs;
 	}
 
@@ -307,19 +316,19 @@
 	 */
 	@Override
 	public void setOwningTransformationStatus(TransformationStatus newOwningTransformationStatus) {
-		if (newOwningTransformationStatus != eInternalContainer() || (eContainerFeatureID() != EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS && newOwningTransformationStatus != null)) {
+		if (newOwningTransformationStatus != eInternalContainer() || (eContainerFeatureID() != (6) && newOwningTransformationStatus != null)) {
 			if (EcoreUtil.isAncestor(this, newOwningTransformationStatus))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newOwningTransformationStatus != null)
-				msgs = ((InternalEObject)newOwningTransformationStatus).eInverseAdd(this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES, TransformationStatus.class, msgs);
+				msgs = ((InternalEObject)newOwningTransformationStatus).eInverseAdd(this, 2, TransformationStatus.class, msgs);
 			msgs = basicSetOwningTransformationStatus(newOwningTransformationStatus, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS, newOwningTransformationStatus, newOwningTransformationStatus));
+			eNotify(new ENotificationImpl(this, Notification.SET, 6, newOwningTransformationStatus, newOwningTransformationStatus));
 	}
 
 	/**
@@ -334,7 +343,7 @@
 			referredMappingCall = (MappingCall)eResolveProxy(oldReferredMappingCall);
 			if (referredMappingCall != oldReferredMappingCall) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EvaluationStatusPackage.MAPPING_STATUS__REFERRED_MAPPING_CALL, oldReferredMappingCall, referredMappingCall));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, 7, oldReferredMappingCall, referredMappingCall));
 			}
 		}
 		return referredMappingCall;
@@ -359,13 +368,13 @@
 		MappingCall oldReferredMappingCall = referredMappingCall;
 		referredMappingCall = newReferredMappingCall;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.MAPPING_STATUS__REFERRED_MAPPING_CALL, oldReferredMappingCall, referredMappingCall));
+			eNotify(new ENotificationImpl(this, Notification.SET, 7, oldReferredMappingCall, referredMappingCall));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
@@ -381,11 +390,11 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.MAPPING_STATUS__INPUTS:
+			case 2:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getInputs()).basicAdd(otherEnd, msgs);
-			case EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS:
+			case 5:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutputs()).basicAdd(otherEnd, msgs);
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 6:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
 				return basicSetOwningTransformationStatus((TransformationStatus)otherEnd, msgs);
@@ -401,11 +410,11 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.MAPPING_STATUS__INPUTS:
+			case 2:
 				return ((InternalEList<?>)getInputs()).basicRemove(otherEnd, msgs);
-			case EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS:
+			case 5:
 				return ((InternalEList<?>)getOutputs()).basicRemove(otherEnd, msgs);
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 6:
 				return basicSetOwningTransformationStatus(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -419,8 +428,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
-				return eInternalContainer().eInverseRemove(this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES, TransformationStatus.class, msgs);
+			case 6:
+				return eInternalContainer().eInverseRemove(this, 2, TransformationStatus.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -433,21 +442,21 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.MAPPING_STATUS__BOUND_VALUES:
+			case 0:
 				return getBoundValues();
-			case EvaluationStatusPackage.MAPPING_STATUS__DEPTH:
+			case 1:
 				return getDepth();
-			case EvaluationStatusPackage.MAPPING_STATUS__INPUTS:
+			case 2:
 				return getInputs();
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_BLOCKED:
+			case 3:
 				return isIsBlocked();
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_DIRTY:
+			case 4:
 				return isIsDirty();
-			case EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS:
+			case 5:
 				return getOutputs();
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 6:
 				return getOwningTransformationStatus();
-			case EvaluationStatusPackage.MAPPING_STATUS__REFERRED_MAPPING_CALL:
+			case 7:
 				if (resolve) return getReferredMappingCall();
 				return basicGetReferredMappingCall();
 		}
@@ -463,31 +472,31 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.MAPPING_STATUS__BOUND_VALUES:
+			case 0:
 				getBoundValues().clear();
 				getBoundValues().addAll((Collection<? extends Object>)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__DEPTH:
+			case 1:
 				setDepth((Integer)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__INPUTS:
+			case 2:
 				getInputs().clear();
 				getInputs().addAll((Collection<? extends ElementStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_BLOCKED:
+			case 3:
 				setIsBlocked((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_DIRTY:
+			case 4:
 				setIsDirty((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS:
+			case 5:
 				getOutputs().clear();
 				getOutputs().addAll((Collection<? extends ElementStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 6:
 				setOwningTransformationStatus((TransformationStatus)newValue);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__REFERRED_MAPPING_CALL:
+			case 7:
 				setReferredMappingCall((MappingCall)newValue);
 				return;
 		}
@@ -502,28 +511,28 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.MAPPING_STATUS__BOUND_VALUES:
+			case 0:
 				getBoundValues().clear();
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__DEPTH:
+			case 1:
 				setDepth(DEPTH_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__INPUTS:
+			case 2:
 				getInputs().clear();
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_BLOCKED:
+			case 3:
 				setIsBlocked(IS_BLOCKED_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_DIRTY:
+			case 4:
 				setIsDirty(IS_DIRTY_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS:
+			case 5:
 				getOutputs().clear();
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 6:
 				setOwningTransformationStatus((TransformationStatus)null);
 				return;
-			case EvaluationStatusPackage.MAPPING_STATUS__REFERRED_MAPPING_CALL:
+			case 7:
 				setReferredMappingCall((MappingCall)null);
 				return;
 		}
@@ -538,21 +547,21 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.MAPPING_STATUS__BOUND_VALUES:
+			case 0:
 				return boundValues != null && !boundValues.isEmpty();
-			case EvaluationStatusPackage.MAPPING_STATUS__DEPTH:
+			case 1:
 				return DEPTH_EDEFAULT == null ? depth != null : !DEPTH_EDEFAULT.equals(depth);
-			case EvaluationStatusPackage.MAPPING_STATUS__INPUTS:
+			case 2:
 				return inputs != null && !inputs.isEmpty();
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_BLOCKED:
+			case 3:
 				return isBlocked != IS_BLOCKED_EDEFAULT;
-			case EvaluationStatusPackage.MAPPING_STATUS__IS_DIRTY:
+			case 4:
 				return isDirty != IS_DIRTY_EDEFAULT;
-			case EvaluationStatusPackage.MAPPING_STATUS__OUTPUTS:
+			case 5:
 				return outputs != null && !outputs.isEmpty();
-			case EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS:
+			case 6:
 				return getOwningTransformationStatus() != null;
-			case EvaluationStatusPackage.MAPPING_STATUS__REFERRED_MAPPING_CALL:
+			case 7:
 				return referredMappingCall != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/PropertyStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/PropertyStatusImpl.java
index c82ef0c..b9038aa 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/PropertyStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/PropertyStatusImpl.java
@@ -35,6 +35,15 @@
  */
 public abstract class PropertyStatusImpl extends ElementStatusImpl implements PropertyStatus {
 	/**
+	 * The number of structural features of the '<em>Property Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PROPERTY_STATUS_FEATURE_COUNT = ElementStatusImpl.ELEMENT_STATUS_FEATURE_COUNT + 5;
+
+	/**
 	 * The default value of the '{@link #isIsAssignable() <em>Is Assignable</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173,7 +182,7 @@
 		boolean oldIsAssignable = isAssignable;
 		isAssignable = newIsAssignable;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNABLE, oldIsAssignable, isAssignable));
+			eNotify(new ENotificationImpl(this, Notification.SET, 3, oldIsAssignable, isAssignable));
 	}
 
 	/**
@@ -196,7 +205,7 @@
 		boolean oldIsAssigned = isAssigned;
 		isAssigned = newIsAssigned;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNED, oldIsAssigned, isAssigned));
+			eNotify(new ENotificationImpl(this, Notification.SET, 4, oldIsAssigned, isAssigned));
 	}
 
 	/**
@@ -219,7 +228,7 @@
 		boolean oldIsDirty = isDirty;
 		isDirty = newIsDirty;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.PROPERTY_STATUS__IS_DIRTY, oldIsDirty, isDirty));
+			eNotify(new ENotificationImpl(this, Notification.SET, 5, oldIsDirty, isDirty));
 	}
 
 	/**
@@ -242,7 +251,7 @@
 		boolean oldIsError = isError;
 		isError = newIsError;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.PROPERTY_STATUS__IS_ERROR, oldIsError, isError));
+			eNotify(new ENotificationImpl(this, Notification.SET, 6, oldIsError, isError));
 	}
 
 	/**
@@ -265,13 +274,13 @@
 		boolean oldIsReady = isReady;
 		isReady = newIsReady;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EvaluationStatusPackage.PROPERTY_STATUS__IS_READY, oldIsReady, isReady));
+			eNotify(new ENotificationImpl(this, Notification.SET, 7, oldIsReady, isReady));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
@@ -286,15 +295,15 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNABLE:
+			case 3:
 				return isIsAssignable();
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNED:
+			case 4:
 				return isIsAssigned();
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_DIRTY:
+			case 5:
 				return isIsDirty();
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ERROR:
+			case 6:
 				return isIsError();
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_READY:
+			case 7:
 				return isIsReady();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -308,19 +317,19 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNABLE:
+			case 3:
 				setIsAssignable((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNED:
+			case 4:
 				setIsAssigned((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_DIRTY:
+			case 5:
 				setIsDirty((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ERROR:
+			case 6:
 				setIsError((Boolean)newValue);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_READY:
+			case 7:
 				setIsReady((Boolean)newValue);
 				return;
 		}
@@ -335,19 +344,19 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNABLE:
+			case 3:
 				setIsAssignable(IS_ASSIGNABLE_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNED:
+			case 4:
 				setIsAssigned(IS_ASSIGNED_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_DIRTY:
+			case 5:
 				setIsDirty(IS_DIRTY_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ERROR:
+			case 6:
 				setIsError(IS_ERROR_EDEFAULT);
 				return;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_READY:
+			case 7:
 				setIsReady(IS_READY_EDEFAULT);
 				return;
 		}
@@ -362,15 +371,15 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNABLE:
+			case 3:
 				return isAssignable != IS_ASSIGNABLE_EDEFAULT;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ASSIGNED:
+			case 4:
 				return isAssigned != IS_ASSIGNED_EDEFAULT;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_DIRTY:
+			case 5:
 				return isDirty != IS_DIRTY_EDEFAULT;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_ERROR:
+			case 6:
 				return isError != IS_ERROR_EDEFAULT;
-			case EvaluationStatusPackage.PROPERTY_STATUS__IS_READY:
+			case 7:
 				return isReady != IS_READY_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/TransformationStatusImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/TransformationStatusImpl.java
index 1db1d14..639078d 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/TransformationStatusImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/impl/TransformationStatusImpl.java
@@ -43,6 +43,15 @@
  */
 public class TransformationStatusImpl extends EvaluationElementImpl implements TransformationStatus {
 	/**
+	 * The number of structural features of the '<em>Transformation Status</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int TRANSFORMATION_STATUS_FEATURE_COUNT = EvaluationElementImpl.EVALUATION_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
 	 * The cached value of the '{@link #getOwnedAssociationStatuses() <em>Owned Association Statuses</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -99,7 +108,7 @@
 	@Override
 	public EList<AssociationStatus> getOwnedAssociationStatuses() {
 		if (ownedAssociationStatuses == null) {
-			ownedAssociationStatuses = new EObjectContainmentWithInverseEList<AssociationStatus>(AssociationStatus.class, this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES, EvaluationStatusPackage.ASSOCIATION_STATUS__OWNING_TRANSFORMATION_STATUS);
+			ownedAssociationStatuses = new EObjectContainmentWithInverseEList<AssociationStatus>(AssociationStatus.class, this, 0, 12);
 		}
 		return ownedAssociationStatuses;
 	}
@@ -112,7 +121,7 @@
 	@Override
 	public EList<ClassStatus> getOwnedClassStatuses() {
 		if (ownedClassStatuses == null) {
-			ownedClassStatuses = new EObjectContainmentWithInverseEList<ClassStatus>(ClassStatus.class, this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES, EvaluationStatusPackage.CLASS_STATUS__OWNING_TRANSFORMATION_STATUS);
+			ownedClassStatuses = new EObjectContainmentWithInverseEList<ClassStatus>(ClassStatus.class, this, 1, 8);
 		}
 		return ownedClassStatuses;
 	}
@@ -125,7 +134,7 @@
 	@Override
 	public EList<MappingStatus> getOwnedMappingStatuses() {
 		if (ownedMappingStatuses == null) {
-			ownedMappingStatuses = new EObjectContainmentWithInverseEList<MappingStatus>(MappingStatus.class, this, EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES, EvaluationStatusPackage.MAPPING_STATUS__OWNING_TRANSFORMATION_STATUS);
+			ownedMappingStatuses = new EObjectContainmentWithInverseEList<MappingStatus>(MappingStatus.class, this, 2, 6);
 		}
 		return ownedMappingStatuses;
 	}
@@ -139,11 +148,11 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES:
+			case 0:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getOwnedAssociationStatuses()).basicAdd(otherEnd, msgs);
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES:
+			case 1:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getOwnedClassStatuses()).basicAdd(otherEnd, msgs);
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES:
+			case 2:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getOwnedMappingStatuses()).basicAdd(otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
@@ -157,11 +166,11 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES:
+			case 0:
 				return ((InternalEList<?>)getOwnedAssociationStatuses()).basicRemove(otherEnd, msgs);
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES:
+			case 1:
 				return ((InternalEList<?>)getOwnedClassStatuses()).basicRemove(otherEnd, msgs);
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES:
+			case 2:
 				return ((InternalEList<?>)getOwnedMappingStatuses()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -175,11 +184,11 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES:
+			case 0:
 				return getOwnedAssociationStatuses();
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES:
+			case 1:
 				return getOwnedClassStatuses();
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES:
+			case 2:
 				return getOwnedMappingStatuses();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -194,15 +203,15 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES:
+			case 0:
 				getOwnedAssociationStatuses().clear();
 				getOwnedAssociationStatuses().addAll((Collection<? extends AssociationStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES:
+			case 1:
 				getOwnedClassStatuses().clear();
 				getOwnedClassStatuses().addAll((Collection<? extends ClassStatus>)newValue);
 				return;
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES:
+			case 2:
 				getOwnedMappingStatuses().clear();
 				getOwnedMappingStatuses().addAll((Collection<? extends MappingStatus>)newValue);
 				return;
@@ -218,13 +227,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES:
+			case 0:
 				getOwnedAssociationStatuses().clear();
 				return;
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES:
+			case 1:
 				getOwnedClassStatuses().clear();
 				return;
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES:
+			case 2:
 				getOwnedMappingStatuses().clear();
 				return;
 		}
@@ -239,11 +248,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_ASSOCIATION_STATUSES:
+			case 0:
 				return ownedAssociationStatuses != null && !ownedAssociationStatuses.isEmpty();
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_CLASS_STATUSES:
+			case 1:
 				return ownedClassStatuses != null && !ownedClassStatuses.isEmpty();
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS__OWNED_MAPPING_STATUSES:
+			case 2:
 				return ownedMappingStatuses != null && !ownedMappingStatuses.isEmpty();
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusAdapterFactory.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusAdapterFactory.java
index 1444b29..a27fd40 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusAdapterFactory.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusAdapterFactory.java
@@ -80,44 +80,44 @@
 	 * @generated
 	 */
 	protected EvaluationStatusSwitch<@Nullable Adapter> modelSwitch =
-		new EvaluationStatusSwitch<@Nullable Adapter>() {
-			@Override
-			public Adapter caseAssociationStatus(AssociationStatus object) {
-				return createAssociationStatusAdapter();
-			}
-			@Override
-			public Adapter caseAttributeStatus(AttributeStatus object) {
-				return createAttributeStatusAdapter();
-			}
-			@Override
-			public Adapter caseClassStatus(ClassStatus object) {
-				return createClassStatusAdapter();
-			}
-			@Override
-			public Adapter caseElementStatus(ElementStatus object) {
-				return createElementStatusAdapter();
-			}
-			@Override
-			public Adapter caseEvaluationElement(EvaluationElement object) {
-				return createEvaluationElementAdapter();
-			}
-			@Override
-			public Adapter caseMappingStatus(MappingStatus object) {
-				return createMappingStatusAdapter();
-			}
-			@Override
-			public Adapter casePropertyStatus(PropertyStatus object) {
-				return createPropertyStatusAdapter();
-			}
-			@Override
-			public Adapter caseTransformationStatus(TransformationStatus object) {
-				return createTransformationStatusAdapter();
-			}
-			@Override
-			public Adapter defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
+			new EvaluationStatusSwitch<@Nullable Adapter>() {
+		@Override
+		public Adapter caseAssociationStatus(AssociationStatus object) {
+			return createAssociationStatusAdapter();
+		}
+		@Override
+		public Adapter caseAttributeStatus(AttributeStatus object) {
+			return createAttributeStatusAdapter();
+		}
+		@Override
+		public Adapter caseClassStatus(ClassStatus object) {
+			return createClassStatusAdapter();
+		}
+		@Override
+		public Adapter caseElementStatus(ElementStatus object) {
+			return createElementStatusAdapter();
+		}
+		@Override
+		public Adapter caseEvaluationElement(EvaluationElement object) {
+			return createEvaluationElementAdapter();
+		}
+		@Override
+		public Adapter caseMappingStatus(MappingStatus object) {
+			return createMappingStatusAdapter();
+		}
+		@Override
+		public Adapter casePropertyStatus(PropertyStatus object) {
+			return createPropertyStatusAdapter();
+		}
+		@Override
+		public Adapter caseTransformationStatus(TransformationStatus object) {
+			return createTransformationStatusAdapter();
+		}
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
 
 	/**
 	 * Creates an adapter for the <code>target</code>.
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusSwitch.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusSwitch.java
index 41e3250..6ad5970 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusSwitch.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/evaluationstatus/util/EvaluationStatusSwitch.java
@@ -81,7 +81,7 @@
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case EvaluationStatusPackage.ASSOCIATION_STATUS: {
+			case 0: {
 				AssociationStatus associationStatus = (AssociationStatus)theEObject;
 				T result = caseAssociationStatus(associationStatus);
 				if (result == null) result = casePropertyStatus(associationStatus);
@@ -90,7 +90,7 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.ATTRIBUTE_STATUS: {
+			case 1: {
 				AttributeStatus attributeStatus = (AttributeStatus)theEObject;
 				T result = caseAttributeStatus(attributeStatus);
 				if (result == null) result = casePropertyStatus(attributeStatus);
@@ -99,7 +99,7 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.CLASS_STATUS: {
+			case 2: {
 				ClassStatus classStatus = (ClassStatus)theEObject;
 				T result = caseClassStatus(classStatus);
 				if (result == null) result = caseElementStatus(classStatus);
@@ -107,27 +107,27 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.ELEMENT_STATUS: {
+			case 3: {
 				ElementStatus elementStatus = (ElementStatus)theEObject;
 				T result = caseElementStatus(elementStatus);
 				if (result == null) result = caseEvaluationElement(elementStatus);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.EVALUATION_ELEMENT: {
+			case 4: {
 				EvaluationElement evaluationElement = (EvaluationElement)theEObject;
 				T result = caseEvaluationElement(evaluationElement);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.MAPPING_STATUS: {
+			case 5: {
 				MappingStatus mappingStatus = (MappingStatus)theEObject;
 				T result = caseMappingStatus(mappingStatus);
 				if (result == null) result = caseEvaluationElement(mappingStatus);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.PROPERTY_STATUS: {
+			case 6: {
 				PropertyStatus propertyStatus = (PropertyStatus)theEObject;
 				T result = casePropertyStatus(propertyStatus);
 				if (result == null) result = caseElementStatus(propertyStatus);
@@ -135,7 +135,7 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EvaluationStatusPackage.TRANSFORMATION_STATUS: {
+			case 7: {
 				TransformationStatus transformationStatus = (TransformationStatus)theEObject;
 				T result = caseTransformationStatus(transformationStatus);
 				if (result == null) result = caseEvaluationElement(transformationStatus);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java
index 24a03ab..6fab8ab 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/emf-gen/org/eclipse/qvtd/pivot/qvtimperative/impl/BufferStatementImpl.java
@@ -460,17 +460,17 @@
 		switch (featureID) {
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 1:
 				getObservedProperties().clear();
-				getObservedProperties().addAll((Collection<? extends Property>)newValue);
-				return;
+			getObservedProperties().addAll((Collection<? extends Property>)newValue);
+			return;
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 2:
 				setOwnedExpression((OCLExpression)newValue);
-				return;
+			return;
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 3:
 				setFirstPass((Integer)newValue);
-				return;
+			return;
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 4:
 				setLastPass((Integer)newValue);
-				return;
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -485,16 +485,16 @@
 		switch (featureID) {
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 1:
 				getObservedProperties().clear();
-				return;
+			return;
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 2:
 				setOwnedExpression((OCLExpression)null);
-				return;
+			return;
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 3:
 				setFirstPass(FIRST_PASS_EDEFAULT);
-				return;
+			return;
 			case VariableDeclarationImpl.VARIABLE_DECLARATION_FEATURE_COUNT + 4:
 				setLastPass(LAST_PASS_EDEFAULT);
-				return;
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -617,19 +617,11 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuilder result = new StringBuilder(super.toString());
-		result.append(" (firstPass: ");
-		result.append(firstPass);
-		result.append(", lastPass: ");
-		result.append(lastPass);
-		result.append(')');
-		return result.toString();
+		return super.toString();
 	}
 
 	/**
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/EvaluationStatus.genmodel b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/EvaluationStatus.genmodel
index f1c241c..a45430f 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/EvaluationStatus.genmodel
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/EvaluationStatus.genmodel
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
     xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.qvtd.pivot.qvtimperative/emf-gen"
-    modelPluginID="org.eclipse.qvtd.pivot.qvtimperative" modelName="EvaluationStatus"
-    updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    modelPluginID="org.eclipse.qvtd.pivot.qvtimperative" templateDirectory="/org.eclipse.ocl.examples.codegen/templates"
+    modelName="EvaluationStatus" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     importerID="org.eclipse.emf.importer.ecore" bundleManifest="false" complianceLevel="8.0"
     copyrightFields="false" runtimeVersion="2.7" usedGenPackages="../../org.eclipse.ocl.pivot/model/Pivot.genmodel#//pivot ../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.genmodel#//qvtbase QVTimperative.genmodel#//qvtimperative"
     importOrganizing="true">
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdEvaluationStatusModels.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdEvaluationStatusModels.mwe2
index 3d99f68..e15000e 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdEvaluationStatusModels.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTdEvaluationStatusModels.mwe2
@@ -30,6 +30,7 @@
     	platformUri = ".."
     	scanClassPath = true
     }
+    bean = QVTdStandaloneSetup { resourceSet = resourceSet }
     bean = EcoreGenModelSetup { resourceSet = resourceSet }
 
     component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/utilities/QVTdStandaloneSetup.java b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/utilities/QVTdStandaloneSetup.java
new file mode 100644
index 0000000..627a09e
--- /dev/null
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/utilities/QVTdStandaloneSetup.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Willink Transformations and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ *     E.D.Willink - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.qvtd.build.utilities;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.qvtd.pivot.qvtbase.QVTbasePivotStandaloneSetup;
+
+/**
+ * Initializes OCL support.
+ */
+public class QVTdStandaloneSetup
+{
+	private Logger log = Logger.getLogger(getClass());
+	private ResourceSet resourceSet = null;
+
+	public QVTdStandaloneSetup() {
+		log.info("Registering QVTd Resources");
+		//		OCLstdlib.install();
+		//		PivotPackage.eINSTANCE.getClass();
+		//		Resource.Factory.Registry.INSTANCE.getProtocolToFactoryMap().put("pivot", PivotResourceFactoryImpl.INSTANCE);
+		//		URIConverter.URI_MAP.put(URI.createURI(EcoreEnvironment.OCL_STANDARD_LIBRARY_NS_URI), null);
+		QVTbasePivotStandaloneSetup.doSetup();
+	}
+
+	/**
+	 * Install a global Package mapping from the nsURI at uriMap.from to the package obtained by loading the uriMap.to URI fragment
+	 * in the resourceSet.
+	 *
+	public void addDynamicPackage(final Mapping uriMap) {
+		final URI nsURI = URI.createURI(uriMap.getFrom());
+		final URI packageURI = URI.createURI(uriMap.getTo());
+		log.info("Loading '" + nsURI + "' from '" + packageURI + "'");
+		if (!packageURI.hasFragment()) {
+			log.error("No URI fragment specified in '" + packageURI + "'");
+		}
+		EPackage ePackage = (EPackage) getResourceSet().getEObject(packageURI, true);
+		EPackage.Registry.INSTANCE.put(nsURI.toString(), ePackage);
+	} */
+
+	public ResourceSet getResourceSet() {
+		if (resourceSet == null) {
+			resourceSet = new ResourceSetImpl();
+		}
+		return resourceSet;
+	}
+
+	public void setResourceSet(ResourceSet resourceSet) {
+		this.resourceSet = resourceSet;
+	}
+}