You can actually load the ECore model at runtime and instantiate objects:
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put( "ecore", new EcoreResourceFactoryImpl());
Resource resource = resourceSet.getResource(URI.createFileURI("C:\\my.ecore"), true);
EPackage model = (EPackage)resource.getContents().get(0);
EClass eClass = (EClass) model.getEClassifiers().get(0);
EObject object = model.getEFactoryInstance().create(eClass);