public class SimQueuePredictor_EncHS extends AbstractSimQueuePredictor_Composite_Enc<EncHS> implements SimQueuePredictor<EncHS>
SimQueuePredictor for EncHS.Copyright (C) 2005-2017 Jan de Jongh, TNO
This file is covered by the LICENSE file in the root of this project.
AbstractSimQueuePredictor_Composite.SubQueueSimpleEventsubQueuePredictorsubQueuePredictors| Constructor and Description |
|---|
SimQueuePredictor_EncHS(AbstractSimQueuePredictor encQueuePredictor) |
checkSubQueueVisitLogsSet, createQueueState, departJobs, dropJobs, getNextQueueEventTimeBeyond, revokeJobs, startJobs, updateToTimeis_ROEL_U_UnderWorkloadQueueEventClashes, is_U_UnderWorkloadQueueEventClashesclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitmatchVisitLogs_SQ_SVcreateQueueState, createWorkloadSchedule_SQ_SV_ROEL_U, createWorkloadSchedule_SQ_SV, doWorkloadEvents_SQ_SV, getNextQueueEventTimeBeyond, updateToTimehasServerAccessCredits, isQueueAccessVacationpublic SimQueuePredictor_EncHS(AbstractSimQueuePredictor encQueuePredictor)
public boolean isStartArmed(EncHS queue, SimQueueState<SimJob,EncHS> queueState)
SimQueueStatePredictorStartArmed on given queue.isStartArmed in interface SimQueueStatePredictor<EncHS>queue - The queue.queueState - The queue state, non-null.StartArmed at given queue.public SimQueuePrediction_SQ_SV predict_SQ_SV_ROEL_U(EncHS queue, Set<SimJQEvent> queueEvents) throws SimQueuePredictionException
AbstractSimQueuePredictorSimQueuePredictor.predict_SQ_SV_ROEL_U(Q, java.util.Set<org.javades.jqueues.r5.entity.jq.SimJQEvent>).
The implementation uses a SimQueueState and a WorkloadSchedule_SQ_SV_ROEL_U as representations for
the queue state and the workload state, respectively, and relies on abstract (or default) methods for
the behavior of the specific queue type:
SimQueueEventPredictor.createWorkloadSchedule_SQ_SV_ROEL_U(Q, java.util.Set<org.javades.jqueues.r5.entity.jq.SimJQEvent>) for the creation of a, possibly queue-type specific,
WorkloadSchedule_SQ_SV_ROEL_U from the workload events,
SimQueueEventPredictor.createQueueState(Q, boolean) for the creation of a, possibly queue-type specific, SimQueueState,
AbstractSimQueuePredictor.is_ROEL_U_UnderWorkloadQueueEventClashes(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, org.javades.jqueues.r5.util.predictor.workload.WorkloadSchedule_SQ_SV_ROEL_U, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>),
SimQueueEventPredictor.getNextQueueEventTimeBeyond(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>) for determining the scheduled time and type(s) of the next queue-state event(s),
SimQueueEventPredictor.updateToTime(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState, double) for progressing time on the queue state without processing events,
SimQueueEventPredictor.doWorkloadEvents_SQ_SV_ROEL_U(Q, org.javades.jqueues.r5.util.predictor.workload.WorkloadSchedule_SQ_SV_ROEL_U, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>, java.util.Set<org.javades.jqueues.r5.entity.jq.job.visitslogging.JobQueueVisitLog<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>>) for the processing of the next workload events (like scheduled arrivals),
SimQueueEventPredictor.doQueueEvents_SQ_SV_ROEL_U(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>, java.util.Set<org.javades.jqueues.r5.entity.jq.job.visitslogging.JobQueueVisitLog<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>>) for the processing of the next queue events (like scheduled departures).
Note that the implementation actually updates the SimQueueState object,
but leaves the WorkloadSchedule_SQ_SV_ROEL_U object untouched.
predict_SQ_SV_ROEL_U in interface SimQueuePredictor<EncHS>predict_SQ_SV_ROEL_U in class AbstractSimQueuePredictor<EncHS>queue - The queue, non-null.queueEvents - The workload events; events related to other queues are allowed and are to be ignored.SimQueuePredictionException - If a prediction is (e.g.) too complex to generate
(SimQueuePredictionComplexityException),
if invalid input has been supplied to the predictor
(SimQueuePredictionInvalidInputException),
or if a unique prediction cannot be generated
(SimQueuePredictionAmbiguityException).WorkloadSchedule.getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>)public SimQueuePrediction_SQ_SV predict_SQ_SV_IOEL_U(EncHS queue, NavigableMap<Double,Set<SimJQEvent>> workloadEventsMap, NavigableMap<Double,Set<SimJQEvent>> processedEventsMap) throws SimQueuePredictionException
AbstractSimQueuePredictorSimQueuePredictor.predict_SQ_SV_IOEL_U(Q, java.util.NavigableMap<java.lang.Double, java.util.Set<org.javades.jqueues.r5.entity.jq.SimJQEvent>>, java.util.NavigableMap<java.lang.Double, java.util.Set<org.javades.jqueues.r5.entity.jq.SimJQEvent>>).
The implementation uses a SimQueueState and a WorkloadSchedule_SQ_SV_ROEL_U as representations for
the queue state and the workload state, respectively, and relies on abstract (or default) methods for
the behavior of the specific queue type:
SimQueueEventPredictor.createWorkloadSchedule_SQ_SV(Q, java.util.Map<java.lang.Double, java.util.Set<org.javades.jqueues.r5.entity.jq.SimJQEvent>>) for the creation of a, possibly queue-type specific,
WorkloadSchedule_SQ_SV from the workload events,
SimQueueEventPredictor.createQueueState(Q, boolean) for the creation of a, possibly queue-type specific, SimQueueState,
AbstractSimQueuePredictor.is_U_UnderWorkloadQueueEventClashes(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, org.javades.jqueues.r5.util.predictor.workload.WorkloadSchedule_SQ_SV, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>),
SimQueueEventPredictor.getNextQueueEventTimeBeyond(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>) for determining the scheduled time and type(s) of the next queue-state event(s),
SimQueueEventPredictor.updateToTime(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState, double) for progressing time on the queue state without processing events,
SimQueueEventPredictor.doWorkloadEvents_SQ_SV(Q, org.javades.jqueues.r5.util.predictor.workload.WorkloadSchedule_SQ_SV, org.javades.jqueues.r5.util.predictor.state.SimQueueState, java.util.Set<org.javades.jqueues.r5.entity.jq.job.visitslogging.JobQueueVisitLog<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>>) for the processing of the next workload events (like scheduled arrivals),
SimQueueEventPredictor.doQueueEvents_SQ_SV_ROEL_U(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>, java.util.Set<org.javades.jqueues.r5.entity.jq.job.visitslogging.JobQueueVisitLog<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>>) for the processing of the next queue events (like scheduled departures).
Note that the implementation actually updates the SimQueueState object,
but leaves the WorkloadSchedule_SQ_SV object untouched.
predict_SQ_SV_IOEL_U in interface SimQueuePredictor<EncHS>predict_SQ_SV_IOEL_U in class AbstractSimQueuePredictor<EncHS>queue - The queue, non-null.workloadEventsMap - The workload events as a map from event time onto the
(ordered!) set of events occurring at that time;
events related to other queues are allowed and are to be ignored.processedEventsMap - An optional map in which all events processed at the queue (including workload events)
are stored unambiguously; the events in a value set are in processing ordered
(you can use this to resolve ambiguities in the visit logs like equal departure times).SimQueuePredictionException - If a prediction is (e.g.) too complex to generate
(SimQueuePredictionComplexityException),
if invalid input has been supplied to the predictor
(SimQueuePredictionInvalidInputException),
or if a unique prediction cannot be generated
(SimQueuePredictionAmbiguityException).WorkloadSchedule.getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>)public void doWorkloadEvents_SQ_SV_ROEL_U(EncHS queue, WorkloadSchedule_SQ_SV_ROEL_U workloadSchedule, SimQueueState<SimJob,EncHS> queueState, Set<SimEntitySimpleEventType.Member> workloadEventTypes, Set<JobQueueVisitLog<SimJob,EncHS>> visitLogsSet) throws SimQueuePredictionException, WorkloadScheduleException
SimQueueEventPredictorWorkloadSchedule at a queue with given state.
The scheduled time and the types of the next events must be known beforehand,
e.g., through WorkloadSchedule.getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>).
The scheduled time has already been set on the SimQueueState object,
and the object has been updated upto that time.
The time on the queue state must not be changed.
Implementations must update the queue state and (if applicable) add suitable entries to the visit logs.
Implementations must not modify the workload schedule.
doWorkloadEvents_SQ_SV_ROEL_U in interface SimQueueEventPredictor<EncHS>doWorkloadEvents_SQ_SV_ROEL_U in class AbstractSimQueuePredictor_Composite_Enc<EncHS>queue - The queue, non-null.workloadSchedule - The workload schedule, non-null.queueState - The queue-state, non-null.workloadEventTypes - The (pre-calculated) types of the next workload event(s).visitLogsSet - The visit logs, non-null.SimQueuePredictionException - If the result cannot be computed, e.g., due to invalid input or schedule ambiguities.WorkloadScheduleException - If the workload is invalid (e.g., containing ambiguities).WorkloadSchedule.getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>),
SimQueueEventPredictor.updateToTime(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState, double),
SimQueueState.setTime(double)public void doQueueEvents_SQ_SV_ROEL_U(EncHS queue, SimQueueState<SimJob,EncHS> queueState, Set<SimEntitySimpleEventType.Member> queueEventTypes, Set<JobQueueVisitLog<SimJob,EncHS>> visitLogsSet) throws SimQueuePredictionException
SimQueueEventPredictor
The scheduled time and the types of the next events must be known beforehand,
e.g., through SimQueueEventPredictor.getNextQueueEventTimeBeyond(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>).
The scheduled time has already been set on the SimQueueState object,
and the object has been updated upto that time.
The time on the queue state must not be changed.
Implementations must update the queue state and (if applicable) add suitable entries to the visit logs.
doQueueEvents_SQ_SV_ROEL_U in interface SimQueueEventPredictor<EncHS>doQueueEvents_SQ_SV_ROEL_U in class AbstractSimQueuePredictor_Composite_Enc<EncHS>queue - The queue, non-null.queueState - The queue-state, non-nullqueueEventTypes - The (pre-calculated) types of the next workload event(s).visitLogsSet - The visit logs, non-null.SimQueuePredictionException - If the result cannot be computed, e.g., due to invalid input or schedule ambiguities.SimQueueEventPredictor.getNextQueueEventTimeBeyond(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>),
SimQueueEventPredictor.updateToTime(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState, double),
SimQueueState.setTime(double)Copyright © 2018. All rights reserved.