[510729] Regenerate QVTd All
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..94b35e9 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,7 +80,7 @@
 	 * @generated
 	 */
 	protected EvaluationStatusSwitch<@Nullable Adapter> modelSwitch =
-		new EvaluationStatusSwitch<@Nullable Adapter>() {
+			new EvaluationStatusSwitch<@Nullable Adapter>() {
 			@Override
 			public Adapter caseAssociationStatus(AssociationStatus object) {
 				return createAssociationStatusAdapter();
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..d58f51d 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
@@ -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-gen/QVTimperativeLibrary.oclas b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas
index 4d9b10d..e6cc17f 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model-gen/QVTimperativeLibrary.oclas
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pivot:Model [
-<!ENTITY _0 "../../org.eclipse.qvtd.runtime/model/QVTruntimeLibrary.oclstdlib.oclas">
+<!ENTITY _0 "../../org.eclipse.qvtd.runtime/model-gen/QVTruntimeLibrary.oclas">
 <!ENTITY _1 "http://www.eclipse.org/ocl/2015/Library.oclas">
 ]>
 <pivot:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.eclipse.org/ocl/2015/Pivot"
diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java
index c60a09b..91ab7e3 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java
@@ -83,51 +83,51 @@
 	 */
 	protected QVTtemplateSwitch<@Nullable Adapter> modelSwitch =
 			new QVTtemplateSwitch<@Nullable Adapter>() {
-			@Override
-			public Adapter caseCollectionTemplateExp(CollectionTemplateExp object) {
-				return createCollectionTemplateExpAdapter();
-			}
-			@Override
-			public Adapter caseObjectTemplateExp(ObjectTemplateExp object) {
-				return createObjectTemplateExpAdapter();
-			}
-			@Override
-			public Adapter casePropertyTemplateItem(PropertyTemplateItem object) {
-				return createPropertyTemplateItemAdapter();
-			}
-			@Override
-			public Adapter caseTemplateExp(TemplateExp object) {
-				return createTemplateExpAdapter();
-			}
-			@Override
-			public Adapter caseElement(Element object) {
-				return createElementAdapter();
-			}
-			@Override
-			public Adapter caseNamedElement(NamedElement object) {
-				return createNamedElementAdapter();
-			}
-			@Override
-			public Adapter caseTypedElement(TypedElement object) {
-				return createTypedElementAdapter();
-			}
-			@Override
-			public Adapter caseOCLExpression(OCLExpression object) {
-				return createOCLExpressionAdapter();
-			}
-			@Override
-			public Adapter caseLiteralExp(LiteralExp object) {
-				return createLiteralExpAdapter();
-			}
-			@Override
-			public Adapter caseReferringElement(ReferringElement object) {
-				return createReferringElementAdapter();
-			}
-			@Override
-			public Adapter defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
+		@Override
+		public Adapter caseCollectionTemplateExp(CollectionTemplateExp object) {
+			return createCollectionTemplateExpAdapter();
+		}
+		@Override
+		public Adapter caseObjectTemplateExp(ObjectTemplateExp object) {
+			return createObjectTemplateExpAdapter();
+		}
+		@Override
+		public Adapter casePropertyTemplateItem(PropertyTemplateItem object) {
+			return createPropertyTemplateItemAdapter();
+		}
+		@Override
+		public Adapter caseTemplateExp(TemplateExp object) {
+			return createTemplateExpAdapter();
+		}
+		@Override
+		public Adapter caseElement(Element object) {
+			return createElementAdapter();
+		}
+		@Override
+		public Adapter caseNamedElement(NamedElement object) {
+			return createNamedElementAdapter();
+		}
+		@Override
+		public Adapter caseTypedElement(TypedElement object) {
+			return createTypedElementAdapter();
+		}
+		@Override
+		public Adapter caseOCLExpression(OCLExpression object) {
+			return createOCLExpressionAdapter();
+		}
+		@Override
+		public Adapter caseLiteralExp(LiteralExp object) {
+			return createLiteralExpAdapter();
+		}
+		@Override
+		public Adapter caseReferringElement(ReferringElement object) {
+			return createReferringElementAdapter();
+		}
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
 
 	/**
 	 * Creates an adapter for the <code>target</code>.
diff --git a/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/model/QVTruntimeLibrary.java b/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/model/QVTruntimeLibrary.java
index 67f9507..20a9dc9 100644
--- a/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/model/QVTruntimeLibrary.java
+++ b/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/model/QVTruntimeLibrary.java
@@ -265,9 +265,9 @@
 		private Contents(@NonNull String asURI)
 		{
 			model = createModel(asURI);
-			ocl = createPackage("ocl", "ocl", "http://www.eclipse.org/ocl/2015/Library", IdManager.METAMODEL);
-			qvtruntimelibrary = createLibrary("qvtruntimelibrary", "qvtrtlib", "http://www.eclipse.org/qvt/2019/QVTruntimeLibrary", null);
-			orphanage = createPackage("$$", "orphanage", "http://www.eclipse.org/ocl/2015/Orphanage", null);
+			ocl = createPackage("ocl", "ocl", "http://www.eclipse.org/ocl/2015/Library", IdManager.METAMODEL, OCLstdlibPackage.eINSTANCE);
+			qvtruntimelibrary = createLibrary("qvtruntimelibrary", "qvtrtlib", "http://www.eclipse.org/qvt/2019/QVTruntimeLibrary", null, QVTruntimeLibraryPackage.eINSTANCE);
+			orphanage = createPackage("$$", "orphanage", "http://www.eclipse.org/ocl/2015/Orphanage", null, null);
 			installPackages();
 			installClassTypes();
 			installCollectionTypes();
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/AttributeImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/AttributeImpl.java
index f9f5d34..6d750f5 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/AttributeImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/AttributeImpl.java
@@ -134,7 +134,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldName, name));
 	}
 
 	/**
@@ -157,7 +157,7 @@
 		String oldValue = value;
 		value = newValue;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 1, oldValue, value));
+			eNotify(new ENotificationImpl(this, Notification.SET, 2, oldValue, value));
 	}
 
 	/**
@@ -168,11 +168,11 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getName();
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return getValue();
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				return getEcoreFeature();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -186,10 +186,10 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setName((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setValue((String)newValue);
 				return;
 		}
@@ -204,10 +204,10 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setName(NAME_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setValue(VALUE_EDEFAULT);
 				return;
 		}
@@ -222,11 +222,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				return getEcoreFeature() != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CharactersImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CharactersImpl.java
index 5bb4060..c02b372 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CharactersImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CharactersImpl.java
@@ -114,7 +114,7 @@
 		String oldData = data;
 		data = newData;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldData, data));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldData, data));
 	}
 
 	/**
@@ -125,7 +125,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getData();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -139,7 +139,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setData((String)newValue);
 				return;
 		}
@@ -154,7 +154,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setData(DATA_EDEFAULT);
 				return;
 		}
@@ -169,7 +169,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassAttributeImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassAttributeImpl.java
index 374612e..4f9e49c 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassAttributeImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassAttributeImpl.java
@@ -118,7 +118,7 @@
 		EReference oldEcoreReference = ecoreReference;
 		ecoreReference = newEcoreReference;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0, oldEcoreReference, ecoreReference));
+			eNotify(new ENotificationImpl(this, Notification.SET, 4, oldEcoreReference, ecoreReference));
 	}
 
 	/**
@@ -129,7 +129,7 @@
 	@Override
 	public EList<EObject> getEObjects() {
 		if (eObjects == null) {
-			eObjects = new EObjectEList<EObject>(EObject.class, this, AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 1);
+			eObjects = new EObjectEList<EObject>(EObject.class, this, 5);
 		}
 		return eObjects;
 	}
@@ -142,9 +142,9 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				return getEcoreReference();
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 1:
+			case 5:
 				return getEObjects();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -159,10 +159,10 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				setEcoreReference((EReference)newValue);
 				return;
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 1:
+			case 5:
 				getEObjects().clear();
 				getEObjects().addAll((Collection<? extends EObject>)newValue);
 				return;
@@ -178,10 +178,10 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				setEcoreReference((EReference)null);
 				return;
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 1:
+			case 5:
 				getEObjects().clear();
 				return;
 		}
@@ -196,9 +196,9 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				return ecoreReference != null;
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 1:
+			case 5:
 				return eObjects != null && !eObjects.isEmpty();
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassElementImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassElementImpl.java
index b8b83f2..d851bcf 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassElementImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ClassElementImpl.java
@@ -100,7 +100,7 @@
 		EClass oldEcoreClass = ecoreClass;
 		ecoreClass = newEcoreClass;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ElementImpl.ELEMENT_FEATURE_COUNT + 0, oldEcoreClass, ecoreClass));
+			eNotify(new ENotificationImpl(this, Notification.SET, 5, oldEcoreClass, ecoreClass));
 	}
 
 	/**
@@ -111,7 +111,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				return getEcoreClass();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -125,7 +125,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				setEcoreClass((EClass)newValue);
 				return;
 		}
@@ -140,7 +140,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				setEcoreClass((EClass)null);
 				return;
 		}
@@ -155,7 +155,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				return ecoreClass != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CommentImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CommentImpl.java
index 7068983..55be670 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CommentImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/CommentImpl.java
@@ -114,7 +114,7 @@
 		String oldData = data;
 		data = newData;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldData, data));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldData, data));
 	}
 
 	/**
@@ -125,7 +125,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getData();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -139,7 +139,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setData((String)newValue);
 				return;
 		}
@@ -154,7 +154,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setData(DATA_EDEFAULT);
 				return;
 		}
@@ -169,7 +169,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DTDImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DTDImpl.java
index 4ca7a69..5d9810f 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DTDImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DTDImpl.java
@@ -156,7 +156,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldName, name));
 	}
 
 	/**
@@ -179,7 +179,7 @@
 		String oldPublicId = publicId;
 		publicId = newPublicId;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 1, oldPublicId, publicId));
+			eNotify(new ENotificationImpl(this, Notification.SET, 2, oldPublicId, publicId));
 	}
 
 	/**
@@ -202,7 +202,7 @@
 		String oldSystemId = systemId;
 		systemId = newSystemId;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 2, oldSystemId, systemId));
+			eNotify(new ENotificationImpl(this, Notification.SET, 3, oldSystemId, systemId));
 	}
 
 	/**
@@ -213,11 +213,11 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getName();
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return getPublicId();
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				return getSystemId();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -231,13 +231,13 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setName((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setPublicId((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				setSystemId((String)newValue);
 				return;
 		}
@@ -252,13 +252,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setName(NAME_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setPublicId(PUBLIC_ID_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				setSystemId(SYSTEM_ID_EDEFAULT);
 				return;
 		}
@@ -273,11 +273,11 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return PUBLIC_ID_EDEFAULT == null ? publicId != null : !PUBLIC_ID_EDEFAULT.equals(publicId);
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				return SYSTEM_ID_EDEFAULT == null ? systemId != null : !SYSTEM_ID_EDEFAULT.equals(systemId);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeAttributeImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeAttributeImpl.java
index 8e6837b..5a53ff1 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeAttributeImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeAttributeImpl.java
@@ -101,7 +101,7 @@
 		EAttribute oldEcoreAttribute = ecoreAttribute;
 		ecoreAttribute = newEcoreAttribute;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0, oldEcoreAttribute, ecoreAttribute));
+			eNotify(new ENotificationImpl(this, Notification.SET, 4, oldEcoreAttribute, ecoreAttribute));
 	}
 
 	/**
@@ -112,7 +112,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				return getEcoreAttribute();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -126,7 +126,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				setEcoreAttribute((EAttribute)newValue);
 				return;
 		}
@@ -141,7 +141,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				setEcoreAttribute((EAttribute)null);
 				return;
 		}
@@ -156,7 +156,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0:
+			case 4:
 				return ecoreAttribute != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeElementImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeElementImpl.java
index 8d6ba7f..bd6cf3e 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeElementImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/DataTypeElementImpl.java
@@ -101,7 +101,7 @@
 		EDataType oldEcoreDataType = ecoreDataType;
 		ecoreDataType = newEcoreDataType;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ElementImpl.ELEMENT_FEATURE_COUNT + 0, oldEcoreDataType, ecoreDataType));
+			eNotify(new ENotificationImpl(this, Notification.SET, 5, oldEcoreDataType, ecoreDataType));
 	}
 
 	/**
@@ -112,7 +112,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				return getEcoreDataType();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -126,7 +126,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				setEcoreDataType((EDataType)newValue);
 				return;
 		}
@@ -141,7 +141,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				setEcoreDataType((EDataType)null);
 				return;
 		}
@@ -156,7 +156,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case ElementImpl.ELEMENT_FEATURE_COUNT + 0:
+			case 5:
 				return ecoreDataType != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ElementImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ElementImpl.java
index ce1305e..9205120 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ElementImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ElementImpl.java
@@ -158,7 +158,7 @@
 		String oldLocalName = localName;
 		localName = newLocalName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldLocalName, localName));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldLocalName, localName));
 	}
 
 	/**
@@ -181,7 +181,7 @@
 		String oldQName = qName;
 		qName = newQName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 1, oldQName, qName));
+			eNotify(new ENotificationImpl(this, Notification.SET, 2, oldQName, qName));
 	}
 
 	/**
@@ -204,7 +204,7 @@
 		String oldUri = uri;
 		uri = newUri;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 2, oldUri, uri));
+			eNotify(new ENotificationImpl(this, Notification.SET, 3, oldUri, uri));
 	}
 
 	/**
@@ -215,13 +215,13 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getLocalName();
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return getQName();
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				return getUri();
-			case NodeImpl.NODE_FEATURE_COUNT + 3:
+			case 4:
 				return getEcoreClassifier();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -235,13 +235,13 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setLocalName((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setQName((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				setUri((String)newValue);
 				return;
 		}
@@ -256,13 +256,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setLocalName(LOCAL_NAME_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setQName(QNAME_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				setUri(URI_EDEFAULT);
 				return;
 		}
@@ -277,13 +277,13 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return LOCAL_NAME_EDEFAULT == null ? localName != null : !LOCAL_NAME_EDEFAULT.equals(localName);
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return QNAME_EDEFAULT == null ? qName != null : !QNAME_EDEFAULT.equals(qName);
-			case NodeImpl.NODE_FEATURE_COUNT + 2:
+			case 3:
 				return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
-			case NodeImpl.NODE_FEATURE_COUNT + 3:
+			case 4:
 				return getEcoreClassifier() != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/EntityImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/EntityImpl.java
index cc633a9..a82f8a3 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/EntityImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/EntityImpl.java
@@ -114,7 +114,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldName, name));
 	}
 
 	/**
@@ -125,7 +125,7 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getName();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -139,7 +139,7 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setName((String)newValue);
 				return;
 		}
@@ -154,7 +154,7 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setName(NAME_EDEFAULT);
 				return;
 		}
@@ -169,7 +169,7 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/PrefixMappingImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/PrefixMappingImpl.java
index 09ff3ce..d8bfd19 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/PrefixMappingImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/PrefixMappingImpl.java
@@ -135,7 +135,7 @@
 		String oldPrefix = prefix;
 		prefix = newPrefix;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldPrefix, prefix));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldPrefix, prefix));
 	}
 
 	/**
@@ -158,7 +158,7 @@
 		String oldUri = uri;
 		uri = newUri;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 1, oldUri, uri));
+			eNotify(new ENotificationImpl(this, Notification.SET, 2, oldUri, uri));
 	}
 
 	/**
@@ -169,9 +169,9 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getPrefix();
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return getUri();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -185,10 +185,10 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setPrefix((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setUri((String)newValue);
 				return;
 		}
@@ -203,10 +203,10 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setPrefix(PREFIX_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setUri(URI_EDEFAULT);
 				return;
 		}
@@ -221,9 +221,9 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return PREFIX_EDEFAULT == null ? prefix != null : !PREFIX_EDEFAULT.equals(prefix);
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ProcessingInstructionImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ProcessingInstructionImpl.java
index 57ea6b3..6775a7e 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ProcessingInstructionImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/ProcessingInstructionImpl.java
@@ -135,7 +135,7 @@
 		String oldTarget = target;
 		target = newTarget;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 0, oldTarget, target));
+			eNotify(new ENotificationImpl(this, Notification.SET, 1, oldTarget, target));
 	}
 
 	/**
@@ -158,7 +158,7 @@
 		String oldData = data;
 		data = newData;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, NodeImpl.NODE_FEATURE_COUNT + 1, oldData, data));
+			eNotify(new ENotificationImpl(this, Notification.SET, 2, oldData, data));
 	}
 
 	/**
@@ -169,9 +169,9 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return getTarget();
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return getData();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -185,10 +185,10 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setTarget((String)newValue);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setData((String)newValue);
 				return;
 		}
@@ -203,10 +203,10 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				setTarget(TARGET_EDEFAULT);
 				return;
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				setData(DATA_EDEFAULT);
 				return;
 		}
@@ -221,9 +221,9 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case NodeImpl.NODE_FEATURE_COUNT + 0:
+			case 1:
 				return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
-			case NodeImpl.NODE_FEATURE_COUNT + 1:
+			case 2:
 				return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
 		}
 		return super.eIsSet(featureID);
diff --git a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/XMLmodelPackageImpl.java b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/XMLmodelPackageImpl.java
index 4d0fd8c..7cf022a 100644
--- a/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/XMLmodelPackageImpl.java
+++ b/plugins/org.eclipse.qvtd.xml/emf-gen/org/eclipse/qvtd/xml/impl/XMLmodelPackageImpl.java
@@ -620,57 +620,57 @@
 
 		// Create classes and their features
 		attributeEClass = createEClass(0);
-		createEAttribute(attributeEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
-		createEAttribute(attributeEClass, NodeImpl.NODE_FEATURE_COUNT + 1);
-		createEReference(attributeEClass, NodeImpl.NODE_FEATURE_COUNT + 2);
+		createEAttribute(attributeEClass, 1);
+		createEAttribute(attributeEClass, 2);
+		createEReference(attributeEClass, 3);
 
 		cdataEClass = createEClass(1);
 
 		charactersEClass = createEClass(2);
-		createEAttribute(charactersEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
+		createEAttribute(charactersEClass, 1);
 
 		classAttributeEClass = createEClass(3);
-		createEReference(classAttributeEClass, AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0);
-		createEReference(classAttributeEClass, AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 1);
+		createEReference(classAttributeEClass, 4);
+		createEReference(classAttributeEClass, 5);
 
 		classElementEClass = createEClass(4);
-		createEReference(classElementEClass, ElementImpl.ELEMENT_FEATURE_COUNT + 0);
+		createEReference(classElementEClass, 5);
 
 		commentEClass = createEClass(5);
-		createEAttribute(commentEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
+		createEAttribute(commentEClass, 1);
 
 		dtdEClass = createEClass(6);
-		createEAttribute(dtdEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
-		createEAttribute(dtdEClass, NodeImpl.NODE_FEATURE_COUNT + 1);
-		createEAttribute(dtdEClass, NodeImpl.NODE_FEATURE_COUNT + 2);
+		createEAttribute(dtdEClass, 1);
+		createEAttribute(dtdEClass, 2);
+		createEAttribute(dtdEClass, 3);
 
 		dataTypeAttributeEClass = createEClass(7);
-		createEReference(dataTypeAttributeEClass, AttributeImpl.ATTRIBUTE_FEATURE_COUNT + 0);
+		createEReference(dataTypeAttributeEClass, 4);
 
 		dataTypeElementEClass = createEClass(8);
-		createEReference(dataTypeElementEClass, ElementImpl.ELEMENT_FEATURE_COUNT + 0);
+		createEReference(dataTypeElementEClass, 5);
 
 		documentEClass = createEClass(9);
 
 		elementEClass = createEClass(10);
-		createEAttribute(elementEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
-		createEAttribute(elementEClass, NodeImpl.NODE_FEATURE_COUNT + 1);
-		createEAttribute(elementEClass, NodeImpl.NODE_FEATURE_COUNT + 2);
-		createEReference(elementEClass, NodeImpl.NODE_FEATURE_COUNT + 3);
+		createEAttribute(elementEClass, 1);
+		createEAttribute(elementEClass, 2);
+		createEAttribute(elementEClass, 3);
+		createEReference(elementEClass, 4);
 
 		entityEClass = createEClass(11);
-		createEAttribute(entityEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
+		createEAttribute(entityEClass, 1);
 
 		nodeEClass = createEClass(12);
 		createEReference(nodeEClass, 0);
 
 		prefixMappingEClass = createEClass(13);
-		createEAttribute(prefixMappingEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
-		createEAttribute(prefixMappingEClass, NodeImpl.NODE_FEATURE_COUNT + 1);
+		createEAttribute(prefixMappingEClass, 1);
+		createEAttribute(prefixMappingEClass, 2);
 
 		processingInstructionEClass = createEClass(14);
-		createEAttribute(processingInstructionEClass, NodeImpl.NODE_FEATURE_COUNT + 0);
-		createEAttribute(processingInstructionEClass, NodeImpl.NODE_FEATURE_COUNT + 1);
+		createEAttribute(processingInstructionEClass, 1);
+		createEAttribute(processingInstructionEClass, 2);
 	}
 
 	/**