diff --git a/plugins/org.eclipse.ocl.pivot/plugin.xml b/plugins/org.eclipse.ocl.pivot/plugin.xml
index 6a1abc4..8e14ccc 100644
--- a/plugins/org.eclipse.ocl.pivot/plugin.xml
+++ b/plugins/org.eclipse.ocl.pivot/plugin.xml
@@ -158,6 +158,10 @@
       	class="org.eclipse.ocl.pivot.internal.labels.NumberLabelGenerator"/>
       <generator for="java.lang.String"
       	class="org.eclipse.ocl.pivot.internal.labels.StringLabelGenerator"/>
+      <generator for="org.eclipse.ocl.pivot.evaluation.tx.TransformationInstance"
+      	class="org.eclipse.ocl.pivot.internal.labels.TransformationInstanceLabelGenerator"/>
+      <generator for="org.eclipse.ocl.pivot.evaluation.tx.TypedModelInstance"
+      	class="org.eclipse.ocl.pivot.internal.labels.TypedModelInstanceLabelGenerator"/>
       <generator for="org.eclipse.ocl.pivot.values.Value"
       	class="org.eclipse.ocl.pivot.internal.labels.ValueLabelGenerator"/>
    </extension>
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/labels/TransformationInstanceLabelGenerator.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/labels/TransformationInstanceLabelGenerator.java
new file mode 100644
index 0000000..88879c6
--- /dev/null
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/labels/TransformationInstanceLabelGenerator.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Willink Transformations and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   E.D.Willink - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ocl.pivot.internal.labels;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.evaluation.tx.TransformationInstance;
+import org.eclipse.ocl.pivot.labels.AbstractLabelGenerator;
+
+public final class TransformationInstanceLabelGenerator extends AbstractLabelGenerator<TransformationInstance>
+{
+	public static void initialize(Registry registry) {
+		registry.install(TransformationInstance.class, new TransformationInstanceLabelGenerator());		
+	}
+	
+	public TransformationInstanceLabelGenerator() {
+		super(TransformationInstance.class);
+	}
+
+	@Override
+	public void buildLabelFor(@NonNull Builder labelBuilder, @NonNull TransformationInstance element) {
+		labelBuilder.appendString(element.getName());
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/labels/TypedModelInstanceLabelGenerator.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/labels/TypedModelInstanceLabelGenerator.java
new file mode 100644
index 0000000..b8b4ec1
--- /dev/null
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/labels/TypedModelInstanceLabelGenerator.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Willink Transformations and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   E.D.Willink - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ocl.pivot.internal.labels;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.evaluation.tx.TypedModelInstance;
+import org.eclipse.ocl.pivot.labels.AbstractLabelGenerator;
+
+public final class TypedModelInstanceLabelGenerator extends AbstractLabelGenerator<TypedModelInstance>
+{
+	public static void initialize(Registry registry) {
+		registry.install(TypedModelInstance.class, new TypedModelInstanceLabelGenerator());		
+	}
+	
+	public TypedModelInstanceLabelGenerator() {
+		super(TypedModelInstance.class);
+	}
+
+	@Override
+	public void buildLabelFor(@NonNull Builder labelBuilder, @NonNull TypedModelInstance element) {
+		labelBuilder.appendString(element.getName());
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/labels/LabelGeneratorRegistry.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/labels/LabelGeneratorRegistry.java
index 0f18590..417b0cc 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/labels/LabelGeneratorRegistry.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/labels/LabelGeneratorRegistry.java
@@ -31,6 +31,8 @@
 import org.eclipse.ocl.pivot.internal.labels.NameableLabelGenerator;
 import org.eclipse.ocl.pivot.internal.labels.NumberLabelGenerator;
 import org.eclipse.ocl.pivot.internal.labels.StringLabelGenerator;
+import org.eclipse.ocl.pivot.internal.labels.TransformationInstanceLabelGenerator;
+import org.eclipse.ocl.pivot.internal.labels.TypedModelInstanceLabelGenerator;
 import org.eclipse.ocl.pivot.internal.labels.ValueLabelGenerator;
 import org.eclipse.ocl.pivot.internal.plugin.LabelGeneratorRegistryReader;
 import org.eclipse.ocl.pivot.labels.ILabelGenerator.Descriptor;
@@ -133,6 +135,8 @@
 		NameableLabelGenerator.initialize(registry);
 		NumberLabelGenerator.initialize(registry);
 		StringLabelGenerator.initialize(registry);
+		TransformationInstanceLabelGenerator.initialize(registry);
+		TypedModelInstanceLabelGenerator.initialize(registry);
 		ValueLabelGenerator.initialize(registry);
 	}
 
