modeltype ecore uses "http://www.eclipse.org/emf/2002/Ecore";

transformation test(in model : ecore, out modelOut : ecore);

main() {
	var pack := object EPackage {
	};
	var subPack := object EPackage {
		name := 'subPack';
	};
	object subPack : EPackage {
		pack.eSubpackages += subPack;
		eSuperPackage.name := 'root1';
	};
	modelOut->objectsOfType(EPackage)->flatten()->any(name = 'root1').name := 
		modelOut->objectsOfType(EPackage)->flatten()->any(name = 'root1').name + 'root2'; 
	subPack.eSuperPackage.name := subPack.eSuperPackage.name + 'root3';
	var mappedSubPack := subPack.map mapping1();
	subPack.eSuperPackage.eSubpackages += subPack.late resolveoneIn(EPackage::mapping1, EPackage);         
}     

mapping EPackage::mapping1() : EPackage {
	name := 'mapped' + self.name; 
}