

        provisioner = new NullProvisioner(cloudsim);
        scheduler = new EnsembleDynamicScheduler(cloudsim, environment);
        engine = new WorkflowEngine(provisioner, scheduler, Double.MAX_VALUE, Double.MAX_VALUE, cloudsim, environment);
        cloud = new Cloud(cloudsim);
        provisioner.setCloud(cloud);
        cloud.addVMListener(engine);

        jobLog = new WorkflowLog(cloudsim);
        engine.addJobListener(jobLog);
    }

    // ??ds this is part of provisioner really