/**
  * Processes a finished cloudlet.
  *
  * @param rcl finished cloudlet
  * @pre rgl != $null
  * @post $none
  */
 @Override
 public void cloudletFinish(ResCloudlet rcl) {
   rcl.setCloudletStatus(Cloudlet.SUCCESS);
   rcl.finalizeCloudlet();
   getCloudletFinishedList().add(rcl);
   usedPes -= rcl.getNumberOfPes();
 }
 /**
  * Returns one cloudlet to migrate to another vm.
  *
  * @return one running cloudlet
  * @pre $none
  * @post $none
  */
 @Override
 public Cloudlet migrateCloudlet() {
   ResCloudlet rcl = getCloudletExecList().remove(0);
   rcl.finalizeCloudlet();
   Cloudlet cl = rcl.getCloudlet();
   usedPes -= cl.getNumberOfPes();
   return cl;
 }