transformation primtypesecore;

import library emf.tools;

modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore';

mapping main(in model: ecore::EPackage): ecore::EPackage {
	init {
		var treal := getDataTypeInstance('http://www.eclipse.org/emf/2002/Ecore', 'EFloat');
	}
    	eClassifiers += object ecore::EClass {
    		name := 'Employer';
    		eStructuralFeatures += object ecore::EAttribute {
    			name := 'name';
    			eType := treal;
    		};
    	};

    	name := 'pack';
}
