[509305] Correct HLS HSL typo
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateTestModels.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateTestModels.mwe2
index 9f85c3f..326fa5c 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateTestModels.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateTestModels.mwe2
@@ -34,7 +34,7 @@
     	genModel = "/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/forward2reverse/List2List.genmodel"
     }
 	component = GenerateModel { resourceSet = resourceSet skipOnErrors = true 
-    	genModel = "/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.genmodel"
+    	genModel = "/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.genmodel"
     }
 	component = GenerateModel { resourceSet = resourceSet skipOnErrors = true 
     	genModel = "/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/uml2rdbms/SimpleUML2RDBMS.genmodel"
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreePackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreePackage.java
deleted file mode 100644
index bb21c6b..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreePackage.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/**
- * Copyright (c) 2015, 2016 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.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each operation of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreeFactory
- * @model kind="package"
- * @generated
- */
-public interface HLSTreePackage extends EPackage {
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "HLSTree";
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HLSTree";
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "hls";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	HLSTreePackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl <em>HLS Node</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl#getHLSNode()
-	 * @generated
-	 */
-	int HLS_NODE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Parent</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HLS_NODE__PARENT = 0;
-
-	/**
-	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HLS_NODE__CHILDREN = 1;
-
-	/**
-	 * The feature id for the '<em><b>Hls</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HLS_NODE__HLS = 2;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HLS_NODE__NAME = 3;
-
-	/**
-	 * The number of structural features of the '<em>HLS Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HLS_NODE_FEATURE_COUNT = 4;
-
-	/**
-	 * The number of operations of the '<em>HLS Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HLS_NODE_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '<em>HLS</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl#getHLS()
-	 * @generated
-	 */
-	int HLS = 1;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode <em>HLS Node</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>HLS Node</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode
-	 * @generated
-	 */
-	EClass getHLSNode();
-
-	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getParent <em>Parent</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the container reference '<em>Parent</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getParent()
-	 * @see #getHLSNode()
-	 * @generated
-	 */
-	EReference getHLSNode_Parent();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getChildren <em>Children</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Children</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getChildren()
-	 * @see #getHLSNode()
-	 * @generated
-	 */
-	EReference getHLSNode_Children();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getHls <em>Hls</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Hls</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getHls()
-	 * @see #getHLSNode()
-	 * @generated
-	 */
-	EAttribute getHLSNode_Hls();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getName()
-	 * @see #getHLSNode()
-	 * @generated
-	 */
-	EAttribute getHLSNode_Name();
-
-	/**
-	 * Returns the meta object for data type '{@link java.lang.String <em>HLS</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>HLS</em>'.
-	 * @see java.lang.String
-	 * @model instanceClass="java.lang.String"
-	 * @generated
-	 */
-	EDataType getHLS();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	HLSTreeFactory getHLSTreeFactory();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Defines literals for the meta objects that represent
-	 * <ul>
-	 *   <li>each class,</li>
-	 *   <li>each feature of each class,</li>
-	 *   <li>each operation of each class,</li>
-	 *   <li>each enum,</li>
-	 *   <li>and each data type</li>
-	 * </ul>
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	interface Literals {
-		/**
-		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl <em>HLS Node</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl#getHLSNode()
-		 * @generated
-		 */
-		EClass HLS_NODE = eINSTANCE.getHLSNode();
-
-		/**
-		 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference HLS_NODE__PARENT = eINSTANCE.getHLSNode_Parent();
-
-		/**
-		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference HLS_NODE__CHILDREN = eINSTANCE.getHLSNode_Children();
-
-		/**
-		 * The meta object literal for the '<em><b>Hls</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute HLS_NODE__HLS = eINSTANCE.getHLSNode_Hls();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute HLS_NODE__NAME = eINSTANCE.getHLSNode_Name();
-
-		/**
-		 * The meta object literal for the '<em>HLS</em>' data type.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see java.lang.String
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl#getHLS()
-		 * @generated
-		 */
-		EDataType HLS = eINSTANCE.getHLS();
-
-	}
-
-} //HLSTreePackage
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSTreeFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSTreeFactoryImpl.java
deleted file mode 100644
index c500f11..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSTreeFactoryImpl.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**
- * Copyright (c) 2015, 2016 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.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class HLSTreeFactoryImpl extends EFactoryImpl implements HLSTreeFactory {
-	/**
-	 * Creates the default factory implementation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HLSTreeFactory init() {
-		try {
-			HLSTreeFactory theHLSTreeFactory = (HLSTreeFactory)EPackage.Registry.INSTANCE.getEFactory(HLSTreePackage.eNS_URI);
-			if (theHLSTreeFactory != null) {
-				return theHLSTreeFactory;
-			}
-		}
-		catch (Exception exception) {
-			EcorePlugin.INSTANCE.log(exception);
-		}
-		return new HLSTreeFactoryImpl();
-	}
-
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HLSTreeFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case HLSTreePackage.HLS_NODE: return createHLSNode();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case HLSTreePackage.HLS:
-				return createHLSFromString(eDataType, initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case HLSTreePackage.HLS:
-				return convertHLSToString(eDataType, instanceValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public HLSNode createHLSNode() {
-		HLSNodeImpl hlsNode = new HLSNodeImpl();
-		return hlsNode;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String createHLSFromString(EDataType eDataType, String initialValue) {
-		return (String)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertHLSToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public HLSTreePackage getHLSTreePackage() {
-		return (HLSTreePackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	@Deprecated
-	public static HLSTreePackage getPackage() {
-		return HLSTreePackage.eINSTANCE;
-	}
-
-} //HLSTreeFactoryImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeAdapterFactory.java
deleted file mode 100644
index f2602b8..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeAdapterFactory.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Copyright (c) 2015, 2016 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.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage
- * @generated
- */
-public class HLSTreeAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static HLSTreePackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HLSTreeAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = HLSTreePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	@Override
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch that delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected HLSTreeSwitch<@Nullable Adapter> modelSwitch =
-		new HLSTreeSwitch<@Nullable Adapter>() {
-			@Override
-			public Adapter caseHLSNode(HLSNode object) {
-				return createHLSNodeAdapter();
-			}
-			@Override
-			public Adapter defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	@Override
-	public Adapter createAdapter(Notifier target) {
-		return modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode <em>HLS Node</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode
-	 * @generated
-	 */
-	public Adapter createHLSNodeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //HLSTreeAdapterFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSPackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSPackageImpl.java
deleted file mode 100644
index 1462853..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSPackageImpl.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/**
- * Copyright (c) 2015, 2016 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSFactory;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class HSV2HLSPackageImpl extends EPackageImpl implements HSV2HLSPackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass hsvNode2HLSNodeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EDataType rgbEDataType = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private HSV2HLSPackageImpl() {
-		super(eNS_URI, HSV2HLSFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * 
-	 * <p>This method is used to initialize {@link HSV2HLSPackage#eINSTANCE} when that field is accessed.
-	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static HSV2HLSPackage init() {
-		if (isInited) return (HSV2HLSPackage)EPackage.Registry.INSTANCE.getEPackage(HSV2HLSPackage.eNS_URI);
-
-		// Obtain or create and register package
-		Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
-		HSV2HLSPackageImpl theHSV2HLSPackage = (HSV2HLSPackageImpl)(ePackage instanceof HSV2HLSPackageImpl ? ePackage : new HSV2HLSPackageImpl());
-
-		isInited = true;
-
-		// Obtain or create and register interdependencies
-		HSVTreePackageImpl theHSVTreePackage = (HSVTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) instanceof HSVTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) : HSVTreePackage.eINSTANCE);
-		HLSTreePackageImpl theHLSTreePackage = (HLSTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLSTreePackage.eNS_URI) instanceof HLSTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLSTreePackage.eNS_URI) : HLSTreePackage.eINSTANCE);
-
-		// Create package meta-data objects
-		theHSV2HLSPackage.createPackageContents();
-		theHSVTreePackage.createPackageContents();
-		theHLSTreePackage.createPackageContents();
-
-		// Initialize created meta-data
-		theHSV2HLSPackage.initializePackageContents();
-		theHSVTreePackage.initializePackageContents();
-		theHLSTreePackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theHSV2HLSPackage.freeze();
-
-  
-		// Update the registry and return the package
-		EPackage.Registry.INSTANCE.put(HSV2HLSPackage.eNS_URI, theHSV2HLSPackage);
-		return theHSV2HLSPackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getHSVNode2HLSNode() {
-		return hsvNode2HLSNodeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getHSVNode2HLSNode_Parent() {
-		return (EReference)hsvNode2HLSNodeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getHSVNode2HLSNode_Children() {
-		return (EReference)hsvNode2HLSNodeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getHSVNode2HLSNode_Hsv() {
-		return (EReference)hsvNode2HLSNodeEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getHSVNode2HLSNode_Hls() {
-		return (EReference)hsvNode2HLSNodeEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getHSVNode2HLSNode_Rgb() {
-		return (EAttribute)hsvNode2HLSNodeEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getHSVNode2HLSNode_Name() {
-		return (EAttribute)hsvNode2HLSNodeEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EDataType getRGB() {
-		return rgbEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public HSV2HLSFactory getHSV2HLSFactory() {
-		return (HSV2HLSFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		hsvNode2HLSNodeEClass = createEClass(HSV_NODE2_HLS_NODE);
-		createEReference(hsvNode2HLSNodeEClass, HSV_NODE2_HLS_NODE__PARENT);
-		createEReference(hsvNode2HLSNodeEClass, HSV_NODE2_HLS_NODE__CHILDREN);
-		createEReference(hsvNode2HLSNodeEClass, HSV_NODE2_HLS_NODE__HSV);
-		createEReference(hsvNode2HLSNodeEClass, HSV_NODE2_HLS_NODE__HLS);
-		createEAttribute(hsvNode2HLSNodeEClass, HSV_NODE2_HLS_NODE__RGB);
-		createEAttribute(hsvNode2HLSNodeEClass, HSV_NODE2_HLS_NODE__NAME);
-
-		// Create data types
-		rgbEDataType = createEDataType(RGB);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Obtain other dependent packages
-		HSVTreePackage theHSVTreePackage = (HSVTreePackage)EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI);
-		HLSTreePackage theHLSTreePackage = (HLSTreePackage)EPackage.Registry.INSTANCE.getEPackage(HLSTreePackage.eNS_URI);
-
-		// Create type parameters
-
-		// Set bounds for type parameters
-
-		// Add supertypes to classes
-
-		// Initialize classes, features, and operations; add parameters
-		initEClass(hsvNode2HLSNodeEClass, HSVNode2HLSNode.class, "HSVNode2HLSNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getHSVNode2HLSNode_Parent(), this.getHSVNode2HLSNode(), this.getHSVNode2HLSNode_Children(), "parent", null, 0, 1, HSVNode2HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getHSVNode2HLSNode_Children(), this.getHSVNode2HLSNode(), this.getHSVNode2HLSNode_Parent(), "children", null, 0, -1, HSVNode2HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getHSVNode2HLSNode_Hsv(), theHSVTreePackage.getHSVNode(), null, "hsv", null, 1, 1, HSVNode2HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getHSVNode2HLSNode_Hls(), theHLSTreePackage.getHLSNode(), null, "hls", null, 1, 1, HSVNode2HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getHSVNode2HLSNode_Rgb(), this.getRGB(), "rgb", null, 1, 1, HSVNode2HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getHSVNode2HLSNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, HSVNode2HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		// Initialize data types
-		initEDataType(rgbEDataType, String.class, "RGB", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-
-		// Create resource
-		createResource(eNS_URI);
-
-		// Create annotations
-		// http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName
-		createEmofAnnotations();
-	}
-
-	/**
-	 * Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void createEmofAnnotations() {
-		String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName";	
-		addAnnotation
-		  (getHSVNode2HLSNode_Hsv(), 
-		   source, 
-		   new String[] {
-			 "body", "middle",
-			 "upper", "1"
-		   });	
-		addAnnotation
-		  (getHSVNode2HLSNode_Hls(), 
-		   source, 
-		   new String[] {
-			 "body", "middle",
-			 "upper", "1"
-		   });
-	}
-
-} //HSV2HLSPackageImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/util/HSV2HLSAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/util/HSV2HLSAdapterFactory.java
deleted file mode 100644
index 699f1de..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/util/HSV2HLSAdapterFactory.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Copyright (c) 2015, 2016 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage
- * @generated
- */
-public class HSV2HLSAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static HSV2HLSPackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HSV2HLSAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = HSV2HLSPackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	@Override
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch that delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected HSV2HLSSwitch<@Nullable Adapter> modelSwitch =
-		new HSV2HLSSwitch<@Nullable Adapter>() {
-			@Override
-			public Adapter caseHSVNode2HLSNode(HSVNode2HLSNode object) {
-				return createHSVNode2HLSNodeAdapter();
-			}
-			@Override
-			public Adapter defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	@Override
-	public Adapter createAdapter(Notifier target) {
-		return modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode <em>HSV Node2 HLS Node</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode
-	 * @generated
-	 */
-	public Adapter createHSVNode2HLSNodeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //HSV2HLSAdapterFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSNode.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLNode.java
similarity index 60%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSNode.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLNode.java
index 3ea723c..219f0e3 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSNode.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLNode.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree;
 
 import org.eclipse.emf.common.util.EList;
 
@@ -23,20 +23,20 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getHls <em>Hls</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getHsl <em>Hsl</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getName <em>Name</em>}</li>
  * </ul>
  *
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage#getHLSNode()
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage#getHSLNode()
  * @model
  * @generated
  */
-public interface HLSNode extends EObject {
+public interface HSLNode extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Parent</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getChildren <em>Children</em>}'.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
@@ -44,28 +44,28 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Parent</em>' container reference.
-	 * @see #setParent(HLSNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage#getHLSNode_Parent()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getChildren
+	 * @see #setParent(HSLNode)
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage#getHSLNode_Parent()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getChildren
 	 * @model opposite="children" transient="false"
 	 * @generated
 	 */
-	HLSNode getParent();
+	HSLNode getParent();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getParent <em>Parent</em>}' container reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getParent <em>Parent</em>}' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Parent</em>' container reference.
 	 * @see #getParent()
 	 * @generated
 	 */
-	void setParent(HLSNode value);
+	void setParent(HSLNode value);
 
 	/**
 	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getParent <em>Parent</em>}'.
+	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
@@ -73,39 +73,39 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Children</em>' containment reference list.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage#getHLSNode_Children()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getParent
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage#getHSLNode_Children()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getParent
 	 * @model opposite="parent" containment="true"
 	 * @generated
 	 */
-	EList<HLSNode> getChildren();
+	EList<HSLNode> getChildren();
 
 	/**
-	 * Returns the value of the '<em><b>Hls</b></em>' attribute.
+	 * Returns the value of the '<em><b>Hsl</b></em>' attribute.
 	 * The default value is <code>"1"</code>.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Hls</em>' attribute isn't clear,
+	 * If the meaning of the '<em>Hsl</em>' attribute isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Hls</em>' attribute.
-	 * @see #setHls(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage#getHLSNode_Hls()
-	 * @model default="1" dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLS" required="true"
+	 * @return the value of the '<em>Hsl</em>' attribute.
+	 * @see #setHsl(String)
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage#getHSLNode_Hsl()
+	 * @model default="1" dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSL" required="true"
 	 * @generated
 	 */
-	String getHls();
+	String getHsl();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getHls <em>Hls</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getHsl <em>Hsl</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Hls</em>' attribute.
-	 * @see #getHls()
+	 * @param value the new value of the '<em>Hsl</em>' attribute.
+	 * @see #getHsl()
 	 * @generated
 	 */
-	void setHls(String value);
+	void setHsl(String value);
 
 	/**
 	 * Returns the value of the '<em><b>Name</b></em>' attribute.
@@ -117,14 +117,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
 	 * @see #setName(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage#getHLSNode_Name()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage#getHSLNode_Name()
 	 * @model required="true"
 	 * @generated
 	 */
 	String getName();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode#getName <em>Name</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getName <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Name</em>' attribute.
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreeFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLTreeFactory.java
similarity index 68%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreeFactory.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLTreeFactory.java
index c4d5c95..c90061c 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreeFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLTreeFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree;
 
 import org.eclipse.emf.ecore.EFactory;
 
@@ -17,26 +17,26 @@
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage
  * @generated
  */
-public interface HLSTreeFactory extends EFactory {
+public interface HSLTreeFactory extends EFactory {
 	/**
 	 * The singleton instance of the factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HLSTreeFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreeFactoryImpl.init();
+	HSLTreeFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreeFactoryImpl.init();
 
 	/**
-	 * Returns a new object of class '<em>HLS Node</em>'.
+	 * Returns a new object of class '<em>HSL Node</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>HLS Node</em>'.
+	 * @return a new object of class '<em>HSL Node</em>'.
 	 * @generated
 	 */
-	HLSNode createHLSNode();
+	HSLNode createHSLNode();
 
 	/**
 	 * Returns the package supported by this factory.
@@ -45,6 +45,6 @@
 	 * @return the package supported by this factory.
 	 * @generated
 	 */
-	HLSTreePackage getHLSTreePackage();
+	HSLTreePackage getHSLTreePackage();
 
 } //HLSTreeFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreePackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLTreePackage.java
similarity index 62%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreePackage.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLTreePackage.java
index 32d9ead..f8f74cd 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreePackage.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/HSLTreePackage.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -28,18 +28,18 @@
  *   <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreeFactory
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreeFactory
  * @model kind="package"
  * @generated
  */
-public interface HSVTreePackage extends EPackage {
+public interface HSLTreePackage extends EPackage {
 	/**
 	 * The package name.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNAME = "HSVTree";
+	String eNAME = "HSLTree";
 
 	/**
 	 * The package namespace URI.
@@ -47,7 +47,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HSVTree";
+	String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HSL/1.0/HSLTree";
 
 	/**
 	 * The package namespace name.
@@ -55,7 +55,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNS_PREFIX = "hsv";
+	String eNS_PREFIX = "hsl";
 
 	/**
 	 * The singleton instance of the package.
@@ -63,17 +63,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HSVTreePackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl.init();
+	HSLTreePackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl <em>HSV Node</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl <em>HSL Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSVNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl#getHSLNode()
 	 * @generated
 	 */
-	int HSV_NODE = 0;
+	int HSL_NODE = 0;
 
 	/**
 	 * The feature id for the '<em><b>Parent</b></em>' container reference.
@@ -82,7 +82,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE__PARENT = 0;
+	int HSL_NODE__PARENT = 0;
 
 	/**
 	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
@@ -91,16 +91,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE__CHILDREN = 1;
+	int HSL_NODE__CHILDREN = 1;
 
 	/**
-	 * The feature id for the '<em><b>Hsv</b></em>' attribute.
+	 * The feature id for the '<em><b>Hsl</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE__HSV = 2;
+	int HSL_NODE__HSL = 2;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -109,101 +109,101 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE__NAME = 3;
+	int HSL_NODE__NAME = 3;
 
 	/**
-	 * The number of structural features of the '<em>HSV Node</em>' class.
+	 * The number of structural features of the '<em>HSL Node</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE_FEATURE_COUNT = 4;
+	int HSL_NODE_FEATURE_COUNT = 4;
 
 	/**
-	 * The number of operations of the '<em>HSV Node</em>' class.
+	 * The number of operations of the '<em>HSL Node</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE_OPERATION_COUNT = 0;
+	int HSL_NODE_OPERATION_COUNT = 0;
 
 	/**
-	 * The meta object id for the '<em>HSV</em>' data type.
+	 * The meta object id for the '<em>HSL</em>' data type.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see java.lang.String
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSV()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl#getHSL()
 	 * @generated
 	 */
-	int HSV = 1;
+	int HSL = 1;
 
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode <em>HSV Node</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode <em>HSL Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>HSV Node</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode
+	 * @return the meta object for class '<em>HSL Node</em>'.
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode
 	 * @generated
 	 */
-	EClass getHSVNode();
+	EClass getHSLNode();
 
 	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent <em>Parent</em>}'.
+	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the container reference '<em>Parent</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent()
-	 * @see #getHSVNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getParent()
+	 * @see #getHSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode_Parent();
+	EReference getHSLNode_Parent();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren <em>Children</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Children</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren()
-	 * @see #getHSVNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getChildren()
+	 * @see #getHSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode_Children();
+	EReference getHSLNode_Children();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getHsv <em>Hsv</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getHsl <em>Hsl</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Hsv</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getHsv()
-	 * @see #getHSVNode()
+	 * @return the meta object for the attribute '<em>Hsl</em>'.
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getHsl()
+	 * @see #getHSLNode()
 	 * @generated
 	 */
-	EAttribute getHSVNode_Hsv();
+	EAttribute getHSLNode_Hsl();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getName <em>Name</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getName <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getName()
-	 * @see #getHSVNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode#getName()
+	 * @see #getHSLNode()
 	 * @generated
 	 */
-	EAttribute getHSVNode_Name();
+	EAttribute getHSLNode_Name();
 
 	/**
-	 * Returns the meta object for data type '{@link java.lang.String <em>HSV</em>}'.
+	 * Returns the meta object for data type '{@link java.lang.String <em>HSL</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>HSV</em>'.
+	 * @return the meta object for data type '<em>HSL</em>'.
 	 * @see java.lang.String
 	 * @model instanceClass="java.lang.String"
 	 * @generated
 	 */
-	EDataType getHSV();
+	EDataType getHSL();
 
 	/**
 	 * Returns the factory that creates the instances of the model.
@@ -212,7 +212,7 @@
 	 * @return the factory that creates the instances of the model.
 	 * @generated
 	 */
-	HSVTreeFactory getHSVTreeFactory();
+	HSLTreeFactory getHSLTreeFactory();
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -229,14 +229,14 @@
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl <em>HSV Node</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl <em>HSL Node</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSVNode()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl#getHSLNode()
 		 * @generated
 		 */
-		EClass HSV_NODE = eINSTANCE.getHSVNode();
+		EClass HSL_NODE = eINSTANCE.getHSLNode();
 
 		/**
 		 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
@@ -244,7 +244,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE__PARENT = eINSTANCE.getHSVNode_Parent();
+		EReference HSL_NODE__PARENT = eINSTANCE.getHSLNode_Parent();
 
 		/**
 		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
@@ -252,15 +252,15 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE__CHILDREN = eINSTANCE.getHSVNode_Children();
+		EReference HSL_NODE__CHILDREN = eINSTANCE.getHSLNode_Children();
 
 		/**
-		 * The meta object literal for the '<em><b>Hsv</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Hsl</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HSV_NODE__HSV = eINSTANCE.getHSVNode_Hsv();
+		EAttribute HSL_NODE__HSL = eINSTANCE.getHSLNode_Hsl();
 
 		/**
 		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -268,18 +268,18 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HSV_NODE__NAME = eINSTANCE.getHSVNode_Name();
+		EAttribute HSL_NODE__NAME = eINSTANCE.getHSLNode_Name();
 
 		/**
-		 * The meta object literal for the '<em>HSV</em>' data type.
+		 * The meta object literal for the '<em>HSL</em>' data type.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @see java.lang.String
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSV()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl#getHSL()
 		 * @generated
 		 */
-		EDataType HSV = eINSTANCE.getHSV();
+		EDataType HSL = eINSTANCE.getHSL();
 
 	}
 
-} //HSVTreePackage
+} //HLSTreePackage
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSNodeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLNodeImpl.java
similarity index 64%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSNodeImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLNodeImpl.java
index 0873644..900dd2a 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSNodeImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLNodeImpl.java
@@ -4,11 +4,11 @@
  * 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.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl;
 
 import java.util.Collection;
 
@@ -26,9 +26,8 @@
 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -38,15 +37,15 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl#getHls <em>Hls</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSNodeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl#getHsl <em>Hsl</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLNodeImpl#getName <em>Name</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class HLSNodeImpl extends MinimalEObjectImpl.Container implements HLSNode {
+public class HSLNodeImpl extends MinimalEObjectImpl.Container implements HSLNode {
 	/**
 	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -55,27 +54,27 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<HLSNode> children;
+	protected EList<HSLNode> children;
 
 	/**
-	 * The default value of the '{@link #getHls() <em>Hls</em>}' attribute.
+	 * The default value of the '{@link #getHsl() <em>Hsl</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getHls()
+	 * @see #getHsl()
 	 * @generated
 	 * @ordered
 	 */
-	protected static final String HLS_EDEFAULT = "1";
+	protected static final String HSL_EDEFAULT = "1";
 
 	/**
-	 * The cached value of the '{@link #getHls() <em>Hls</em>}' attribute.
+	 * The cached value of the '{@link #getHsl() <em>Hsl</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getHls()
+	 * @see #getHsl()
 	 * @generated
 	 * @ordered
 	 */
-	protected String hls = HLS_EDEFAULT;
+	protected String hsl = HSL_EDEFAULT;
 
 	/**
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
@@ -102,7 +101,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected HLSNodeImpl() {
+	protected HSLNodeImpl() {
 		super();
 	}
 
@@ -113,7 +112,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return HLSTreePackage.Literals.HLS_NODE;
+		return HSLTreePackage.Literals.HSL_NODE;
 	}
 
 	/**
@@ -122,9 +121,9 @@
 	 * @generated
 	 */
 	@Override
-	public HLSNode getParent() {
-		if (eContainerFeatureID() != HLSTreePackage.HLS_NODE__PARENT) return null;
-		return (HLSNode)eInternalContainer();
+	public HSLNode getParent() {
+		if (eContainerFeatureID() != HSLTreePackage.HSL_NODE__PARENT) return null;
+		return (HSLNode)eInternalContainer();
 	}
 
 	/**
@@ -132,8 +131,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetParent(HLSNode newParent, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newParent, HLSTreePackage.HLS_NODE__PARENT, msgs);
+	public NotificationChain basicSetParent(HSLNode newParent, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newParent, HSLTreePackage.HSL_NODE__PARENT, msgs);
 		return msgs;
 	}
 
@@ -143,20 +142,20 @@
 	 * @generated
 	 */
 	@Override
-	public void setParent(HLSNode newParent) {
-		if (newParent != eInternalContainer() || (eContainerFeatureID() != HLSTreePackage.HLS_NODE__PARENT && newParent != null)) {
+	public void setParent(HSLNode newParent) {
+		if (newParent != eInternalContainer() || (eContainerFeatureID() != HSLTreePackage.HSL_NODE__PARENT && newParent != null)) {
 			if (EcoreUtil.isAncestor(this, newParent))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newParent != null)
-				msgs = ((InternalEObject)newParent).eInverseAdd(this, HLSTreePackage.HLS_NODE__CHILDREN, HLSNode.class, msgs);
+				msgs = ((InternalEObject)newParent).eInverseAdd(this, HSLTreePackage.HSL_NODE__CHILDREN, HSLNode.class, msgs);
 			msgs = basicSetParent(newParent, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HLSTreePackage.HLS_NODE__PARENT, newParent, newParent));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSLTreePackage.HSL_NODE__PARENT, newParent, newParent));
 	}
 
 	/**
@@ -165,9 +164,9 @@
 	 * @generated
 	 */
 	@Override
-	public EList<HLSNode> getChildren() {
+	public EList<HSLNode> getChildren() {
 		if (children == null) {
-			children = new EObjectContainmentWithInverseEList<HLSNode>(HLSNode.class, this, HLSTreePackage.HLS_NODE__CHILDREN, HLSTreePackage.HLS_NODE__PARENT);
+			children = new EObjectContainmentWithInverseEList<HSLNode>(HSLNode.class, this, HSLTreePackage.HSL_NODE__CHILDREN, HSLTreePackage.HSL_NODE__PARENT);
 		}
 		return children;
 	}
@@ -178,8 +177,8 @@
 	 * @generated
 	 */
 	@Override
-	public String getHls() {
-		return hls;
+	public String getHsl() {
+		return hsl;
 	}
 
 	/**
@@ -188,11 +187,11 @@
 	 * @generated
 	 */
 	@Override
-	public void setHls(String newHls) {
-		String oldHls = hls;
-		hls = newHls;
+	public void setHsl(String newHsl) {
+		String oldHsl = hsl;
+		hsl = newHsl;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HLSTreePackage.HLS_NODE__HLS, oldHls, hls));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSLTreePackage.HSL_NODE__HSL, oldHsl, hsl));
 	}
 
 	/**
@@ -215,7 +214,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HLSTreePackage.HLS_NODE__NAME, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSLTreePackage.HSL_NODE__NAME, oldName, name));
 	}
 
 	/**
@@ -227,11 +226,11 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case HLSTreePackage.HLS_NODE__PARENT:
+			case HSLTreePackage.HSL_NODE__PARENT:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetParent((HLSNode)otherEnd, msgs);
-			case HLSTreePackage.HLS_NODE__CHILDREN:
+				return basicSetParent((HSLNode)otherEnd, msgs);
+			case HSLTreePackage.HSL_NODE__CHILDREN:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
@@ -245,9 +244,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case HLSTreePackage.HLS_NODE__PARENT:
+			case HSLTreePackage.HSL_NODE__PARENT:
 				return basicSetParent(null, msgs);
-			case HLSTreePackage.HLS_NODE__CHILDREN:
+			case HSLTreePackage.HSL_NODE__CHILDREN:
 				return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -261,8 +260,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case HLSTreePackage.HLS_NODE__PARENT:
-				return eInternalContainer().eInverseRemove(this, HLSTreePackage.HLS_NODE__CHILDREN, HLSNode.class, msgs);
+			case HSLTreePackage.HSL_NODE__PARENT:
+				return eInternalContainer().eInverseRemove(this, HSLTreePackage.HSL_NODE__CHILDREN, HSLNode.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -275,13 +274,13 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case HLSTreePackage.HLS_NODE__PARENT:
+			case HSLTreePackage.HSL_NODE__PARENT:
 				return getParent();
-			case HLSTreePackage.HLS_NODE__CHILDREN:
+			case HSLTreePackage.HSL_NODE__CHILDREN:
 				return getChildren();
-			case HLSTreePackage.HLS_NODE__HLS:
-				return getHls();
-			case HLSTreePackage.HLS_NODE__NAME:
+			case HSLTreePackage.HSL_NODE__HSL:
+				return getHsl();
+			case HSLTreePackage.HSL_NODE__NAME:
 				return getName();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -296,17 +295,17 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case HLSTreePackage.HLS_NODE__PARENT:
-				setParent((HLSNode)newValue);
+			case HSLTreePackage.HSL_NODE__PARENT:
+				setParent((HSLNode)newValue);
 				return;
-			case HLSTreePackage.HLS_NODE__CHILDREN:
+			case HSLTreePackage.HSL_NODE__CHILDREN:
 				getChildren().clear();
-				getChildren().addAll((Collection<? extends HLSNode>)newValue);
+				getChildren().addAll((Collection<? extends HSLNode>)newValue);
 				return;
-			case HLSTreePackage.HLS_NODE__HLS:
-				setHls((String)newValue);
+			case HSLTreePackage.HSL_NODE__HSL:
+				setHsl((String)newValue);
 				return;
-			case HLSTreePackage.HLS_NODE__NAME:
+			case HSLTreePackage.HSL_NODE__NAME:
 				setName((String)newValue);
 				return;
 		}
@@ -321,16 +320,16 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case HLSTreePackage.HLS_NODE__PARENT:
-				setParent((HLSNode)null);
+			case HSLTreePackage.HSL_NODE__PARENT:
+				setParent((HSLNode)null);
 				return;
-			case HLSTreePackage.HLS_NODE__CHILDREN:
+			case HSLTreePackage.HSL_NODE__CHILDREN:
 				getChildren().clear();
 				return;
-			case HLSTreePackage.HLS_NODE__HLS:
-				setHls(HLS_EDEFAULT);
+			case HSLTreePackage.HSL_NODE__HSL:
+				setHsl(HSL_EDEFAULT);
 				return;
-			case HLSTreePackage.HLS_NODE__NAME:
+			case HSLTreePackage.HSL_NODE__NAME:
 				setName(NAME_EDEFAULT);
 				return;
 		}
@@ -345,13 +344,13 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case HLSTreePackage.HLS_NODE__PARENT:
+			case HSLTreePackage.HSL_NODE__PARENT:
 				return getParent() != null;
-			case HLSTreePackage.HLS_NODE__CHILDREN:
+			case HSLTreePackage.HSL_NODE__CHILDREN:
 				return children != null && !children.isEmpty();
-			case HLSTreePackage.HLS_NODE__HLS:
-				return HLS_EDEFAULT == null ? hls != null : !HLS_EDEFAULT.equals(hls);
-			case HLSTreePackage.HLS_NODE__NAME:
+			case HSLTreePackage.HSL_NODE__HSL:
+				return HSL_EDEFAULT == null ? hsl != null : !HSL_EDEFAULT.equals(hsl);
+			case HSLTreePackage.HSL_NODE__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 		}
 		return super.eIsSet(featureID);
@@ -367,8 +366,8 @@
 		if (eIsProxy()) return super.toString();
 
 		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (hls: ");
-		result.append(hls);
+		result.append(" (hsl: ");
+		result.append(hsl);
 		result.append(", name: ");
 		result.append(name);
 		result.append(')');
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreeFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLTreeFactoryImpl.java
similarity index 70%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreeFactoryImpl.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLTreeFactoryImpl.java
index 85485a0..d9f6c61 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreeFactoryImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLTreeFactoryImpl.java
@@ -4,11 +4,11 @@
  * 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EDataType;
@@ -18,8 +18,7 @@
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
 
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -27,24 +26,24 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class HSVTreeFactoryImpl extends EFactoryImpl implements HSVTreeFactory {
+public class HSLTreeFactoryImpl extends EFactoryImpl implements HSLTreeFactory {
 	/**
 	 * Creates the default factory implementation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static HSVTreeFactory init() {
+	public static HSLTreeFactory init() {
 		try {
-			HSVTreeFactory theHSVTreeFactory = (HSVTreeFactory)EPackage.Registry.INSTANCE.getEFactory(HSVTreePackage.eNS_URI);
-			if (theHSVTreeFactory != null) {
-				return theHSVTreeFactory;
+			HSLTreeFactory theHSLTreeFactory = (HSLTreeFactory)EPackage.Registry.INSTANCE.getEFactory(HSLTreePackage.eNS_URI);
+			if (theHSLTreeFactory != null) {
+				return theHSLTreeFactory;
 			}
 		}
 		catch (Exception exception) {
 			EcorePlugin.INSTANCE.log(exception);
 		}
-		return new HSVTreeFactoryImpl();
+		return new HSLTreeFactoryImpl();
 	}
 
 	/**
@@ -53,7 +52,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSVTreeFactoryImpl() {
+	public HSLTreeFactoryImpl() {
 		super();
 	}
 
@@ -65,7 +64,7 @@
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case HSVTreePackage.HSV_NODE: return createHSVNode();
+			case HSLTreePackage.HSL_NODE: return createHSLNode();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -79,8 +78,8 @@
 	@Override
 	public Object createFromString(EDataType eDataType, String initialValue) {
 		switch (eDataType.getClassifierID()) {
-			case HSVTreePackage.HSV:
-				return createHSVFromString(eDataType, initialValue);
+			case HSLTreePackage.HSL:
+				return createHSLFromString(eDataType, initialValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
 		}
@@ -94,8 +93,8 @@
 	@Override
 	public String convertToString(EDataType eDataType, Object instanceValue) {
 		switch (eDataType.getClassifierID()) {
-			case HSVTreePackage.HSV:
-				return convertHSVToString(eDataType, instanceValue);
+			case HSLTreePackage.HSL:
+				return convertHSLToString(eDataType, instanceValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
 		}
@@ -107,9 +106,9 @@
 	 * @generated
 	 */
 	@Override
-	public HSVNode createHSVNode() {
-		HSVNodeImpl hsvNode = new HSVNodeImpl();
-		return hsvNode;
+	public HSLNode createHSLNode() {
+		HSLNodeImpl hslNode = new HSLNodeImpl();
+		return hslNode;
 	}
 
 	/**
@@ -117,7 +116,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String createHSVFromString(EDataType eDataType, String initialValue) {
+	public String createHSLFromString(EDataType eDataType, String initialValue) {
 		return (String)super.createFromString(eDataType, initialValue);
 	}
 
@@ -126,7 +125,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String convertHSVToString(EDataType eDataType, Object instanceValue) {
+	public String convertHSLToString(EDataType eDataType, Object instanceValue) {
 		return super.convertToString(eDataType, instanceValue);
 	}
 
@@ -136,8 +135,8 @@
 	 * @generated
 	 */
 	@Override
-	public HSVTreePackage getHSVTreePackage() {
-		return (HSVTreePackage)getEPackage();
+	public HSLTreePackage getHSLTreePackage() {
+		return (HSLTreePackage)getEPackage();
 	}
 
 	/**
@@ -147,8 +146,8 @@
 	 * @generated
 	 */
 	@Deprecated
-	public static HSVTreePackage getPackage() {
-		return HSVTreePackage.eINSTANCE;
+	public static HSLTreePackage getPackage() {
+		return HSLTreePackage.eINSTANCE;
 	}
 
-} //HSVTreeFactoryImpl
+} //HLSTreeFactoryImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSTreePackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLTreePackageImpl.java
similarity index 61%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSTreePackageImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLTreePackageImpl.java
index e78f083..b2d4b98 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/impl/HLSTreePackageImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/impl/HSLTreePackageImpl.java
@@ -4,11 +4,11 @@
  * 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.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -17,18 +17,13 @@
 import org.eclipse.emf.ecore.EReference;
 
 import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreeFactory;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreeFactory;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl;
 
 /**
  * <!-- begin-user-doc -->
@@ -36,20 +31,20 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class HLSTreePackageImpl extends EPackageImpl implements HLSTreePackage {
+public class HSLTreePackageImpl extends EPackageImpl implements HSLTreePackage {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass hlsNodeEClass = null;
+	private EClass hslNodeEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType hlsEDataType = null;
+	private EDataType hslEDataType = null;
 
 	/**
 	 * Creates an instance of the model <b>Package</b>, registered with
@@ -62,12 +57,12 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage#eNS_URI
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage#eNS_URI
 	 * @see #init()
 	 * @generated
 	 */
-	private HLSTreePackageImpl() {
-		super(eNS_URI, HLSTreeFactory.eINSTANCE);
+	private HSLTreePackageImpl() {
+		super(eNS_URI, HSLTreeFactory.eINSTANCE);
 	}
 
 	/**
@@ -79,8 +74,8 @@
 
 	/**
 	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * 
-	 * <p>This method is used to initialize {@link HLSTreePackage#eINSTANCE} when that field is accessed.
+	 *
+	 * <p>This method is used to initialize {@link HSLTreePackage#eINSTANCE} when that field is accessed.
 	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -89,36 +84,36 @@
 	 * @see #initializePackageContents()
 	 * @generated
 	 */
-	public static HLSTreePackage init() {
-		if (isInited) return (HLSTreePackage)EPackage.Registry.INSTANCE.getEPackage(HLSTreePackage.eNS_URI);
+	public static HSLTreePackage init() {
+		if (isInited) return (HSLTreePackage)EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI);
 
 		// Obtain or create and register package
 		Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
-		HLSTreePackageImpl theHLSTreePackage = (HLSTreePackageImpl)(ePackage instanceof HLSTreePackageImpl ? ePackage : new HLSTreePackageImpl());
+		HSLTreePackageImpl theHSLTreePackage = (HSLTreePackageImpl)(ePackage instanceof HSLTreePackageImpl ? ePackage : new HSLTreePackageImpl());
 
 		isInited = true;
 
 		// Obtain or create and register interdependencies
-		HSV2HLSPackageImpl theHSV2HLSPackage = (HSV2HLSPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSV2HLSPackage.eNS_URI) instanceof HSV2HLSPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSV2HLSPackage.eNS_URI) : HSV2HLSPackage.eINSTANCE);
+		HSV2HSLPackageImpl theHSV2HSLPackage = (HSV2HSLPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSV2HSLPackage.eNS_URI) instanceof HSV2HSLPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSV2HSLPackage.eNS_URI) : HSV2HSLPackage.eINSTANCE);
 		HSVTreePackageImpl theHSVTreePackage = (HSVTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) instanceof HSVTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) : HSVTreePackage.eINSTANCE);
 
 		// Create package meta-data objects
-		theHLSTreePackage.createPackageContents();
-		theHSV2HLSPackage.createPackageContents();
+		theHSLTreePackage.createPackageContents();
+		theHSV2HSLPackage.createPackageContents();
 		theHSVTreePackage.createPackageContents();
 
 		// Initialize created meta-data
-		theHLSTreePackage.initializePackageContents();
-		theHSV2HLSPackage.initializePackageContents();
+		theHSLTreePackage.initializePackageContents();
+		theHSV2HSLPackage.initializePackageContents();
 		theHSVTreePackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
-		theHLSTreePackage.freeze();
+		theHSLTreePackage.freeze();
 
-  
+
 		// Update the registry and return the package
-		EPackage.Registry.INSTANCE.put(HLSTreePackage.eNS_URI, theHLSTreePackage);
-		return theHLSTreePackage;
+		EPackage.Registry.INSTANCE.put(HSLTreePackage.eNS_URI, theHSLTreePackage);
+		return theHSLTreePackage;
 	}
 
 	/**
@@ -127,8 +122,8 @@
 	 * @generated
 	 */
 	@Override
-	public EClass getHLSNode() {
-		return hlsNodeEClass;
+	public EClass getHSLNode() {
+		return hslNodeEClass;
 	}
 
 	/**
@@ -137,8 +132,8 @@
 	 * @generated
 	 */
 	@Override
-	public EReference getHLSNode_Parent() {
-		return (EReference)hlsNodeEClass.getEStructuralFeatures().get(0);
+	public EReference getHSLNode_Parent() {
+		return (EReference)hslNodeEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -147,8 +142,8 @@
 	 * @generated
 	 */
 	@Override
-	public EReference getHLSNode_Children() {
-		return (EReference)hlsNodeEClass.getEStructuralFeatures().get(1);
+	public EReference getHSLNode_Children() {
+		return (EReference)hslNodeEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -157,8 +152,8 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHLSNode_Hls() {
-		return (EAttribute)hlsNodeEClass.getEStructuralFeatures().get(2);
+	public EAttribute getHSLNode_Hsl() {
+		return (EAttribute)hslNodeEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -167,8 +162,8 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHLSNode_Name() {
-		return (EAttribute)hlsNodeEClass.getEStructuralFeatures().get(3);
+	public EAttribute getHSLNode_Name() {
+		return (EAttribute)hslNodeEClass.getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -177,8 +172,8 @@
 	 * @generated
 	 */
 	@Override
-	public EDataType getHLS() {
-		return hlsEDataType;
+	public EDataType getHSL() {
+		return hslEDataType;
 	}
 
 	/**
@@ -187,8 +182,8 @@
 	 * @generated
 	 */
 	@Override
-	public HLSTreeFactory getHLSTreeFactory() {
-		return (HLSTreeFactory)getEFactoryInstance();
+	public HSLTreeFactory getHSLTreeFactory() {
+		return (HSLTreeFactory)getEFactoryInstance();
 	}
 
 	/**
@@ -210,14 +205,14 @@
 		isCreated = true;
 
 		// Create classes and their features
-		hlsNodeEClass = createEClass(HLS_NODE);
-		createEReference(hlsNodeEClass, HLS_NODE__PARENT);
-		createEReference(hlsNodeEClass, HLS_NODE__CHILDREN);
-		createEAttribute(hlsNodeEClass, HLS_NODE__HLS);
-		createEAttribute(hlsNodeEClass, HLS_NODE__NAME);
+		hslNodeEClass = createEClass(HSL_NODE);
+		createEReference(hslNodeEClass, HSL_NODE__PARENT);
+		createEReference(hslNodeEClass, HSL_NODE__CHILDREN);
+		createEAttribute(hslNodeEClass, HSL_NODE__HSL);
+		createEAttribute(hslNodeEClass, HSL_NODE__NAME);
 
 		// Create data types
-		hlsEDataType = createEDataType(HLS);
+		hslEDataType = createEDataType(HSL);
 	}
 
 	/**
@@ -250,14 +245,14 @@
 		// Add supertypes to classes
 
 		// Initialize classes, features, and operations; add parameters
-		initEClass(hlsNodeEClass, HLSNode.class, "HLSNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getHLSNode_Parent(), this.getHLSNode(), this.getHLSNode_Children(), "parent", null, 0, 1, HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getHLSNode_Children(), this.getHLSNode(), this.getHLSNode_Parent(), "children", null, 0, -1, HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getHLSNode_Hls(), this.getHLS(), "hls", "1", 1, 1, HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getHLSNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, HLSNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEClass(hslNodeEClass, HSLNode.class, "HSLNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHSLNode_Parent(), this.getHSLNode(), this.getHSLNode_Children(), "parent", null, 0, 1, HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSLNode_Children(), this.getHSLNode(), this.getHSLNode_Parent(), "children", null, 0, -1, HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHSLNode_Hsl(), this.getHSL(), "hsl", "1", 1, 1, HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHSLNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		// Initialize data types
-		initEDataType(hlsEDataType, String.class, "HLS", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+		initEDataType(hslEDataType, String.class, "HSL", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
 
 		// Create resource
 		createResource(eNS_URI);
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/util/HSLTreeAdapterFactory.java
similarity index 77%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/util/HSLTreeAdapterFactory.java
index 8dbc0d3..62119d7 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/util/HSLTreeAdapterFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.util;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
@@ -19,24 +19,24 @@
 
 import org.eclipse.jdt.annotation.Nullable;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.*;
 
 /**
  * <!-- begin-user-doc -->
  * The <b>Adapter Factory</b> for the model.
  * It provides an adapter <code>createXXX</code> method for each class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage
  * @generated
  */
-public class HSVTreeAdapterFactory extends AdapterFactoryImpl {
+public class HSLTreeAdapterFactory extends AdapterFactoryImpl {
 	/**
 	 * The cached model package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static HSVTreePackage modelPackage;
+	protected static HSLTreePackage modelPackage;
 
 	/**
 	 * Creates an instance of the adapter factory.
@@ -44,9 +44,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSVTreeAdapterFactory() {
+	public HSLTreeAdapterFactory() {
 		if (modelPackage == null) {
-			modelPackage = HSVTreePackage.eINSTANCE;
+			modelPackage = HSLTreePackage.eINSTANCE;
 		}
 	}
 
@@ -75,11 +75,11 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected HSVTreeSwitch<@Nullable Adapter> modelSwitch =
-		new HSVTreeSwitch<@Nullable Adapter>() {
+	protected HSLTreeSwitch<@Nullable Adapter> modelSwitch =
+		new HSLTreeSwitch<@Nullable Adapter>() {
 			@Override
-			public Adapter caseHSVNode(HSVNode object) {
-				return createHSVNodeAdapter();
+			public Adapter caseHSLNode(HSLNode object) {
+				return createHSLNodeAdapter();
 			}
 			@Override
 			public Adapter defaultCase(EObject object) {
@@ -102,16 +102,16 @@
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode <em>HSV Node</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode <em>HSL Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode
 	 * @generated
 	 */
-	public Adapter createHSVNodeAdapter() {
+	public Adapter createHSLNodeAdapter() {
 		return null;
 	}
 
@@ -127,4 +127,4 @@
 		return null;
 	}
 
-} //HSVTreeAdapterFactory
+} //HSLTreeAdapterFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeSwitch.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/util/HSLTreeSwitch.java
similarity index 82%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeSwitch.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/util/HSLTreeSwitch.java
index 83ba401..c6d94c3 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeSwitch.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree/util/HSLTreeSwitch.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.util;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
@@ -17,7 +17,7 @@
 
 import org.eclipse.jdt.annotation.Nullable;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -29,17 +29,17 @@
  * until a non-null result is returned,
  * which is the result of the switch.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage
  * @generated
  */
-public class HLSTreeSwitch<@Nullable T> extends Switch<T> {
+public class HSLTreeSwitch<@Nullable T> extends Switch<T> {
 	/**
 	 * The cached model package
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static HLSTreePackage modelPackage;
+	protected static HSLTreePackage modelPackage;
 
 	/**
 	 * Creates an instance of the switch.
@@ -47,9 +47,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HLSTreeSwitch() {
+	public HSLTreeSwitch() {
 		if (modelPackage == null) {
-			modelPackage = HLSTreePackage.eINSTANCE;
+			modelPackage = HSLTreePackage.eINSTANCE;
 		}
 	}
 
@@ -76,9 +76,9 @@
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case HLSTreePackage.HLS_NODE: {
-				HLSNode hlsNode = (HLSNode)theEObject;
-				T result = caseHLSNode(hlsNode);
+			case HSLTreePackage.HSL_NODE: {
+				HSLNode hslNode = (HSLNode)theEObject;
+				T result = caseHSLNode(hslNode);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -87,17 +87,17 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>HLS Node</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>HSL Node</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>HLS Node</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>HSL Node</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseHLSNode(HLSNode object) {
+	public T caseHSLNode(HSLNode object) {
 		return null;
 	}
 
@@ -117,4 +117,4 @@
 		return null;
 	}
 
-} //HLSTreeSwitch
+} //HSLTreeSwitch
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreeFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSV2HSLFactory.java
similarity index 61%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreeFactory.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSV2HSLFactory.java
index c4d5c95..35946cb 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/HLSTreeFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSV2HSLFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS;
 
 import org.eclipse.emf.ecore.EFactory;
 
@@ -17,26 +17,26 @@
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage
  * @generated
  */
-public interface HLSTreeFactory extends EFactory {
+public interface HSV2HSLFactory extends EFactory {
 	/**
 	 * The singleton instance of the factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HLSTreeFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreeFactoryImpl.init();
+	HSV2HSLFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSV2HSLFactoryImpl.init();
 
 	/**
-	 * Returns a new object of class '<em>HLS Node</em>'.
+	 * Returns a new object of class '<em>HSV Node2 HSL Node</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>HLS Node</em>'.
+	 * @return a new object of class '<em>HSV Node2 HSL Node</em>'.
 	 * @generated
 	 */
-	HLSNode createHLSNode();
+	HSVNode2HSLNode createHSVNode2HSLNode();
 
 	/**
 	 * Returns the package supported by this factory.
@@ -45,6 +45,6 @@
 	 * @return the package supported by this factory.
 	 * @generated
 	 */
-	HLSTreePackage getHLSTreePackage();
+	HSV2HSLPackage getHSV2HSLPackage();
 
-} //HLSTreeFactory
+} //HSV2HSLFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSPackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSV2HSLPackage.java
similarity index 64%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSPackage.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSV2HSLPackage.java
index b0a94e6..48f4372 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSPackage.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSV2HSLPackage.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -28,11 +28,11 @@
  *   <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSFactory
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLFactory
  * @model kind="package"
  * @generated
  */
-public interface HSV2HLSPackage extends EPackage {
+public interface HSV2HSLPackage extends EPackage {
 	/**
 	 * The package name.
 	 * <!-- begin-user-doc -->
@@ -63,17 +63,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HSV2HLSPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl.init();
+	HSV2HSLPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSV2HSLPackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl <em>HSV Node2 HLS Node</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl <em>HSV Node2 HSL Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSV2HSLPackageImpl#getHSVNode2HSLNode()
 	 * @generated
 	 */
-	int HSV_NODE2_HLS_NODE = 0;
+	int HSV_NODE2_HSL_NODE = 0;
 
 	/**
 	 * The feature id for the '<em><b>Parent</b></em>' container reference.
@@ -82,7 +82,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__PARENT = 0;
+	int HSV_NODE2_HSL_NODE__PARENT = 0;
 
 	/**
 	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
@@ -91,7 +91,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__CHILDREN = 1;
+	int HSV_NODE2_HSL_NODE__CHILDREN = 1;
 
 	/**
 	 * The feature id for the '<em><b>Hsv</b></em>' reference.
@@ -100,7 +100,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__HSV = 2;
+	int HSV_NODE2_HSL_NODE__HSV = 2;
 
 	/**
 	 * The feature id for the '<em><b>Hls</b></em>' reference.
@@ -109,7 +109,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__HLS = 3;
+	int HSV_NODE2_HSL_NODE__HLS = 3;
 
 	/**
 	 * The feature id for the '<em><b>Rgb</b></em>' attribute.
@@ -118,7 +118,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__RGB = 4;
+	int HSV_NODE2_HSL_NODE__RGB = 4;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -127,112 +127,112 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__NAME = 5;
+	int HSV_NODE2_HSL_NODE__NAME = 5;
 
 	/**
-	 * The number of structural features of the '<em>HSV Node2 HLS Node</em>' class.
+	 * The number of structural features of the '<em>HSV Node2 HSL Node</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE_FEATURE_COUNT = 6;
+	int HSV_NODE2_HSL_NODE_FEATURE_COUNT = 6;
 
 	/**
-	 * The number of operations of the '<em>HSV Node2 HLS Node</em>' class.
+	 * The number of operations of the '<em>HSV Node2 HSL Node</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE_OPERATION_COUNT = 0;
+	int HSV_NODE2_HSL_NODE_OPERATION_COUNT = 0;
 
 	/**
 	 * The meta object id for the '<em>RGB</em>' data type.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see java.lang.String
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getRGB()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSV2HSLPackageImpl#getRGB()
 	 * @generated
 	 */
 	int RGB = 1;
 
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode <em>HSV Node2 HLS Node</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode <em>HSV Node2 HSL Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>HSV Node2 HLS Node</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode
+	 * @return the meta object for class '<em>HSV Node2 HSL Node</em>'.
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode
 	 * @generated
 	 */
-	EClass getHSVNode2HLSNode();
+	EClass getHSVNode2HSLNode();
 
 	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}'.
+	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the container reference '<em>Parent</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getParent()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Parent();
+	EReference getHSVNode2HSLNode_Parent();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren <em>Children</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Children</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getChildren()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Children();
+	EReference getHSVNode2HSLNode_Children();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv <em>Hsv</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHsv <em>Hsv</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the reference '<em>Hsv</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHsv()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Hsv();
+	EReference getHSVNode2HSLNode_Hsv();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls <em>Hls</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHls <em>Hls</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the reference '<em>Hls</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHls()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Hls();
+	EReference getHSVNode2HSLNode_Hls();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb <em>Rgb</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getRgb <em>Rgb</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Rgb</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getRgb()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EAttribute getHSVNode2HLSNode_Rgb();
+	EAttribute getHSVNode2HSLNode_Rgb();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName <em>Name</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getName <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getName()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EAttribute getHSVNode2HLSNode_Name();
+	EAttribute getHSVNode2HSLNode_Name();
 
 	/**
 	 * Returns the meta object for data type '{@link java.lang.String <em>RGB</em>}'.
@@ -252,7 +252,7 @@
 	 * @return the factory that creates the instances of the model.
 	 * @generated
 	 */
-	HSV2HLSFactory getHSV2HLSFactory();
+	HSV2HSLFactory getHSV2HSLFactory();
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -269,14 +269,14 @@
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl <em>HSV Node2 HLS Node</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl <em>HSV Node2 HSL Node</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getHSVNode2HLSNode()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSV2HSLPackageImpl#getHSVNode2HSLNode()
 		 * @generated
 		 */
-		EClass HSV_NODE2_HLS_NODE = eINSTANCE.getHSVNode2HLSNode();
+		EClass HSV_NODE2_HSL_NODE = eINSTANCE.getHSVNode2HSLNode();
 
 		/**
 		 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
@@ -284,7 +284,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__PARENT = eINSTANCE.getHSVNode2HLSNode_Parent();
+		EReference HSV_NODE2_HSL_NODE__PARENT = eINSTANCE.getHSVNode2HSLNode_Parent();
 
 		/**
 		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
@@ -292,7 +292,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__CHILDREN = eINSTANCE.getHSVNode2HLSNode_Children();
+		EReference HSV_NODE2_HSL_NODE__CHILDREN = eINSTANCE.getHSVNode2HSLNode_Children();
 
 		/**
 		 * The meta object literal for the '<em><b>Hsv</b></em>' reference feature.
@@ -300,7 +300,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__HSV = eINSTANCE.getHSVNode2HLSNode_Hsv();
+		EReference HSV_NODE2_HSL_NODE__HSV = eINSTANCE.getHSVNode2HSLNode_Hsv();
 
 		/**
 		 * The meta object literal for the '<em><b>Hls</b></em>' reference feature.
@@ -308,7 +308,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__HLS = eINSTANCE.getHSVNode2HLSNode_Hls();
+		EReference HSV_NODE2_HSL_NODE__HLS = eINSTANCE.getHSVNode2HSLNode_Hls();
 
 		/**
 		 * The meta object literal for the '<em><b>Rgb</b></em>' attribute feature.
@@ -316,7 +316,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HSV_NODE2_HLS_NODE__RGB = eINSTANCE.getHSVNode2HLSNode_Rgb();
+		EAttribute HSV_NODE2_HSL_NODE__RGB = eINSTANCE.getHSVNode2HSLNode_Rgb();
 
 		/**
 		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -324,18 +324,18 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HSV_NODE2_HLS_NODE__NAME = eINSTANCE.getHSVNode2HLSNode_Name();
+		EAttribute HSV_NODE2_HSL_NODE__NAME = eINSTANCE.getHSVNode2HSLNode_Name();
 
 		/**
 		 * The meta object literal for the '<em>RGB</em>' data type.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @see java.lang.String
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getRGB()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSV2HSLPackageImpl#getRGB()
 		 * @generated
 		 */
 		EDataType RGB = eINSTANCE.getRGB();
 
 	}
 
-} //HSV2HLSPackage
+} //HSV2HSLPackage
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSVNode2HLSNode.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSVNode2HSLNode.java
similarity index 63%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSVNode2HLSNode.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSVNode2HSLNode.java
index 0569ef0..47e10f1 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSVNode2HLSNode.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/HSVNode2HSLNode.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,41 +8,41 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS;
 
 import org.eclipse.emf.common.util.EList;
 
 import org.eclipse.emf.ecore.EObject;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode;
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>HSV Node2 HLS Node</b></em>'.
+ * A representation of the model object '<em><b>HSV Node2 HSL Node</b></em>'.
  * <!-- end-user-doc -->
  *
  * <p>
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv <em>Hsv</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls <em>Hls</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb <em>Rgb</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHsv <em>Hsv</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHls <em>Hls</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getRgb <em>Rgb</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getName <em>Name</em>}</li>
  * </ul>
  *
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode()
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode()
  * @model
  * @generated
  */
-public interface HSVNode2HLSNode extends EObject {
+public interface HSVNode2HSLNode extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Parent</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren <em>Children</em>}'.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
@@ -50,28 +50,28 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Parent</em>' container reference.
-	 * @see #setParent(HSVNode2HLSNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Parent()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren
+	 * @see #setParent(HSVNode2HSLNode)
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode_Parent()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getChildren
 	 * @model opposite="children" transient="false"
 	 * @generated
 	 */
-	HSVNode2HLSNode getParent();
+	HSVNode2HSLNode getParent();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}' container reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getParent <em>Parent</em>}' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Parent</em>' container reference.
 	 * @see #getParent()
 	 * @generated
 	 */
-	void setParent(HSVNode2HLSNode value);
+	void setParent(HSVNode2HSLNode value);
 
 	/**
 	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}'.
+	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
@@ -79,12 +79,12 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Children</em>' containment reference list.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Children()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode_Children()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getParent
 	 * @model opposite="parent" containment="true"
 	 * @generated
 	 */
-	EList<HSVNode2HLSNode> getChildren();
+	EList<HSVNode2HSLNode> getChildren();
 
 	/**
 	 * Returns the value of the '<em><b>Hsv</b></em>' reference.
@@ -96,7 +96,7 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Hsv</em>' reference.
 	 * @see #setHsv(HSVNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Hsv()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode_Hsv()
 	 * @model required="true"
 	 *        annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle' upper='1'"
 	 * @generated
@@ -104,7 +104,7 @@
 	HSVNode getHsv();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv <em>Hsv</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHsv <em>Hsv</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Hsv</em>' reference.
@@ -122,23 +122,23 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Hls</em>' reference.
-	 * @see #setHls(HLSNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Hls()
+	 * @see #setHls(HSLNode)
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode_Hls()
 	 * @model required="true"
 	 *        annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle' upper='1'"
 	 * @generated
 	 */
-	HLSNode getHls();
+	HSLNode getHls();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls <em>Hls</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getHls <em>Hls</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Hls</em>' reference.
 	 * @see #getHls()
 	 * @generated
 	 */
-	void setHls(HLSNode value);
+	void setHls(HSLNode value);
 
 	/**
 	 * Returns the value of the '<em><b>Rgb</b></em>' attribute.
@@ -150,14 +150,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Rgb</em>' attribute.
 	 * @see #setRgb(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Rgb()
-	 * @model dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.RGB" required="true"
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode_Rgb()
+	 * @model dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.RGB" required="true"
 	 * @generated
 	 */
 	String getRgb();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb <em>Rgb</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getRgb <em>Rgb</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Rgb</em>' attribute.
@@ -176,14 +176,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
 	 * @see #setName(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Name()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#getHSVNode2HSLNode_Name()
 	 * @model required="true"
 	 * @generated
 	 */
 	String getName();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName <em>Name</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode#getName <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Name</em>' attribute.
@@ -192,4 +192,4 @@
 	 */
 	void setName(String value);
 
-} // HSVNode2HLSNode
+} // HSVNode2HSLNode
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSV2HSLFactoryImpl.java
similarity index 73%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSFactoryImpl.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSV2HSLFactoryImpl.java
index 0e64e25..9b47255 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSFactoryImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSV2HSLFactoryImpl.java
@@ -1,14 +1,14 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EDataType;
@@ -19,7 +19,7 @@
 
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -27,24 +27,24 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class HSV2HLSFactoryImpl extends EFactoryImpl implements HSV2HLSFactory {
+public class HSV2HSLFactoryImpl extends EFactoryImpl implements HSV2HSLFactory {
 	/**
 	 * Creates the default factory implementation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static HSV2HLSFactory init() {
+	public static HSV2HSLFactory init() {
 		try {
-			HSV2HLSFactory theHSV2HLSFactory = (HSV2HLSFactory)EPackage.Registry.INSTANCE.getEFactory(HSV2HLSPackage.eNS_URI);
-			if (theHSV2HLSFactory != null) {
-				return theHSV2HLSFactory;
+			HSV2HSLFactory theHSV2HSLFactory = (HSV2HSLFactory)EPackage.Registry.INSTANCE.getEFactory(HSV2HSLPackage.eNS_URI);
+			if (theHSV2HSLFactory != null) {
+				return theHSV2HSLFactory;
 			}
 		}
 		catch (Exception exception) {
 			EcorePlugin.INSTANCE.log(exception);
 		}
-		return new HSV2HLSFactoryImpl();
+		return new HSV2HSLFactoryImpl();
 	}
 
 	/**
@@ -53,7 +53,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSV2HLSFactoryImpl() {
+	public HSV2HSLFactoryImpl() {
 		super();
 	}
 
@@ -65,7 +65,7 @@
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE: return createHSVNode2HLSNode();
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE: return createHSVNode2HSLNode();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -79,7 +79,7 @@
 	@Override
 	public Object createFromString(EDataType eDataType, String initialValue) {
 		switch (eDataType.getClassifierID()) {
-			case HSV2HLSPackage.RGB:
+			case HSV2HSLPackage.RGB:
 				return createRGBFromString(eDataType, initialValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
@@ -94,7 +94,7 @@
 	@Override
 	public String convertToString(EDataType eDataType, Object instanceValue) {
 		switch (eDataType.getClassifierID()) {
-			case HSV2HLSPackage.RGB:
+			case HSV2HSLPackage.RGB:
 				return convertRGBToString(eDataType, instanceValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
@@ -107,9 +107,9 @@
 	 * @generated
 	 */
 	@Override
-	public HSVNode2HLSNode createHSVNode2HLSNode() {
-		HSVNode2HLSNodeImpl hsvNode2HLSNode = new HSVNode2HLSNodeImpl();
-		return hsvNode2HLSNode;
+	public HSVNode2HSLNode createHSVNode2HSLNode() {
+		HSVNode2HSLNodeImpl hsvNode2HSLNode = new HSVNode2HSLNodeImpl();
+		return hsvNode2HSLNode;
 	}
 
 	/**
@@ -136,8 +136,8 @@
 	 * @generated
 	 */
 	@Override
-	public HSV2HLSPackage getHSV2HLSPackage() {
-		return (HSV2HLSPackage)getEPackage();
+	public HSV2HSLPackage getHSV2HSLPackage() {
+		return (HSV2HSLPackage)getEPackage();
 	}
 
 	/**
@@ -147,8 +147,8 @@
 	 * @generated
 	 */
 	@Deprecated
-	public static HSV2HLSPackage getPackage() {
-		return HSV2HLSPackage.eINSTANCE;
+	public static HSV2HSLPackage getPackage() {
+		return HSV2HSLPackage.eINSTANCE;
 	}
 
-} //HSV2HLSFactoryImpl
+} //HSV2HSLFactoryImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSV2HSLPackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSV2HSLPackageImpl.java
new file mode 100644
index 0000000..ba28a25
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSV2HSLPackageImpl.java
@@ -0,0 +1,322 @@
+/**
+ * Copyright (c) 2015, 2017 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.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
+
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl;
+
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLFactory;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode;
+
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage;
+
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HSV2HSLPackageImpl extends EPackageImpl implements HSV2HSLPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass hsvNode2HSLNodeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType rgbEDataType = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private HSV2HSLPackageImpl() {
+		super(eNS_URI, HSV2HSLFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link HSV2HSLPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static HSV2HSLPackage init() {
+		if (isInited) return (HSV2HSLPackage)EPackage.Registry.INSTANCE.getEPackage(HSV2HSLPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		HSV2HSLPackageImpl theHSV2HSLPackage = (HSV2HSLPackageImpl)(ePackage instanceof HSV2HSLPackageImpl ? ePackage : new HSV2HSLPackageImpl());
+
+		isInited = true;
+
+		// Obtain or create and register interdependencies
+		HSVTreePackageImpl theHSVTreePackage = (HSVTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) instanceof HSVTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) : HSVTreePackage.eINSTANCE);
+		HSLTreePackageImpl theHSLTreePackage = (HSLTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI) instanceof HSLTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI) : HSLTreePackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theHSV2HSLPackage.createPackageContents();
+		theHSVTreePackage.createPackageContents();
+		theHSLTreePackage.createPackageContents();
+
+		// Initialize created meta-data
+		theHSV2HSLPackage.initializePackageContents();
+		theHSVTreePackage.initializePackageContents();
+		theHSLTreePackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theHSV2HSLPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(HSV2HSLPackage.eNS_URI, theHSV2HSLPackage);
+		return theHSV2HSLPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getHSVNode2HSLNode() {
+		return hsvNode2HSLNodeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Parent() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Children() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Hsv() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Hls() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHSVNode2HSLNode_Rgb() {
+		return (EAttribute)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHSVNode2HSLNode_Name() {
+		return (EAttribute)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EDataType getRGB() {
+		return rgbEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public HSV2HSLFactory getHSV2HSLFactory() {
+		return (HSV2HSLFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		hsvNode2HSLNodeEClass = createEClass(HSV_NODE2_HSL_NODE);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__PARENT);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__CHILDREN);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__HSV);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__HLS);
+		createEAttribute(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__RGB);
+		createEAttribute(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__NAME);
+
+		// Create data types
+		rgbEDataType = createEDataType(RGB);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		HSVTreePackage theHSVTreePackage = (HSVTreePackage)EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI);
+		HSLTreePackage theHSLTreePackage = (HSLTreePackage)EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(hsvNode2HSLNodeEClass, HSVNode2HSLNode.class, "HSVNode2HSLNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHSVNode2HSLNode_Parent(), this.getHSVNode2HSLNode(), this.getHSVNode2HSLNode_Children(), "parent", null, 0, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSVNode2HSLNode_Children(), this.getHSVNode2HSLNode(), this.getHSVNode2HSLNode_Parent(), "children", null, 0, -1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSVNode2HSLNode_Hsv(), theHSVTreePackage.getHSVNode(), null, "hsv", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSVNode2HSLNode_Hls(), theHSLTreePackage.getHSLNode(), null, "hls", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHSVNode2HSLNode_Rgb(), this.getRGB(), "rgb", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHSVNode2HSLNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Initialize data types
+		initEDataType(rgbEDataType, String.class, "RGB", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName
+		createEmofAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createEmofAnnotations() {
+		String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName";
+		addAnnotation
+		(getHSVNode2HSLNode_Hsv(),
+			source,
+			new String[] {
+				"body", "middle",
+				"upper", "1"
+		});
+		addAnnotation
+		(getHSVNode2HSLNode_Hls(),
+			source,
+			new String[] {
+				"body", "middle",
+				"upper", "1"
+		});
+	}
+
+} //HSV2HSLPackageImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSVNode2HLSNodeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSVNode2HSLNodeImpl.java
similarity index 64%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSVNode2HLSNodeImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSVNode2HSLNodeImpl.java
index 26654db..18cb452 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSVNode2HLSNodeImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/impl/HSVNode2HSLNodeImpl.java
@@ -1,14 +1,14 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl;
 
 import java.util.Collection;
 
@@ -27,32 +27,32 @@
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.InternalEList;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>HSV Node2 HLS Node</b></em>'.
+ * An implementation of the model object '<em><b>HSV Node2 HSL Node</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getHsv <em>Hsv</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getHls <em>Hls</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getRgb <em>Rgb</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl#getHsv <em>Hsv</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl#getHls <em>Hls</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl#getRgb <em>Rgb</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.impl.HSVNode2HSLNodeImpl#getName <em>Name</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class HSVNode2HLSNodeImpl extends MinimalEObjectImpl.Container implements HSVNode2HLSNode {
+public class HSVNode2HSLNodeImpl extends MinimalEObjectImpl.Container implements HSVNode2HSLNode {
 	/**
 	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -61,7 +61,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<HSVNode2HLSNode> children;
+	protected EList<HSVNode2HSLNode> children;
 
 	/**
 	 * The cached value of the '{@link #getHsv() <em>Hsv</em>}' reference.
@@ -81,7 +81,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected HLSNode hls;
+	protected HSLNode hls;
 
 	/**
 	 * The default value of the '{@link #getRgb() <em>Rgb</em>}' attribute.
@@ -128,7 +128,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected HSVNode2HLSNodeImpl() {
+	protected HSVNode2HSLNodeImpl() {
 		super();
 	}
 
@@ -139,7 +139,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return HSV2HLSPackage.Literals.HSV_NODE2_HLS_NODE;
+		return HSV2HSLPackage.Literals.HSV_NODE2_HSL_NODE;
 	}
 
 	/**
@@ -148,9 +148,9 @@
 	 * @generated
 	 */
 	@Override
-	public HSVNode2HLSNode getParent() {
-		if (eContainerFeatureID() != HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT) return null;
-		return (HSVNode2HLSNode)eInternalContainer();
+	public HSVNode2HSLNode getParent() {
+		if (eContainerFeatureID() != HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT) return null;
+		return (HSVNode2HSLNode)eInternalContainer();
 	}
 
 	/**
@@ -158,8 +158,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetParent(HSVNode2HLSNode newParent, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newParent, HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT, msgs);
+	public NotificationChain basicSetParent(HSVNode2HSLNode newParent, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newParent, HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT, msgs);
 		return msgs;
 	}
 
@@ -169,20 +169,20 @@
 	 * @generated
 	 */
 	@Override
-	public void setParent(HSVNode2HLSNode newParent) {
-		if (newParent != eInternalContainer() || (eContainerFeatureID() != HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT && newParent != null)) {
+	public void setParent(HSVNode2HSLNode newParent) {
+		if (newParent != eInternalContainer() || (eContainerFeatureID() != HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT && newParent != null)) {
 			if (EcoreUtil.isAncestor(this, newParent))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newParent != null)
-				msgs = ((InternalEObject)newParent).eInverseAdd(this, HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN, HSVNode2HLSNode.class, msgs);
+				msgs = ((InternalEObject)newParent).eInverseAdd(this, HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN, HSVNode2HSLNode.class, msgs);
 			msgs = basicSetParent(newParent, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT, newParent, newParent));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT, newParent, newParent));
 	}
 
 	/**
@@ -191,9 +191,9 @@
 	 * @generated
 	 */
 	@Override
-	public EList<HSVNode2HLSNode> getChildren() {
+	public EList<HSVNode2HSLNode> getChildren() {
 		if (children == null) {
-			children = new EObjectContainmentWithInverseEList<HSVNode2HLSNode>(HSVNode2HLSNode.class, this, HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN, HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT);
+			children = new EObjectContainmentWithInverseEList<HSVNode2HSLNode>(HSVNode2HSLNode.class, this, HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN, HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT);
 		}
 		return children;
 	}
@@ -210,7 +210,7 @@
 			hsv = (HSVNode)eResolveProxy(oldHsv);
 			if (hsv != oldHsv) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV, oldHsv, hsv));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV, oldHsv, hsv));
 			}
 		}
 		return hsv;
@@ -235,7 +235,7 @@
 		HSVNode oldHsv = hsv;
 		hsv = newHsv;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV, oldHsv, hsv));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV, oldHsv, hsv));
 	}
 
 	/**
@@ -244,13 +244,13 @@
 	 * @generated
 	 */
 	@Override
-	public HLSNode getHls() {
+	public HSLNode getHls() {
 		if (hls != null && hls.eIsProxy()) {
 			InternalEObject oldHls = (InternalEObject)hls;
-			hls = (HLSNode)eResolveProxy(oldHls);
+			hls = (HSLNode)eResolveProxy(oldHls);
 			if (hls != oldHls) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS, oldHls, hls));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HLS, oldHls, hls));
 			}
 		}
 		return hls;
@@ -261,7 +261,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HLSNode basicGetHls() {
+	public HSLNode basicGetHls() {
 		return hls;
 	}
 
@@ -271,11 +271,11 @@
 	 * @generated
 	 */
 	@Override
-	public void setHls(HLSNode newHls) {
-		HLSNode oldHls = hls;
+	public void setHls(HSLNode newHls) {
+		HSLNode oldHls = hls;
 		hls = newHls;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS, oldHls, hls));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HLS, oldHls, hls));
 	}
 
 	/**
@@ -298,7 +298,7 @@
 		String oldRgb = rgb;
 		rgb = newRgb;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB, oldRgb, rgb));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB, oldRgb, rgb));
 	}
 
 	/**
@@ -321,7 +321,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME, oldName, name));
 	}
 
 	/**
@@ -333,11 +333,11 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetParent((HSVNode2HLSNode)otherEnd, msgs);
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+				return basicSetParent((HSVNode2HSLNode)otherEnd, msgs);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
@@ -351,9 +351,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				return basicSetParent(null, msgs);
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -367,8 +367,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
-				return eInternalContainer().eInverseRemove(this, HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN, HSVNode2HLSNode.class, msgs);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
+				return eInternalContainer().eInverseRemove(this, HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN, HSVNode2HSLNode.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -381,19 +381,19 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				return getParent();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return getChildren();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				if (resolve) return getHsv();
 				return basicGetHsv();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HLS:
 				if (resolve) return getHls();
 				return basicGetHls();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				return getRgb();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				return getName();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -408,23 +408,23 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
-				setParent((HSVNode2HLSNode)newValue);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
+				setParent((HSVNode2HSLNode)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				getChildren().clear();
-				getChildren().addAll((Collection<? extends HSVNode2HLSNode>)newValue);
+				getChildren().addAll((Collection<? extends HSVNode2HSLNode>)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				setHsv((HSVNode)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
-				setHls((HLSNode)newValue);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HLS:
+				setHls((HSLNode)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				setRgb((String)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				setName((String)newValue);
 				return;
 		}
@@ -439,22 +439,22 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
-				setParent((HSVNode2HLSNode)null);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
+				setParent((HSVNode2HSLNode)null);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				getChildren().clear();
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				setHsv((HSVNode)null);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
-				setHls((HLSNode)null);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HLS:
+				setHls((HSLNode)null);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				setRgb(RGB_EDEFAULT);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				setName(NAME_EDEFAULT);
 				return;
 		}
@@ -469,17 +469,17 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				return getParent() != null;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return children != null && !children.isEmpty();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				return hsv != null;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HLS:
 				return hls != null;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				return RGB_EDEFAULT == null ? rgb != null : !RGB_EDEFAULT.equals(rgb);
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 		}
 		return super.eIsSet(featureID);
@@ -504,4 +504,4 @@
 	}
 
 
-} //HSVNode2HLSNodeImpl
+} //HSVNode2HSLNodeImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/util/HSV2HSLAdapterFactory.java
similarity index 75%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/util/HSV2HSLAdapterFactory.java
index 8dbc0d3..3e9cc46 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/util/HSV2HSLAdapterFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.util;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
@@ -19,24 +19,24 @@
 
 import org.eclipse.jdt.annotation.Nullable;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.*;
 
 /**
  * <!-- begin-user-doc -->
  * The <b>Adapter Factory</b> for the model.
  * It provides an adapter <code>createXXX</code> method for each class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage
  * @generated
  */
-public class HSVTreeAdapterFactory extends AdapterFactoryImpl {
+public class HSV2HSLAdapterFactory extends AdapterFactoryImpl {
 	/**
 	 * The cached model package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static HSVTreePackage modelPackage;
+	protected static HSV2HSLPackage modelPackage;
 
 	/**
 	 * Creates an instance of the adapter factory.
@@ -44,9 +44,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSVTreeAdapterFactory() {
+	public HSV2HSLAdapterFactory() {
 		if (modelPackage == null) {
-			modelPackage = HSVTreePackage.eINSTANCE;
+			modelPackage = HSV2HSLPackage.eINSTANCE;
 		}
 	}
 
@@ -75,11 +75,11 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected HSVTreeSwitch<@Nullable Adapter> modelSwitch =
-		new HSVTreeSwitch<@Nullable Adapter>() {
+	protected HSV2HSLSwitch<@Nullable Adapter> modelSwitch =
+		new HSV2HSLSwitch<@Nullable Adapter>() {
 			@Override
-			public Adapter caseHSVNode(HSVNode object) {
-				return createHSVNodeAdapter();
+			public Adapter caseHSVNode2HSLNode(HSVNode2HSLNode object) {
+				return createHSVNode2HSLNodeAdapter();
 			}
 			@Override
 			public Adapter defaultCase(EObject object) {
@@ -102,16 +102,16 @@
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode <em>HSV Node</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode <em>HSV Node2 HSL Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSVNode2HSLNode
 	 * @generated
 	 */
-	public Adapter createHSVNodeAdapter() {
+	public Adapter createHSVNode2HSLNodeAdapter() {
 		return null;
 	}
 
@@ -127,4 +127,4 @@
 		return null;
 	}
 
-} //HSVTreeAdapterFactory
+} //HSV2HSLAdapterFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/util/HSV2HLSSwitch.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/util/HSV2HSLSwitch.java
similarity index 80%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/util/HSV2HLSSwitch.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/util/HSV2HSLSwitch.java
index 8e6932c..88b4281 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/util/HSV2HLSSwitch.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HLS/util/HSV2HSLSwitch.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.util;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
@@ -17,7 +17,7 @@
 
 import org.eclipse.jdt.annotation.Nullable;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -29,17 +29,17 @@
  * until a non-null result is returned,
  * which is the result of the switch.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HLS.HSV2HSLPackage
  * @generated
  */
-public class HSV2HLSSwitch<@Nullable T> extends Switch<T> {
+public class HSV2HSLSwitch<@Nullable T> extends Switch<T> {
 	/**
 	 * The cached model package
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static HSV2HLSPackage modelPackage;
+	protected static HSV2HSLPackage modelPackage;
 
 	/**
 	 * Creates an instance of the switch.
@@ -47,9 +47,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSV2HLSSwitch() {
+	public HSV2HSLSwitch() {
 		if (modelPackage == null) {
-			modelPackage = HSV2HLSPackage.eINSTANCE;
+			modelPackage = HSV2HSLPackage.eINSTANCE;
 		}
 	}
 
@@ -76,9 +76,9 @@
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE: {
-				HSVNode2HLSNode hsvNode2HLSNode = (HSVNode2HLSNode)theEObject;
-				T result = caseHSVNode2HLSNode(hsvNode2HLSNode);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE: {
+				HSVNode2HSLNode hsvNode2HSLNode = (HSVNode2HSLNode)theEObject;
+				T result = caseHSVNode2HSLNode(hsvNode2HSLNode);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -87,17 +87,17 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>HSV Node2 HLS Node</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>HSV Node2 HSL Node</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>HSV Node2 HLS Node</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>HSV Node2 HSL Node</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseHSVNode2HLSNode(HSVNode2HLSNode object) {
+	public T caseHSVNode2HSLNode(HSVNode2HSLNode object) {
 		return null;
 	}
 
@@ -117,4 +117,4 @@
 		return null;
 	}
 
-} //HSV2HLSSwitch
+} //HSV2HSLSwitch
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSV2HSLFactory.java
similarity index 66%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSFactory.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSV2HSLFactory.java
index 7373aa1..548a43b 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSV2HSLFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL;
 
 import org.eclipse.emf.ecore.EFactory;
 
@@ -17,26 +17,26 @@
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage
  * @generated
  */
-public interface HSV2HLSFactory extends EFactory {
+public interface HSV2HSLFactory extends EFactory {
 	/**
 	 * The singleton instance of the factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HSV2HLSFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSFactoryImpl.init();
+	HSV2HSLFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLFactoryImpl.init();
 
 	/**
-	 * Returns a new object of class '<em>HSV Node2 HLS Node</em>'.
+	 * Returns a new object of class '<em>HSV Node2 HSL Node</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>HSV Node2 HLS Node</em>'.
+	 * @return a new object of class '<em>HSV Node2 HSL Node</em>'.
 	 * @generated
 	 */
-	HSVNode2HLSNode createHSVNode2HLSNode();
+	HSVNode2HSLNode createHSVNode2HSLNode();
 
 	/**
 	 * Returns the package supported by this factory.
@@ -45,6 +45,6 @@
 	 * @return the package supported by this factory.
 	 * @generated
 	 */
-	HSV2HLSPackage getHSV2HLSPackage();
+	HSV2HSLPackage getHSV2HSLPackage();
 
 } //HSV2HLSFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSPackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSV2HSLPackage.java
similarity index 62%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSPackage.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSV2HSLPackage.java
index b0a94e6..4bd9c60 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSV2HLSPackage.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSV2HSLPackage.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -28,18 +28,18 @@
  *   <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSFactory
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLFactory
  * @model kind="package"
  * @generated
  */
-public interface HSV2HLSPackage extends EPackage {
+public interface HSV2HSLPackage extends EPackage {
 	/**
 	 * The package name.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNAME = "HSV2HLS";
+	String eNAME = "HSV2HSL";
 
 	/**
 	 * The package namespace URI.
@@ -47,7 +47,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HSVtoHLS";
+	String eNS_URI = "http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HSL/1.0/HSVtoHSL";
 
 	/**
 	 * The package namespace name.
@@ -55,7 +55,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNS_PREFIX = "hsv2hls";
+	String eNS_PREFIX = "hsv2hsl";
 
 	/**
 	 * The singleton instance of the package.
@@ -63,17 +63,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HSV2HLSPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl.init();
+	HSV2HSLPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl <em>HSV Node2 HLS Node</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl <em>HSV Node2 HSL Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl#getHSVNode2HSLNode()
 	 * @generated
 	 */
-	int HSV_NODE2_HLS_NODE = 0;
+	int HSV_NODE2_HSL_NODE = 0;
 
 	/**
 	 * The feature id for the '<em><b>Parent</b></em>' container reference.
@@ -82,7 +82,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__PARENT = 0;
+	int HSV_NODE2_HSL_NODE__PARENT = 0;
 
 	/**
 	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
@@ -91,7 +91,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__CHILDREN = 1;
+	int HSV_NODE2_HSL_NODE__CHILDREN = 1;
 
 	/**
 	 * The feature id for the '<em><b>Hsv</b></em>' reference.
@@ -100,16 +100,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__HSV = 2;
+	int HSV_NODE2_HSL_NODE__HSV = 2;
 
 	/**
-	 * The feature id for the '<em><b>Hls</b></em>' reference.
+	 * The feature id for the '<em><b>Hsl</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__HLS = 3;
+	int HSV_NODE2_HSL_NODE__HSL = 3;
 
 	/**
 	 * The feature id for the '<em><b>Rgb</b></em>' attribute.
@@ -118,7 +118,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__RGB = 4;
+	int HSV_NODE2_HSL_NODE__RGB = 4;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -127,112 +127,112 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE__NAME = 5;
+	int HSV_NODE2_HSL_NODE__NAME = 5;
 
 	/**
-	 * The number of structural features of the '<em>HSV Node2 HLS Node</em>' class.
+	 * The number of structural features of the '<em>HSV Node2 HSL Node</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE_FEATURE_COUNT = 6;
+	int HSV_NODE2_HSL_NODE_FEATURE_COUNT = 6;
 
 	/**
-	 * The number of operations of the '<em>HSV Node2 HLS Node</em>' class.
+	 * The number of operations of the '<em>HSV Node2 HSL Node</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HSV_NODE2_HLS_NODE_OPERATION_COUNT = 0;
+	int HSV_NODE2_HSL_NODE_OPERATION_COUNT = 0;
 
 	/**
 	 * The meta object id for the '<em>RGB</em>' data type.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see java.lang.String
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getRGB()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl#getRGB()
 	 * @generated
 	 */
 	int RGB = 1;
 
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode <em>HSV Node2 HLS Node</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode <em>HSV Node2 HSL Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>HSV Node2 HLS Node</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode
+	 * @return the meta object for class '<em>HSV Node2 HSL Node</em>'.
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode
 	 * @generated
 	 */
-	EClass getHSVNode2HLSNode();
+	EClass getHSVNode2HSLNode();
 
 	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}'.
+	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the container reference '<em>Parent</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getParent()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Parent();
+	EReference getHSVNode2HSLNode_Parent();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren <em>Children</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Children</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getChildren()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Children();
+	EReference getHSVNode2HSLNode_Children();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv <em>Hsv</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsv <em>Hsv</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the reference '<em>Hsv</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsv()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Hsv();
+	EReference getHSVNode2HSLNode_Hsv();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls <em>Hls</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsl <em>Hsl</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Hls</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls()
-	 * @see #getHSVNode2HLSNode()
+	 * @return the meta object for the reference '<em>Hsl</em>'.
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsl()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EReference getHSVNode2HLSNode_Hls();
+	EReference getHSVNode2HSLNode_Hsl();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb <em>Rgb</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getRgb <em>Rgb</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Rgb</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getRgb()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EAttribute getHSVNode2HLSNode_Rgb();
+	EAttribute getHSVNode2HSLNode_Rgb();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName <em>Name</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getName <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName()
-	 * @see #getHSVNode2HLSNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getName()
+	 * @see #getHSVNode2HSLNode()
 	 * @generated
 	 */
-	EAttribute getHSVNode2HLSNode_Name();
+	EAttribute getHSVNode2HSLNode_Name();
 
 	/**
 	 * Returns the meta object for data type '{@link java.lang.String <em>RGB</em>}'.
@@ -252,7 +252,7 @@
 	 * @return the factory that creates the instances of the model.
 	 * @generated
 	 */
-	HSV2HLSFactory getHSV2HLSFactory();
+	HSV2HSLFactory getHSV2HSLFactory();
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -269,14 +269,14 @@
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl <em>HSV Node2 HLS Node</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl <em>HSV Node2 HSL Node</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getHSVNode2HLSNode()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl#getHSVNode2HSLNode()
 		 * @generated
 		 */
-		EClass HSV_NODE2_HLS_NODE = eINSTANCE.getHSVNode2HLSNode();
+		EClass HSV_NODE2_HSL_NODE = eINSTANCE.getHSVNode2HSLNode();
 
 		/**
 		 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
@@ -284,7 +284,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__PARENT = eINSTANCE.getHSVNode2HLSNode_Parent();
+		EReference HSV_NODE2_HSL_NODE__PARENT = eINSTANCE.getHSVNode2HSLNode_Parent();
 
 		/**
 		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
@@ -292,7 +292,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__CHILDREN = eINSTANCE.getHSVNode2HLSNode_Children();
+		EReference HSV_NODE2_HSL_NODE__CHILDREN = eINSTANCE.getHSVNode2HSLNode_Children();
 
 		/**
 		 * The meta object literal for the '<em><b>Hsv</b></em>' reference feature.
@@ -300,15 +300,15 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__HSV = eINSTANCE.getHSVNode2HLSNode_Hsv();
+		EReference HSV_NODE2_HSL_NODE__HSV = eINSTANCE.getHSVNode2HSLNode_Hsv();
 
 		/**
-		 * The meta object literal for the '<em><b>Hls</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Hsl</b></em>' reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference HSV_NODE2_HLS_NODE__HLS = eINSTANCE.getHSVNode2HLSNode_Hls();
+		EReference HSV_NODE2_HSL_NODE__HSL = eINSTANCE.getHSVNode2HSLNode_Hsl();
 
 		/**
 		 * The meta object literal for the '<em><b>Rgb</b></em>' attribute feature.
@@ -316,7 +316,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HSV_NODE2_HLS_NODE__RGB = eINSTANCE.getHSVNode2HLSNode_Rgb();
+		EAttribute HSV_NODE2_HSL_NODE__RGB = eINSTANCE.getHSVNode2HSLNode_Rgb();
 
 		/**
 		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -324,14 +324,14 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HSV_NODE2_HLS_NODE__NAME = eINSTANCE.getHSVNode2HLSNode_Name();
+		EAttribute HSV_NODE2_HSL_NODE__NAME = eINSTANCE.getHSVNode2HSLNode_Name();
 
 		/**
 		 * The meta object literal for the '<em>RGB</em>' data type.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @see java.lang.String
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl#getRGB()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl#getRGB()
 		 * @generated
 		 */
 		EDataType RGB = eINSTANCE.getRGB();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSVNode2HLSNode.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSVNode2HSLNode.java
similarity index 61%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSVNode2HLSNode.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSVNode2HSLNode.java
index 0569ef0..1d571d3 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/HSVNode2HLSNode.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/HSVNode2HSLNode.java
@@ -8,15 +8,13 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL;
 
 import org.eclipse.emf.common.util.EList;
 
 import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode;
 
 /**
  * <!-- begin-user-doc -->
@@ -27,22 +25,22 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv <em>Hsv</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls <em>Hls</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb <em>Rgb</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsv <em>Hsv</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsl <em>Hsl</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getRgb <em>Rgb</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getName <em>Name</em>}</li>
  * </ul>
  *
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode()
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode()
  * @model
  * @generated
  */
-public interface HSVNode2HLSNode extends EObject {
+public interface HSVNode2HSLNode extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Parent</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren <em>Children</em>}'.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
@@ -50,28 +48,28 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Parent</em>' container reference.
-	 * @see #setParent(HSVNode2HLSNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Parent()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getChildren
+	 * @see #setParent(HSVNode2HSLNode)
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode_Parent()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getChildren
 	 * @model opposite="children" transient="false"
 	 * @generated
 	 */
-	HSVNode2HLSNode getParent();
+	HSVNode2HSLNode getParent();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}' container reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getParent <em>Parent</em>}' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Parent</em>' container reference.
 	 * @see #getParent()
 	 * @generated
 	 */
-	void setParent(HSVNode2HLSNode value);
+	void setParent(HSVNode2HSLNode value);
 
 	/**
 	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent <em>Parent</em>}'.
+	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
@@ -79,12 +77,12 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Children</em>' containment reference list.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Children()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getParent
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode_Children()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getParent
 	 * @model opposite="parent" containment="true"
 	 * @generated
 	 */
-	EList<HSVNode2HLSNode> getChildren();
+	EList<HSVNode2HSLNode> getChildren();
 
 	/**
 	 * Returns the value of the '<em><b>Hsv</b></em>' reference.
@@ -96,7 +94,7 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Hsv</em>' reference.
 	 * @see #setHsv(HSVNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Hsv()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode_Hsv()
 	 * @model required="true"
 	 *        annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle' upper='1'"
 	 * @generated
@@ -104,7 +102,7 @@
 	HSVNode getHsv();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHsv <em>Hsv</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsv <em>Hsv</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Hsv</em>' reference.
@@ -114,31 +112,31 @@
 	void setHsv(HSVNode value);
 
 	/**
-	 * Returns the value of the '<em><b>Hls</b></em>' reference.
+	 * Returns the value of the '<em><b>Hsl</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Hls</em>' reference isn't clear,
+	 * If the meaning of the '<em>Hsl</em>' reference isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Hls</em>' reference.
-	 * @see #setHls(HLSNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Hls()
+	 * @return the value of the '<em>Hsl</em>' reference.
+	 * @see #setHsl(HSLNode)
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode_Hsl()
 	 * @model required="true"
 	 *        annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='middle' upper='1'"
 	 * @generated
 	 */
-	HLSNode getHls();
+	HSLNode getHsl();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getHls <em>Hls</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getHsl <em>Hsl</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Hls</em>' reference.
-	 * @see #getHls()
+	 * @param value the new value of the '<em>Hsl</em>' reference.
+	 * @see #getHsl()
 	 * @generated
 	 */
-	void setHls(HLSNode value);
+	void setHsl(HSLNode value);
 
 	/**
 	 * Returns the value of the '<em><b>Rgb</b></em>' attribute.
@@ -150,14 +148,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Rgb</em>' attribute.
 	 * @see #setRgb(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Rgb()
-	 * @model dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.RGB" required="true"
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode_Rgb()
+	 * @model dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.RGB" required="true"
 	 * @generated
 	 */
 	String getRgb();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getRgb <em>Rgb</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getRgb <em>Rgb</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Rgb</em>' attribute.
@@ -176,14 +174,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
 	 * @see #setName(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage#getHSVNode2HLSNode_Name()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#getHSVNode2HSLNode_Name()
 	 * @model required="true"
 	 * @generated
 	 */
 	String getName();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode#getName <em>Name</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode#getName <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Name</em>' attribute.
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSV2HSLFactoryImpl.java
similarity index 75%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSFactoryImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSV2HSLFactoryImpl.java
index 0e64e25..22f8aae 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSV2HLSFactoryImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSV2HSLFactoryImpl.java
@@ -4,11 +4,11 @@
  * 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EDataType;
@@ -18,8 +18,7 @@
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
 
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -27,24 +26,24 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class HSV2HLSFactoryImpl extends EFactoryImpl implements HSV2HLSFactory {
+public class HSV2HSLFactoryImpl extends EFactoryImpl implements HSV2HSLFactory {
 	/**
 	 * Creates the default factory implementation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static HSV2HLSFactory init() {
+	public static HSV2HSLFactory init() {
 		try {
-			HSV2HLSFactory theHSV2HLSFactory = (HSV2HLSFactory)EPackage.Registry.INSTANCE.getEFactory(HSV2HLSPackage.eNS_URI);
-			if (theHSV2HLSFactory != null) {
-				return theHSV2HLSFactory;
+			HSV2HSLFactory theHSV2HSLFactory = (HSV2HSLFactory)EPackage.Registry.INSTANCE.getEFactory(HSV2HSLPackage.eNS_URI);
+			if (theHSV2HSLFactory != null) {
+				return theHSV2HSLFactory;
 			}
 		}
 		catch (Exception exception) {
 			EcorePlugin.INSTANCE.log(exception);
 		}
-		return new HSV2HLSFactoryImpl();
+		return new HSV2HSLFactoryImpl();
 	}
 
 	/**
@@ -53,7 +52,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSV2HLSFactoryImpl() {
+	public HSV2HSLFactoryImpl() {
 		super();
 	}
 
@@ -65,7 +64,7 @@
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE: return createHSVNode2HLSNode();
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE: return createHSVNode2HSLNode();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -79,7 +78,7 @@
 	@Override
 	public Object createFromString(EDataType eDataType, String initialValue) {
 		switch (eDataType.getClassifierID()) {
-			case HSV2HLSPackage.RGB:
+			case HSV2HSLPackage.RGB:
 				return createRGBFromString(eDataType, initialValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
@@ -94,7 +93,7 @@
 	@Override
 	public String convertToString(EDataType eDataType, Object instanceValue) {
 		switch (eDataType.getClassifierID()) {
-			case HSV2HLSPackage.RGB:
+			case HSV2HSLPackage.RGB:
 				return convertRGBToString(eDataType, instanceValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
@@ -107,9 +106,9 @@
 	 * @generated
 	 */
 	@Override
-	public HSVNode2HLSNode createHSVNode2HLSNode() {
-		HSVNode2HLSNodeImpl hsvNode2HLSNode = new HSVNode2HLSNodeImpl();
-		return hsvNode2HLSNode;
+	public HSVNode2HSLNode createHSVNode2HSLNode() {
+		HSVNode2HSLNodeImpl hsvNode2HSLNode = new HSVNode2HSLNodeImpl();
+		return hsvNode2HSLNode;
 	}
 
 	/**
@@ -136,8 +135,8 @@
 	 * @generated
 	 */
 	@Override
-	public HSV2HLSPackage getHSV2HLSPackage() {
-		return (HSV2HLSPackage)getEPackage();
+	public HSV2HSLPackage getHSV2HSLPackage() {
+		return (HSV2HSLPackage)getEPackage();
 	}
 
 	/**
@@ -147,8 +146,8 @@
 	 * @generated
 	 */
 	@Deprecated
-	public static HSV2HLSPackage getPackage() {
-		return HSV2HLSPackage.eINSTANCE;
+	public static HSV2HSLPackage getPackage() {
+		return HSV2HSLPackage.eINSTANCE;
 	}
 
 } //HSV2HLSFactoryImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSV2HSLPackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSV2HSLPackageImpl.java
new file mode 100644
index 0000000..a1af550
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSV2HSLPackageImpl.java
@@ -0,0 +1,317 @@
+/**
+ * Copyright (c) 2015, 2016 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.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLFactory;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HSV2HSLPackageImpl extends EPackageImpl implements HSV2HSLPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass hsvNode2HSLNodeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType rgbEDataType = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private HSV2HSLPackageImpl() {
+		super(eNS_URI, HSV2HSLFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link HSV2HSLPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static HSV2HSLPackage init() {
+		if (isInited) return (HSV2HSLPackage)EPackage.Registry.INSTANCE.getEPackage(HSV2HSLPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		HSV2HSLPackageImpl theHSV2HSLPackage = (HSV2HSLPackageImpl)(ePackage instanceof HSV2HSLPackageImpl ? ePackage : new HSV2HSLPackageImpl());
+
+		isInited = true;
+
+		// Obtain or create and register interdependencies
+		HSVTreePackageImpl theHSVTreePackage = (HSVTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) instanceof HSVTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI) : HSVTreePackage.eINSTANCE);
+		HSLTreePackageImpl theHSLTreePackage = (HSLTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI) instanceof HSLTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI) : HSLTreePackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theHSV2HSLPackage.createPackageContents();
+		theHSVTreePackage.createPackageContents();
+		theHSLTreePackage.createPackageContents();
+
+		// Initialize created meta-data
+		theHSV2HSLPackage.initializePackageContents();
+		theHSVTreePackage.initializePackageContents();
+		theHSLTreePackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theHSV2HSLPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(HSV2HSLPackage.eNS_URI, theHSV2HSLPackage);
+		return theHSV2HSLPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getHSVNode2HSLNode() {
+		return hsvNode2HSLNodeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Parent() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Children() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Hsv() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHSVNode2HSLNode_Hsl() {
+		return (EReference)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHSVNode2HSLNode_Rgb() {
+		return (EAttribute)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHSVNode2HSLNode_Name() {
+		return (EAttribute)hsvNode2HSLNodeEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EDataType getRGB() {
+		return rgbEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public HSV2HSLFactory getHSV2HSLFactory() {
+		return (HSV2HSLFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		hsvNode2HSLNodeEClass = createEClass(HSV_NODE2_HSL_NODE);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__PARENT);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__CHILDREN);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__HSV);
+		createEReference(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__HSL);
+		createEAttribute(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__RGB);
+		createEAttribute(hsvNode2HSLNodeEClass, HSV_NODE2_HSL_NODE__NAME);
+
+		// Create data types
+		rgbEDataType = createEDataType(RGB);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		HSVTreePackage theHSVTreePackage = (HSVTreePackage)EPackage.Registry.INSTANCE.getEPackage(HSVTreePackage.eNS_URI);
+		HSLTreePackage theHSLTreePackage = (HSLTreePackage)EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(hsvNode2HSLNodeEClass, HSVNode2HSLNode.class, "HSVNode2HSLNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHSVNode2HSLNode_Parent(), this.getHSVNode2HSLNode(), this.getHSVNode2HSLNode_Children(), "parent", null, 0, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSVNode2HSLNode_Children(), this.getHSVNode2HSLNode(), this.getHSVNode2HSLNode_Parent(), "children", null, 0, -1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSVNode2HSLNode_Hsv(), theHSVTreePackage.getHSVNode(), null, "hsv", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHSVNode2HSLNode_Hsl(), theHSLTreePackage.getHSLNode(), null, "hsl", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHSVNode2HSLNode_Rgb(), this.getRGB(), "rgb", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHSVNode2HSLNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, HSVNode2HSLNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Initialize data types
+		initEDataType(rgbEDataType, String.class, "RGB", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName
+		createEmofAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createEmofAnnotations() {
+		String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName";
+		addAnnotation
+		(getHSVNode2HSLNode_Hsv(),
+			source,
+			new String[] {
+				"body", "middle",
+				"upper", "1"
+		});
+		addAnnotation
+		(getHSVNode2HSLNode_Hsl(),
+			source,
+			new String[] {
+				"body", "middle",
+				"upper", "1"
+		});
+	}
+
+} //HSV2HLSPackageImpl
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSVNode2HLSNodeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSVNode2HSLNodeImpl.java
similarity index 63%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSVNode2HLSNodeImpl.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSVNode2HSLNodeImpl.java
index 26654db..98c54b5 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS/impl/HSVNode2HLSNodeImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/impl/HSVNode2HSLNodeImpl.java
@@ -4,11 +4,11 @@
  * 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.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl;
 
 import java.util.Collection;
 
@@ -26,13 +26,10 @@
 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSNode;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSVNode2HLSNode;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode;
 
 /**
  * <!-- begin-user-doc -->
@@ -42,17 +39,17 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getHsv <em>Hsv</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getHls <em>Hls</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getRgb <em>Rgb</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSVNode2HLSNodeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl#getHsv <em>Hsv</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl#getHsl <em>Hsl</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl#getRgb <em>Rgb</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSVNode2HSLNodeImpl#getName <em>Name</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class HSVNode2HLSNodeImpl extends MinimalEObjectImpl.Container implements HSVNode2HLSNode {
+public class HSVNode2HSLNodeImpl extends MinimalEObjectImpl.Container implements HSVNode2HSLNode {
 	/**
 	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -61,7 +58,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<HSVNode2HLSNode> children;
+	protected EList<HSVNode2HSLNode> children;
 
 	/**
 	 * The cached value of the '{@link #getHsv() <em>Hsv</em>}' reference.
@@ -74,14 +71,14 @@
 	protected HSVNode hsv;
 
 	/**
-	 * The cached value of the '{@link #getHls() <em>Hls</em>}' reference.
+	 * The cached value of the '{@link #getHsl() <em>Hsl</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getHls()
+	 * @see #getHsl()
 	 * @generated
 	 * @ordered
 	 */
-	protected HLSNode hls;
+	protected HSLNode hsl;
 
 	/**
 	 * The default value of the '{@link #getRgb() <em>Rgb</em>}' attribute.
@@ -128,7 +125,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected HSVNode2HLSNodeImpl() {
+	protected HSVNode2HSLNodeImpl() {
 		super();
 	}
 
@@ -139,7 +136,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return HSV2HLSPackage.Literals.HSV_NODE2_HLS_NODE;
+		return HSV2HSLPackage.Literals.HSV_NODE2_HSL_NODE;
 	}
 
 	/**
@@ -148,9 +145,9 @@
 	 * @generated
 	 */
 	@Override
-	public HSVNode2HLSNode getParent() {
-		if (eContainerFeatureID() != HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT) return null;
-		return (HSVNode2HLSNode)eInternalContainer();
+	public HSVNode2HSLNode getParent() {
+		if (eContainerFeatureID() != HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT) return null;
+		return (HSVNode2HSLNode)eInternalContainer();
 	}
 
 	/**
@@ -158,8 +155,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetParent(HSVNode2HLSNode newParent, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject)newParent, HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT, msgs);
+	public NotificationChain basicSetParent(HSVNode2HSLNode newParent, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newParent, HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT, msgs);
 		return msgs;
 	}
 
@@ -169,20 +166,20 @@
 	 * @generated
 	 */
 	@Override
-	public void setParent(HSVNode2HLSNode newParent) {
-		if (newParent != eInternalContainer() || (eContainerFeatureID() != HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT && newParent != null)) {
+	public void setParent(HSVNode2HSLNode newParent) {
+		if (newParent != eInternalContainer() || (eContainerFeatureID() != HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT && newParent != null)) {
 			if (EcoreUtil.isAncestor(this, newParent))
 				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
 			NotificationChain msgs = null;
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newParent != null)
-				msgs = ((InternalEObject)newParent).eInverseAdd(this, HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN, HSVNode2HLSNode.class, msgs);
+				msgs = ((InternalEObject)newParent).eInverseAdd(this, HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN, HSVNode2HSLNode.class, msgs);
 			msgs = basicSetParent(newParent, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT, newParent, newParent));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT, newParent, newParent));
 	}
 
 	/**
@@ -191,9 +188,9 @@
 	 * @generated
 	 */
 	@Override
-	public EList<HSVNode2HLSNode> getChildren() {
+	public EList<HSVNode2HSLNode> getChildren() {
 		if (children == null) {
-			children = new EObjectContainmentWithInverseEList<HSVNode2HLSNode>(HSVNode2HLSNode.class, this, HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN, HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT);
+			children = new EObjectContainmentWithInverseEList<HSVNode2HSLNode>(HSVNode2HSLNode.class, this, HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN, HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT);
 		}
 		return children;
 	}
@@ -210,7 +207,7 @@
 			hsv = (HSVNode)eResolveProxy(oldHsv);
 			if (hsv != oldHsv) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV, oldHsv, hsv));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV, oldHsv, hsv));
 			}
 		}
 		return hsv;
@@ -235,7 +232,7 @@
 		HSVNode oldHsv = hsv;
 		hsv = newHsv;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV, oldHsv, hsv));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV, oldHsv, hsv));
 	}
 
 	/**
@@ -244,16 +241,16 @@
 	 * @generated
 	 */
 	@Override
-	public HLSNode getHls() {
-		if (hls != null && hls.eIsProxy()) {
-			InternalEObject oldHls = (InternalEObject)hls;
-			hls = (HLSNode)eResolveProxy(oldHls);
-			if (hls != oldHls) {
+	public HSLNode getHsl() {
+		if (hsl != null && hsl.eIsProxy()) {
+			InternalEObject oldHsl = (InternalEObject)hsl;
+			hsl = (HSLNode)eResolveProxy(oldHsl);
+			if (hsl != oldHsl) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS, oldHls, hls));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSL, oldHsl, hsl));
 			}
 		}
-		return hls;
+		return hsl;
 	}
 
 	/**
@@ -261,8 +258,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HLSNode basicGetHls() {
-		return hls;
+	public HSLNode basicGetHsl() {
+		return hsl;
 	}
 
 	/**
@@ -271,11 +268,11 @@
 	 * @generated
 	 */
 	@Override
-	public void setHls(HLSNode newHls) {
-		HLSNode oldHls = hls;
-		hls = newHls;
+	public void setHsl(HSLNode newHsl) {
+		HSLNode oldHsl = hsl;
+		hsl = newHsl;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS, oldHls, hls));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSL, oldHsl, hsl));
 	}
 
 	/**
@@ -298,7 +295,7 @@
 		String oldRgb = rgb;
 		rgb = newRgb;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB, oldRgb, rgb));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB, oldRgb, rgb));
 	}
 
 	/**
@@ -321,7 +318,7 @@
 		String oldName = name;
 		name = newName;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME, oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME, oldName, name));
 	}
 
 	/**
@@ -333,11 +330,11 @@
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetParent((HSVNode2HLSNode)otherEnd, msgs);
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+				return basicSetParent((HSVNode2HSLNode)otherEnd, msgs);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
@@ -351,9 +348,9 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				return basicSetParent(null, msgs);
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -367,8 +364,8 @@
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
-				return eInternalContainer().eInverseRemove(this, HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN, HSVNode2HLSNode.class, msgs);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
+				return eInternalContainer().eInverseRemove(this, HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN, HSVNode2HSLNode.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -381,19 +378,19 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				return getParent();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return getChildren();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				if (resolve) return getHsv();
 				return basicGetHsv();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
-				if (resolve) return getHls();
-				return basicGetHls();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSL:
+				if (resolve) return getHsl();
+				return basicGetHsl();
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				return getRgb();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				return getName();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -408,23 +405,23 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
-				setParent((HSVNode2HLSNode)newValue);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
+				setParent((HSVNode2HSLNode)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				getChildren().clear();
-				getChildren().addAll((Collection<? extends HSVNode2HLSNode>)newValue);
+				getChildren().addAll((Collection<? extends HSVNode2HSLNode>)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				setHsv((HSVNode)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
-				setHls((HLSNode)newValue);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSL:
+				setHsl((HSLNode)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				setRgb((String)newValue);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				setName((String)newValue);
 				return;
 		}
@@ -439,22 +436,22 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
-				setParent((HSVNode2HLSNode)null);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
+				setParent((HSVNode2HSLNode)null);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				getChildren().clear();
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				setHsv((HSVNode)null);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
-				setHls((HLSNode)null);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSL:
+				setHsl((HSLNode)null);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				setRgb(RGB_EDEFAULT);
 				return;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				setName(NAME_EDEFAULT);
 				return;
 		}
@@ -469,17 +466,17 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__PARENT:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__PARENT:
 				return getParent() != null;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__CHILDREN:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__CHILDREN:
 				return children != null && !children.isEmpty();
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HSV:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSV:
 				return hsv != null;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__HLS:
-				return hls != null;
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__RGB:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__HSL:
+				return hsl != null;
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__RGB:
 				return RGB_EDEFAULT == null ? rgb != null : !RGB_EDEFAULT.equals(rgb);
-			case HSV2HLSPackage.HSV_NODE2_HLS_NODE__NAME:
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 		}
 		return super.eIsSet(featureID);
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/util/HSV2HSLAdapterFactory.java
similarity index 75%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/util/HSV2HSLAdapterFactory.java
index 8dbc0d3..a90f59f 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/util/HSV2HSLAdapterFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.util;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
@@ -19,24 +19,24 @@
 
 import org.eclipse.jdt.annotation.Nullable;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.*;
 
 /**
  * <!-- begin-user-doc -->
  * The <b>Adapter Factory</b> for the model.
  * It provides an adapter <code>createXXX</code> method for each class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage
  * @generated
  */
-public class HSVTreeAdapterFactory extends AdapterFactoryImpl {
+public class HSV2HSLAdapterFactory extends AdapterFactoryImpl {
 	/**
 	 * The cached model package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static HSVTreePackage modelPackage;
+	protected static HSV2HSLPackage modelPackage;
 
 	/**
 	 * Creates an instance of the adapter factory.
@@ -44,9 +44,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HSVTreeAdapterFactory() {
+	public HSV2HSLAdapterFactory() {
 		if (modelPackage == null) {
-			modelPackage = HSVTreePackage.eINSTANCE;
+			modelPackage = HSV2HSLPackage.eINSTANCE;
 		}
 	}
 
@@ -75,11 +75,11 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected HSVTreeSwitch<@Nullable Adapter> modelSwitch =
-		new HSVTreeSwitch<@Nullable Adapter>() {
+	protected HSV2HSLSwitch<@Nullable Adapter> modelSwitch =
+		new HSV2HSLSwitch<@Nullable Adapter>() {
 			@Override
-			public Adapter caseHSVNode(HSVNode object) {
-				return createHSVNodeAdapter();
+			public Adapter caseHSVNode2HSLNode(HSVNode2HSLNode object) {
+				return createHSVNode2HSLNodeAdapter();
 			}
 			@Override
 			public Adapter defaultCase(EObject object) {
@@ -102,16 +102,16 @@
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode <em>HSV Node</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode <em>HSV Node2 HSL Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSVNode2HSLNode
 	 * @generated
 	 */
-	public Adapter createHSVNodeAdapter() {
+	public Adapter createHSVNode2HSLNodeAdapter() {
 		return null;
 	}
 
@@ -127,4 +127,4 @@
 		return null;
 	}
 
-} //HSVTreeAdapterFactory
+} //HSV2HSLAdapterFactory
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeSwitch.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/util/HSV2HSLSwitch.java
similarity index 79%
copy from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeSwitch.java
copy to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/util/HSV2HSLSwitch.java
index 83ba401..ff61d09 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree/util/HLSTreeSwitch.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL/util/HSV2HSLSwitch.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2015, 2016 Willink Transformations and others.
+ * Copyright (c) 2015, 2017 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
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.util;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
@@ -17,7 +17,7 @@
 
 import org.eclipse.jdt.annotation.Nullable;
 
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -29,17 +29,17 @@
  * until a non-null result is returned,
  * which is the result of the switch.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage
  * @generated
  */
-public class HLSTreeSwitch<@Nullable T> extends Switch<T> {
+public class HSV2HSLSwitch<@Nullable T> extends Switch<T> {
 	/**
 	 * The cached model package
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static HLSTreePackage modelPackage;
+	protected static HSV2HSLPackage modelPackage;
 
 	/**
 	 * Creates an instance of the switch.
@@ -47,9 +47,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public HLSTreeSwitch() {
+	public HSV2HSLSwitch() {
 		if (modelPackage == null) {
-			modelPackage = HLSTreePackage.eINSTANCE;
+			modelPackage = HSV2HSLPackage.eINSTANCE;
 		}
 	}
 
@@ -76,9 +76,9 @@
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case HLSTreePackage.HLS_NODE: {
-				HLSNode hlsNode = (HLSNode)theEObject;
-				T result = caseHLSNode(hlsNode);
+			case HSV2HSLPackage.HSV_NODE2_HSL_NODE: {
+				HSVNode2HSLNode hsvNode2HSLNode = (HSVNode2HSLNode)theEObject;
+				T result = caseHSVNode2HSLNode(hsvNode2HSLNode);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -87,17 +87,17 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>HLS Node</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>HSV Node2 HSL Node</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>HLS Node</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>HSV Node2 HSL Node</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseHLSNode(HLSNode object) {
+	public T caseHSVNode2HSLNode(HSVNode2HSLNode object) {
 		return null;
 	}
 
@@ -117,4 +117,4 @@
 		return null;
 	}
 
-} //HLSTreeSwitch
+} //HSV2HSLSwitch
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVNode.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVNode.java
similarity index 77%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVNode.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVNode.java
index e9257eb..c6a7375 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVNode.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVNode.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree;
 
 import org.eclipse.emf.common.util.EList;
 
@@ -23,20 +23,20 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getHsv <em>Hsv</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getHsv <em>Hsv</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getName <em>Name</em>}</li>
  * </ul>
  *
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage#getHSVNode()
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage#getHSVNode()
  * @model
  * @generated
  */
 public interface HSVNode extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Parent</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren <em>Children</em>}'.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
@@ -45,15 +45,15 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Parent</em>' container reference.
 	 * @see #setParent(HSVNode)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage#getHSVNode_Parent()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage#getHSVNode_Parent()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getChildren
 	 * @model opposite="children" transient="false"
 	 * @generated
 	 */
 	HSVNode getParent();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent <em>Parent</em>}' container reference.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getParent <em>Parent</em>}' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Parent</em>' container reference.
@@ -64,8 +64,8 @@
 
 	/**
 	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent <em>Parent</em>}'.
+	 * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
@@ -73,8 +73,8 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Children</em>' containment reference list.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage#getHSVNode_Children()
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage#getHSVNode_Children()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getParent
 	 * @model opposite="parent" containment="true"
 	 * @generated
 	 */
@@ -91,14 +91,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Hsv</em>' attribute.
 	 * @see #setHsv(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage#getHSVNode_Hsv()
-	 * @model default="" dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSV" required="true"
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage#getHSVNode_Hsv()
+	 * @model default="" dataType="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSV" required="true"
 	 * @generated
 	 */
 	String getHsv();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getHsv <em>Hsv</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getHsv <em>Hsv</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Hsv</em>' attribute.
@@ -117,14 +117,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
 	 * @see #setName(String)
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage#getHSVNode_Name()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage#getHSVNode_Name()
 	 * @model required="true"
 	 * @generated
 	 */
 	String getName();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getName <em>Name</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getName <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Name</em>' attribute.
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreeFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVTreeFactory.java
similarity index 88%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreeFactory.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVTreeFactory.java
index 15b8e0a..2e37f86 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreeFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVTreeFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree;
 
 import org.eclipse.emf.ecore.EFactory;
 
@@ -17,7 +17,7 @@
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage
  * @generated
  */
 public interface HSVTreeFactory extends EFactory {
@@ -27,7 +27,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HSVTreeFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreeFactoryImpl.init();
+	HSVTreeFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreeFactoryImpl.init();
 
 	/**
 	 * Returns a new object of class '<em>HSV Node</em>'.
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreePackage.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVTreePackage.java
similarity index 84%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreePackage.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVTreePackage.java
index 32d9ead..1ad7aef 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/HSVTreePackage.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/HSVTreePackage.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -28,7 +28,7 @@
  *   <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreeFactory
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreeFactory
  * @model kind="package"
  * @generated
  */
@@ -63,14 +63,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	HSVTreePackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl.init();
+	HSVTreePackage eINSTANCE = org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl <em>HSV Node</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl <em>HSV Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSVNode()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl#getHSVNode()
 	 * @generated
 	 */
 	int HSV_NODE = 0;
@@ -134,61 +134,61 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see java.lang.String
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSV()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl#getHSV()
 	 * @generated
 	 */
 	int HSV = 1;
 
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode <em>HSV Node</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode <em>HSV Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for class '<em>HSV Node</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode
 	 * @generated
 	 */
 	EClass getHSVNode();
 
 	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent <em>Parent</em>}'.
+	 * Returns the meta object for the container reference '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getParent <em>Parent</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the container reference '<em>Parent</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getParent()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getParent()
 	 * @see #getHSVNode()
 	 * @generated
 	 */
 	EReference getHSVNode_Parent();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren <em>Children</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getChildren <em>Children</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Children</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getChildren()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getChildren()
 	 * @see #getHSVNode()
 	 * @generated
 	 */
 	EReference getHSVNode_Children();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getHsv <em>Hsv</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getHsv <em>Hsv</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Hsv</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getHsv()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getHsv()
 	 * @see #getHSVNode()
 	 * @generated
 	 */
 	EAttribute getHSVNode_Hsv();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getName <em>Name</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getName <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode#getName()
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode#getName()
 	 * @see #getHSVNode()
 	 * @generated
 	 */
@@ -229,11 +229,11 @@
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl <em>HSV Node</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl <em>HSV Node</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSVNode()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl#getHSVNode()
 		 * @generated
 		 */
 		EClass HSV_NODE = eINSTANCE.getHSVNode();
@@ -275,7 +275,7 @@
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @see java.lang.String
-		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVTreePackageImpl#getHSV()
+		 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVTreePackageImpl#getHSV()
 		 * @generated
 		 */
 		EDataType HSV = eINSTANCE.getHSV();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVNodeImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVNodeImpl.java
similarity index 95%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVNodeImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVNodeImpl.java
index 23e0b57..dcab6ef 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVNodeImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVNodeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl;
 
 import java.util.Collection;
 
@@ -26,9 +26,8 @@
 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -38,10 +37,10 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl#getHsv <em>Hsv</em>}</li>
- *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl.HSVNodeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl#getParent <em>Parent</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl#getChildren <em>Children</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl#getHsv <em>Hsv</em>}</li>
+ *   <li>{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl.HSVNodeImpl#getName <em>Name</em>}</li>
  * </ul>
  *
  * @generated
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreeFactoryImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVTreeFactoryImpl.java
similarity index 96%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreeFactoryImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVTreeFactoryImpl.java
index 85485a0..3ccaa22 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreeFactoryImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVTreeFactoryImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EDataType;
@@ -18,8 +18,7 @@
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
 
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.*;
 
 /**
  * <!-- begin-user-doc -->
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreePackageImpl.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVTreePackageImpl.java
similarity index 84%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreePackageImpl.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVTreePackageImpl.java
index e8e4ebc..2c9d3e6 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/impl/HSVTreePackageImpl.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/impl/HSVTreePackageImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.impl;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.impl;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -17,18 +17,13 @@
 import org.eclipse.emf.ecore.EReference;
 
 import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.impl.HLSTreePackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.impl.HSV2HLSPackageImpl;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreeFactory;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.impl.HSLTreePackageImpl;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.impl.HSV2HSLPackageImpl;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreeFactory;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -62,7 +57,7 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage#eNS_URI
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage#eNS_URI
 	 * @see #init()
 	 * @generated
 	 */
@@ -99,18 +94,18 @@
 		isInited = true;
 
 		// Obtain or create and register interdependencies
-		HSV2HLSPackageImpl theHSV2HLSPackage = (HSV2HLSPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSV2HLSPackage.eNS_URI) instanceof HSV2HLSPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSV2HLSPackage.eNS_URI) : HSV2HLSPackage.eINSTANCE);
-		HLSTreePackageImpl theHLSTreePackage = (HLSTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLSTreePackage.eNS_URI) instanceof HLSTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLSTreePackage.eNS_URI) : HLSTreePackage.eINSTANCE);
+		HSV2HSLPackageImpl theHSV2HSLPackage = (HSV2HSLPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSV2HSLPackage.eNS_URI) instanceof HSV2HSLPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSV2HSLPackage.eNS_URI) : HSV2HSLPackage.eINSTANCE);
+		HSLTreePackageImpl theHSLTreePackage = (HSLTreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI) instanceof HSLTreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HSLTreePackage.eNS_URI) : HSLTreePackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theHSVTreePackage.createPackageContents();
-		theHSV2HLSPackage.createPackageContents();
-		theHLSTreePackage.createPackageContents();
+		theHSV2HSLPackage.createPackageContents();
+		theHSLTreePackage.createPackageContents();
 
 		// Initialize created meta-data
 		theHSVTreePackage.initializePackageContents();
-		theHSV2HLSPackage.initializePackageContents();
-		theHLSTreePackage.initializePackageContents();
+		theHSV2HSLPackage.initializePackageContents();
+		theHSLTreePackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
 		theHSVTreePackage.freeze();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/util/HSVTreeAdapterFactory.java
similarity index 91%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/util/HSVTreeAdapterFactory.java
index 8dbc0d3..eb9b187 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeAdapterFactory.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/util/HSVTreeAdapterFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.util;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
@@ -18,15 +18,14 @@
 import org.eclipse.emf.ecore.EObject;
 
 import org.eclipse.jdt.annotation.Nullable;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.*;
 
 /**
  * <!-- begin-user-doc -->
  * The <b>Adapter Factory</b> for the model.
  * It provides an adapter <code>createXXX</code> method for each class of the model.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage
  * @generated
  */
 public class HSVTreeAdapterFactory extends AdapterFactoryImpl {
@@ -102,13 +101,13 @@
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode <em>HSV Node</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode <em>HSV Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVNode
+	 * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVNode
 	 * @generated
 	 */
 	public Adapter createHSVNodeAdapter() {
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeSwitch.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/util/HSVTreeSwitch.java
similarity index 94%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeSwitch.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/util/HSVTreeSwitch.java
index 8218b22..aacde1d 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree/util/HSVTreeSwitch.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree/util/HSVTreeSwitch.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   E.D.Willink - Initial API and implementation
  */
-package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.util;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.util;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
@@ -16,8 +16,7 @@
 import org.eclipse.emf.ecore.util.Switch;
 
 import org.eclipse.jdt.annotation.Nullable;
-
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.*;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.*;
 
 /**
  * <!-- begin-user-doc -->
@@ -29,7 +28,7 @@
  * until a non-null result is returned,
  * which is the result of the switch.
  * <!-- end-user-doc -->
- * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage
+ * @see org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage
  * @generated
  */
 public class HSVTreeSwitch<@Nullable T> extends Switch<T> {
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java
index 79ba151..fb5709d 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java
@@ -61,10 +61,10 @@
 import org.eclipse.qvtd.xtext.qvtcore.tests.families2persons.Families2Persons.Families2PersonsPackage;
 import org.eclipse.qvtd.xtext.qvtcore.tests.families2persons.Persons.PersonsPackage;
 import org.eclipse.qvtd.xtext.qvtcore.tests.forward2reverse.Forward2ReverseNormalizer;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLSNormalizer;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSV2HLS.HSV2HLSPackage;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HSVTree.HSVTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSLNormalizer;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSV2HSL.HSV2HSLPackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSVTree.HSVTreePackage;
 import org.eclipse.qvtd.xtext.qvtcore.tests.list2list.doublylinkedlist.DoublylinkedlistPackage;
 import org.eclipse.qvtd.xtext.qvtcore.tests.list2list.list2list.List2listPackage;
 import org.eclipse.qvtd.xtext.qvtcore.tests.uml2rdbms.SimpleRDBMSNormalizer;
@@ -498,24 +498,24 @@
 	}
 
 	@Test
-	public void testQVTcCompiler_HSVToHLS() throws Exception {
+	public void testQVTcCompiler_HSVToHSL() throws Exception {
 		//		AbstractTransformer.EXCEPTIONS.setState(true);
 		//		AbstractTransformer.INVOCATIONS.setState(true);
-		String testFolderName = "hsv2hls";
+		String testFolderName = "hsv2hsl";
 		URI testFolderURI = TESTS_BASE_URI.appendSegment(testFolderName);
 		MyQVT myQVT = new MyQVT(testFolderName);
-		myQVT.loadEcoreFile(testFolderURI.appendSegment("HSV2HLS.ecore"), HSV2HLSPackage.eINSTANCE);
+		myQVT.loadEcoreFile(testFolderURI.appendSegment("HSV2HSL.ecore"), HSV2HSLPackage.eINSTANCE);
 		myQVT.loadEcoreFile(testFolderURI.appendSegment("HSVTree.ecore"), HSVTreePackage.eINSTANCE);
-		myQVT.loadEcoreFile(testFolderURI.appendSegment("HLSTree.ecore"), HLSTreePackage.eINSTANCE);
+		myQVT.loadEcoreFile(testFolderURI.appendSegment("HSLTree.ecore"), HSLTreePackage.eINSTANCE);
 		//		myQVT.getEnvironmentFactory().setEvaluationTracingEnabled(true);
 		try {
-			ImperativeTransformation asTransformation = myQVT.compileTransformation("HSV2HLS.qvtc", "hls");
+			ImperativeTransformation asTransformation = myQVT.compileTransformation("HSV2HSL.qvtc", "hsl");
 			myQVT.createInterpretedExecutor(asTransformation);
 			myQVT.loadInput("hsv", "SolarizedHSV.xmi");
-			myQVT.createModel(QVTimperativeUtil.MIDDLE_DOMAIN_NAME, "HSV2HLS_trace.xmi");
-			myQVT.createModel("hls", "SolarizedHLS_Interpreted.xmi");
+			myQVT.createModel(QVTimperativeUtil.MIDDLE_DOMAIN_NAME, "HSV2HSL_trace.xmi");
+			myQVT.createModel("hsl", "SolarizedHSL_Interpreted.xmi");
 			myQVT.executeTransformation();
-			myQVT.saveOutput("hls", "SolarizedHLS_Interpreted.xmi", "SolarizedHLS_expected.xmi", HSV2HLSNormalizer.INSTANCE);	// FIXME Bug 490497 remove normalizer
+			myQVT.saveOutput("hsl", "SolarizedHSL_Interpreted.xmi", "SolarizedHSL_expected.xmi", HSV2HSLNormalizer.INSTANCE);	// FIXME Bug 490497 remove normalizer
 		}
 		finally {
 			myQVT.dispose();
@@ -523,7 +523,7 @@
 	}
 
 	@Test
-	public void testQVTcCompiler_HSVToHLS_CG() throws Exception {
+	public void testQVTcCompiler_HSVToHSL_CG() throws Exception {
 		//		AbstractTransformer.EXCEPTIONS.setState(true);
 		//		AbstractTransformer.INVOCATIONS.setState(true);
 		//		Scheduler.EDGE_ORDER.setState(true);
@@ -534,17 +534,18 @@
 		//		AbstractMerger.EARLY.setState(true);
 		//		AbstractMerger.FAILURE.setState(true);
 		//		AbstractMerger.LATE.setState(true);
-		String testFolderName = "hsv2hls";
+		String testFolderName = "hsv2hsl";
 		MyQVT myQVT = new MyQVT(testFolderName);
 		try {
-			myQVT.buildTransformation("HSV2HLS.qvtc", "hls", "HSV2HLS.genmodel");
+			//			myQVT.createGeneratedExecutor(hsv2hsl.class);
+			myQVT.buildTransformation("HSV2HSL.qvtc", "hsl", "HSV2HSL.genmodel");
 			myQVT.assertRegionCount(BasicMappingRegion.class, 0);
 			myQVT.assertRegionCount(EarlyMerger.EarlyMergedMappingRegion.class, 0);
 			myQVT.assertRegionCount(LateConsumerMerger.LateMergedMappingRegion.class, 1);
 			myQVT.assertRegionCount(MicroMappingRegion.class, 2);
 			myQVT.loadInput("hsv", "SolarizedHSV.xmi");
 			myQVT.executeTransformation();
-			myQVT.saveOutput("hls", "SolarizedHLS_CG.xmi", "SolarizedHLS_expected.xmi", HSV2HLSNormalizer.INSTANCE);	// FIXME Bug 490497 remove normalizer
+			myQVT.saveOutput("hsl", "SolarizedHSL_CG.xmi", "SolarizedHSL_expected.xmi", HSV2HSLNormalizer.INSTANCE);	// FIXME Bug 490497 remove normalizer
 		}
 		finally {
 			myQVT.dispose();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree.ecore b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree.ecore
deleted file mode 100644
index 1b70e6e..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HLSTree.ecore
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HLSTree" nsURI="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HLSTree"
-    nsPrefix="hls">
-  <eClassifiers xsi:type="ecore:EDataType" name="HLS" instanceClassName="java.lang.String"/>
-  <eClassifiers xsi:type="ecore:EClass" name="HLSNode">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HLSNode"
-        eOpposite="#//HLSNode/children"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
-        eType="#//HLSNode" containment="true" eOpposite="#//HLSNode/parent"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="hls" lowerBound="1" eType="#//HLS"
-        defaultValueLiteral="1"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedHLS_expected.xmi b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedHLS_expected.xmi
deleted file mode 100644
index ba8f778..0000000
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedHLS_expected.xmi
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<pfx:HLSNode
-    xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:pfx="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HLSTree"
-    xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HLSTree ../HLSTree.ecore"
-    hls = "192,100,11" name="base03">
-  <children hls="192,81,14" name="base02"/>
-  <children hls="194,14,40" name="base01">
-    <children hls="196,13,45" name="base00">
-      <children hls="186,8,55" name="base0">
-        <children hls="180,7,60" name="base1"/>
-      </children>
-    </children>
-  </children>
-  <children hls="46,42,88" name="base2">
-    <children hls="44,87,94" name="base3"/>
-  </children>
-  <children hls="45,100,35" name="yellow">
-    <children hls="18,80,44" name="orange">
-      <children hls="1,71,52" name="red">
-        <children hls="331,64,52" name="magenta"/>
-        <children hls="237,43,60" name="violet">
-          <children hls="205,69,49" name="blue">
-          <children hls="175,59,40" name="cyan">
-            <children hls="68,100,30" name="green"/>
-          </children>
-        </children>
-      </children>
-      </children>
-    </children>
-  </children>
-</pfx:HLSNode>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree.ecore b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree.ecore
new file mode 100644
index 0000000..2495183
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSLTree.ecore
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HSLTree" nsURI="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HSL/1.0/HSLTree"
+    nsPrefix="hsl">
+  <eClassifiers xsi:type="ecore:EDataType" name="HSL" instanceClassName="java.lang.String"/>
+  <eClassifiers xsi:type="ecore:EClass" name="HSLNode">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HSLNode"
+        eOpposite="#//HSLNode/children"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+        eType="#//HSLNode" containment="true" eOpposite="#//HSLNode/parent"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="hsl" lowerBound="1" eType="#//HSL"
+        defaultValueLiteral="1"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.ecore b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.ecore
similarity index 73%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.ecore
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.ecore
index 3a28aa5..214b9c5 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.ecore
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.ecore
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HSV2HLS" nsURI="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HLS/1.0/HSVtoHLS"
-    nsPrefix="hsv2hls">
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HSV2HSL" nsURI="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HSL/1.0/HSVtoHSL"
+    nsPrefix="hsv2hsl">
   <eClassifiers xsi:type="ecore:EDataType" name="RGB" instanceClassName="java.lang.String"/>
-  <eClassifiers xsi:type="ecore:EClass" name="HSVNode2HLSNode">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HSVNode2HLSNode"
-        eOpposite="#//HSVNode2HLSNode/children"/>
+  <eClassifiers xsi:type="ecore:EClass" name="HSVNode2HSLNode">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HSVNode2HSLNode"
+        eOpposite="#//HSVNode2HSLNode/children"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
-        eType="#//HSVNode2HLSNode" containment="true" eOpposite="#//HSVNode2HLSNode/parent"/>
+        eType="#//HSVNode2HSLNode" containment="true" eOpposite="#//HSVNode2HSLNode/parent"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="hsv" lowerBound="1" eType="ecore:EClass HSVTree.ecore#//HSVNode">
       <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
         <details key="body" value="middle"/>
         <details key="upper" value="1"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="hls" lowerBound="1" eType="ecore:EClass HLSTree.ecore#//HLSNode">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="hsl" lowerBound="1" eType="ecore:EClass HSLTree.ecore#//HSLNode">
       <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
         <details key="body" value="middle"/>
         <details key="upper" value="1"/>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.genmodel b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.genmodel
similarity index 67%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.genmodel
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.genmodel
index 4a3ec2b..102ff99 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.genmodel
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.genmodel
@@ -1,24 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
     xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2015, 2017 Willink Transformations and others.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;  E.D.Willink - Initial API and implementation"
-    modelDirectory="/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen" modelName="HSV2HLS"
+    modelDirectory="/org.eclipse.qvtd.xtext.qvtcore.tests/src-gen" modelName="HSV2HSL"
     updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     importerID="org.eclipse.emf.importer.ecore" bundleManifest="false" complianceLevel="8.0"
     copyrightFields="false" operationReflection="true" importOrganizing="true" pluginKey="">
-  <foreignModel>HSV2HLS.ecore</foreignModel>
-  <genPackages prefix="HSV2HLS" basePackage="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls"
-      disposableProviderFactory="true" ecorePackage="HSV2HLS.ecore#/">
-    <genDataTypes ecoreDataType="HSV2HLS.ecore#//RGB"/>
-    <genClasses ecoreClass="HSV2HLS.ecore#//HSVNode2HLSNode">
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference HSV2HLS.ecore#//HSVNode2HLSNode/parent"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference HSV2HLS.ecore#//HSVNode2HLSNode/children"/>
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference HSV2HLS.ecore#//HSVNode2HLSNode/hsv"/>
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference HSV2HLS.ecore#//HSVNode2HLSNode/hls"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSV2HLS.ecore#//HSVNode2HLSNode/rgb"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSV2HLS.ecore#//HSVNode2HLSNode/name"/>
+  <foreignModel>HSV2HSL.ecore</foreignModel>
+  <genPackages prefix="HSV2HSL" basePackage="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl"
+      disposableProviderFactory="true" ecorePackage="HSV2HSL.ecore#/">
+    <genDataTypes ecoreDataType="HSV2HSL.ecore#//RGB"/>
+    <genClasses ecoreClass="HSV2HSL.ecore#//HSVNode2HSLNode">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference HSV2HSL.ecore#//HSVNode2HSLNode/parent"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference HSV2HSL.ecore#//HSVNode2HSLNode/children"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference HSV2HSL.ecore#//HSVNode2HSLNode/hsv"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference HSV2HSL.ecore#//HSVNode2HSLNode/hsl"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSV2HSL.ecore#//HSVNode2HSLNode/rgb"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSV2HSL.ecore#//HSVNode2HSLNode/name"/>
     </genClasses>
   </genPackages>
-  <genPackages prefix="HSVTree" basePackage="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls"
+  <genPackages prefix="HSVTree" basePackage="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl"
       disposableProviderFactory="true" ecorePackage="HSVTree.ecore#/">
     <genDataTypes ecoreDataType="HSVTree.ecore#//HSV"/>
     <genClasses ecoreClass="HSVTree.ecore#//HSVNode">
@@ -28,14 +28,14 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSVTree.ecore#//HSVNode/name"/>
     </genClasses>
   </genPackages>
-  <genPackages prefix="HLSTree" basePackage="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls"
-      disposableProviderFactory="true" ecorePackage="HLSTree.ecore#/">
-    <genDataTypes ecoreDataType="HLSTree.ecore#//HLS"/>
-    <genClasses ecoreClass="HLSTree.ecore#//HLSNode">
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference HLSTree.ecore#//HLSNode/parent"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference HLSTree.ecore#//HLSNode/children"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HLSTree.ecore#//HLSNode/hls"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HLSTree.ecore#//HLSNode/name"/>
+  <genPackages prefix="HSLTree" basePackage="org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl"
+      disposableProviderFactory="true" ecorePackage="HSLTree.ecore#/">
+    <genDataTypes ecoreDataType="HSLTree.ecore#//HSL"/>
+    <genClasses ecoreClass="HSLTree.ecore#//HSLNode">
+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference HSLTree.ecore#//HSLNode/parent"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference HSLTree.ecore#//HSLNode/children"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSLTree.ecore#//HSLNode/hsl"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute HSLTree.ecore#//HSLNode/name"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.odt b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.odt
similarity index 100%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.odt
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.odt
Binary files differ
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.qvtc
similarity index 83%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.qvtc
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.qvtc
index aba32e5..dec3df8 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLS.qvtc
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSL.qvtc
@@ -1,31 +1,31 @@
 import 'HSVTree.ecore#/';
-import 'HLSTree.ecore#/';
-import 'HSV2HLS.ecore#/';
+import 'HSLTree.ecore#/';
+import 'HSV2HSL.ecore#/';
 
-transformation hsv2hls
+transformation hsv2hsl
 {
 	hsv imports HSVTree;
-	hls imports HLSTree;
-	imports HSV2HLS;
+	hsl imports HSLTree;
+	imports HSV2HSL;
 }
 
-map HSV2HLSRoot in hsv2hls
+map HSV2HSLRoot in hsv2hsl
 {
 	check hsv(hsvRoot : HSVTree::HSVNode[1]
 	|
 		hsvRoot.parent = null;) {}
-	check enforce hls() {
-		realize hlsRoot : HLSTree::HLSNode[1]
+	check enforce hsl() {
+		realize hslRoot : HSLTree::HSLNode[1]
 	|
-		hlsRoot.parent := null;
+		hslRoot.parent := null;
 	}
 
 	where() {
-		realize middleRoot : HSV2HLS::HSVNode2HLSNode[1]
+		realize middleRoot : HSV2HSL::HSVNode2HSLNode[1]
 	|
 		middleRoot.parent := null;
 		middleRoot.hsv := hsvRoot;
-		middleRoot.hls := hlsRoot;
+		middleRoot.hsl := hslRoot;
 	}
 
 	map
@@ -33,18 +33,18 @@
 
 		where() {
 			middleRoot.name := hsvRoot.name;
-			middleRoot.name := hlsRoot.name;
+			middleRoot.name := hslRoot.name;
 			hsvRoot.name := middleRoot.name;
-			hlsRoot.name := middleRoot.name;
+			hslRoot.name := middleRoot.name;
 			hsvRoot.hsv := rgb2hsv(middleRoot.rgb);
-			hlsRoot.hls := rgb2hsl(middleRoot.rgb);
+			hslRoot.hsl := rgb2hsl(middleRoot.rgb);
 			middleRoot.rgb := hsv2rgb(hsvRoot.hsv);
-			middleRoot.rgb := hls2rgb(hlsRoot.hls);
+			middleRoot.rgb := hsl2rgb(hslRoot.hsl);
 		}
 	}
 }
 
-map HSV2HLSRecursion in hsv2hls
+map HSV2HSLRecursion in hsv2hsl
 {
 	check enforce hsv(hsvParent : HSVTree::HSVNode[1]
 	|) {
@@ -53,22 +53,22 @@
 		hsvNode.parent := hsvParent;
 	}
 
-	check enforce hls(hlsParent : HLSTree::HLSNode[1]
+	check enforce hsl(hslParent : HSLTree::HSLNode[1]
 	|) {
-		realize hlsNode : HLSTree::HLSNode[1]
+		realize hslNode : HSLTree::HSLNode[1]
 	|
-		hlsNode.parent := hlsParent;
+		hslNode.parent := hslParent;
 	}
 
-	where(middleParent : HSV2HLS::HSVNode2HLSNode[1]
+	where(middleParent : HSV2HSL::HSVNode2HSLNode[1]
 	|
 		middleParent.hsv = hsvParent;
-		middleParent.hls = hlsParent;) {
-		realize middleNode : HSV2HLS::HSVNode2HLSNode[1]
+		middleParent.hsl = hslParent;) {
+		realize middleNode : HSV2HSL::HSVNode2HSLNode[1]
 	|
 		middleNode.parent := middleParent;
 		middleNode.hsv := hsvNode;
-		middleNode.hls := hlsNode;
+		middleNode.hsl := hslNode;
 	}
 
 	map
@@ -76,23 +76,23 @@
 
 		where() {
 			middleNode.name := hsvNode.name;
-			middleNode.name := hlsNode.name;
-			hlsNode.name := middleNode.name;
+			middleNode.name := hslNode.name;
+			hslNode.name := middleNode.name;
 			hsvNode.name := middleNode.name;
 			hsvNode.hsv := rgb2hsv(middleNode.rgb);
-			hlsNode.hls := rgb2hsl(middleNode.rgb);
+			hslNode.hsl := rgb2hsl(middleNode.rgb);
 			middleNode.rgb := hsv2rgb(hsvNode.hsv);
-			middleNode.rgb := hls2rgb(hlsNode.hls);
+			middleNode.rgb := hsl2rgb(hslNode.hsl);
 		}
 	}
 }
 
-query hsv2hls::hls2rgb(color : HLSTree::HLS) : HSV2HLS::RGB[1]
+query hsv2hsl::hsl2rgb(color : HSLTree::HSL) : HSV2HSL::RGB[1]
 {
 	color
 }
 
-query hsv2hls::hsv2rgb(color : HSVTree::HSV) : HSV2HLS::RGB[1]
+query hsv2hsl::hsv2rgb(color : HSVTree::HSV) : HSV2HSL::RGB[1]
 {
 	let hsv : Sequence(String) = color.tokenize(',') in
 	let h : Integer = hsv->at(1).toReal().round() in
@@ -113,10 +113,10 @@
 	let r = (255 * (t.r + m)).round() in
 	let g = (255 * (t.g + m)).round() in
 	let b = (255 * (t.b + m)).round() in
-	HSV2HLS::RGB{value=r.toString() + ',' + g.toString() + ',' + b.toString()}
+	HSV2HSL::RGB{value=r.toString() + ',' + g.toString() + ',' + b.toString()}
 }
 
-query hsv2hls::rgb2hsl(color : HSV2HLS::RGB) : HLSTree::HLS[1]
+query hsv2hsl::rgb2hsl(color : HSV2HSL::RGB) : HSLTree::HSL[1]
 {
 	let rgb : Sequence(String) = color.tokenize(',') in
 	let r : Real = rgb->at(1).toReal()/255.0 in
@@ -132,10 +132,10 @@
 				   elseif cMax = g then 60 * ((b - r) / delta + 2)
 				   else 60 * ((r - g) / delta + 4) endif in
 	let s : Real = if delta = 0 then 0 else delta / (1 - (2 * l - 1).abs()) endif in
-	HLSTree::HLS{value=h.round().toString() + ',' + (100*s).round().toString() + ',' + (100*l).round().toString()}
+	HSLTree::HSL{value=h.round().toString() + ',' + (100*s).round().toString() + ',' + (100*l).round().toString()}
 }
 
-query hsv2hls::rgb2hsv(color : HSV2HLS::RGB) : HSVTree::HSV[1]
+query hsv2hsl::rgb2hsv(color : HSV2HSL::RGB) : HSVTree::HSV[1]
 {
 	color
 --	HSVTree::HSV{'color'}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLSNormalizer.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSLNormalizer.java
similarity index 63%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLSNormalizer.java
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSLNormalizer.java
index 5a9fdcf..3b892f6 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSV2HLSNormalizer.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSV2HSLNormalizer.java
@@ -4,11 +4,11 @@
  * 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.qvtd.xtext.qvtcore.tests.hsv2hls;
+package org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl;
 
 import java.util.ArrayList;
 import java.util.Comparator;
@@ -26,30 +26,30 @@
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.ocl.examples.xtext.tests.XtextTestCase.Normalizer;
 import org.eclipse.ocl.pivot.utilities.ClassUtil;
-import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hls.HLSTree.HLSTreePackage;
+import org.eclipse.qvtd.xtext.qvtcore.tests.hsv2hsl.HSLTree.HSLTreePackage;
 import org.eclipse.qvtd.xtext.qvtimperative.tests.ModelNormalizer;
 
 /**
  * FIXME Bug 490497 - this is a workaround for Bug 490172
- * 
- * HSV2HLSNormalizer normalises the results of the HSV2HLS transformation pending support for order preservation.
+ *
+ * HSV2HSLNormalizer normalises the results of the HSV2HLS transformation pending support for order preservation.
  */
-public class HSV2HLSNormalizer implements ModelNormalizer
+public class HSV2HSLNormalizer implements ModelNormalizer
 {
-	public static final @NonNull HSV2HLSNormalizer INSTANCE = new HSV2HLSNormalizer();
-	
+	public static final @NonNull HSV2HSLNormalizer INSTANCE = new HSV2HSLNormalizer();
+
 	protected static class HLSNodeComparator implements Comparator<@NonNull EObject>
 	{
-		private final @NonNull EAttribute hlsNodeName;
+		private final @NonNull EAttribute hslNodeName;
 
-		public HLSNodeComparator(@NonNull EAttribute hlsNodeName) {
-			this.hlsNodeName = hlsNodeName;
+		public HLSNodeComparator(@NonNull EAttribute hslNodeName) {
+			this.hslNodeName = hslNodeName;
 		}
-		
+
 		@Override
 		public int compare(@NonNull EObject o1, @NonNull EObject o2) {
-			String n1 = (String) o1.eGet(hlsNodeName);
-			String n2 = (String) o2.eGet(hlsNodeName);
+			String n1 = (String) o1.eGet(hslNodeName);
+			String n2 = (String) o2.eGet(hslNodeName);
 			return ClassUtil.safeCompareTo(n1, n2);
 		}
 	}
@@ -58,23 +58,23 @@
 	public @NonNull List<Normalizer> normalize(@NonNull Resource resource) {
 		EObject eRoot = resource.getContents().get(0);
 		EPackage ePackage = eRoot.eClass().getEPackage();
-		EClass hlsNodeClass = (EClass) ePackage.getEClassifier(HLSTreePackage.Literals.HLS_NODE.getName());
-		assert hlsNodeClass != null;
-		@NonNull EReference hlsNodeChildren = (EReference) hlsNodeClass.getEStructuralFeature(HLSTreePackage.Literals.HLS_NODE__CHILDREN.getName());
-		assert hlsNodeChildren != null;
-		@NonNull EAttribute hlsNodeName = (EAttribute) hlsNodeClass.getEStructuralFeature(HLSTreePackage.Literals.HLS_NODE__NAME.getName());
-		assert hlsNodeName != null;
-		HLSNodeComparator personComparator = new HLSNodeComparator(hlsNodeName);
+		EClass hslNodeClass = (EClass) ePackage.getEClassifier(HSLTreePackage.Literals.HSL_NODE.getName());
+		assert hslNodeClass != null;
+		@NonNull EReference hslNodeChildren = (EReference) hslNodeClass.getEStructuralFeature(HSLTreePackage.Literals.HSL_NODE__CHILDREN.getName());
+		assert hslNodeChildren != null;
+		@NonNull EAttribute hslNodeName = (EAttribute) hslNodeClass.getEStructuralFeature(HSLTreePackage.Literals.HSL_NODE__NAME.getName());
+		assert hslNodeName != null;
+		HLSNodeComparator personComparator = new HLSNodeComparator(hslNodeName);
 		List<@NonNull EObject> allNodes = new ArrayList<@NonNull EObject>();
 		for (TreeIterator<EObject> tit = resource.getAllContents(); tit.hasNext(); ) {
 			EObject eObject = tit.next();
-			if (hlsNodeClass.isInstance(eObject)) {
+			if (hslNodeClass.isInstance(eObject)) {
 				allNodes.add(eObject);
 			}
 		}
-		for (@NonNull EObject hlsNode : allNodes) {
+		for (@NonNull EObject hslNode : allNodes) {
 			@SuppressWarnings("unchecked")
-			EList<@NonNull EObject> children = (EList<@NonNull EObject>) hlsNode.eGet(hlsNodeChildren);
+			EList<@NonNull EObject> children = (EList<@NonNull EObject>) hslNode.eGet(hslNodeChildren);
 			ECollections.sort(children, personComparator);
 		}
 		List<Normalizer> normalizers = new ArrayList<Normalizer>();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree.ecore b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree.ecore
similarity index 100%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/HSVTree.ecore
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/HSVTree.ecore
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/.gitignore b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/.gitignore
similarity index 100%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/.gitignore
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/.gitignore
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedColors.txt b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedColors.txt
similarity index 100%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedColors.txt
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedColors.txt
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedHSL_expected.xmi b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedHSL_expected.xmi
new file mode 100644
index 0000000..c9c5bf8
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedHSL_expected.xmi
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pfx:HSLNode
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:pfx="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HSL/1.0/HSLTree"
+    xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtcore/tests/HSV2HSL/1.0/HSLTree ../HLSTree.ecore"
+    hsl="192,100,11" name="base03">
+  <children hsl="192,81,14" name="base02"/>
+  <children hsl="194,14,40" name="base01">
+    <children hsl="196,13,45" name="base00">
+      <children hsl="186,8,55" name="base0">
+        <children hsl="180,7,60" name="base1"/>
+      </children>
+    </children>
+  </children>
+  <children hsl="46,42,88" name="base2">
+    <children hsl="44,87,94" name="base3"/>
+  </children>
+  <children hsl="45,100,35" name="yellow">
+    <children hsl="18,80,44" name="orange">
+      <children hsl="1,71,52" name="red">
+        <children hsl="331,64,52" name="magenta"/>
+        <children hsl="237,43,60" name="violet">
+          <children hsl="205,69,49" name="blue">
+          <children hsl="175,59,40" name="cyan">
+            <children hsl="68,100,30" name="green"/>
+          </children>
+        </children>
+      </children>
+      </children>
+    </children>
+  </children>
+</pfx:HSLNode>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedHSV.xmi b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedHSV.xmi
similarity index 100%
rename from tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hls/samples/SolarizedHSV.xmi
rename to tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/hsv2hsl/samples/SolarizedHSV.xmi