diff --git a/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/RDS.xtend b/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/RDS.xtend
new file mode 100644
index 0000000000000000000000000000000000000000..0f891f3d67219327f0a12a498eeb45766275aa6a
--- /dev/null
+++ b/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/RDS.xtend
@@ -0,0 +1,35 @@
+package org.etsi.mts.tdl;
+
+import com.google.inject.Inject
+import java.util.HashMap
+import org.eclipse.xtext.naming.QualifiedName
+import org.eclipse.xtext.resource.EObjectDescription
+import org.eclipse.xtext.resource.IEObjectDescription
+import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy
+import org.eclipse.xtext.scoping.impl.ImportUriResolver
+import org.eclipse.xtext.util.IAcceptor
+import org.eclipse.emf.ecore.EObject
+
+class RDS extends DefaultResourceDescriptionStrategy {
+	public static final String INCLUDES = "includes"
+	@Inject
+	ImportUriResolver uriResolver
+
+	override createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) {
+		if(eObject instanceof Package) {
+			this.createEObjectDescriptionForPackage(eObject, acceptor)
+			return true
+		}
+		else {
+			super.createEObjectDescriptions(eObject, acceptor)
+		}
+	}
+
+	def void createEObjectDescriptionForPackage(Package model, IAcceptor<IEObjectDescription> acceptor) {
+		val uris = newArrayList()
+		model.import.forEach[uris.add(uriResolver.apply(it.importedPackage))]
+		val userData = new HashMap<String,String>
+		userData.put(INCLUDES, uris.join(","))
+		acceptor.accept(EObjectDescription.create(QualifiedName.create(model.eResource.URI.toString), model, userData))
+	}
+}
\ No newline at end of file