Class ProceduralCreationGoal
java.lang.Object
gov.nasa.jpl.aerie.scheduler.goals.Goal
gov.nasa.jpl.aerie.scheduler.goals.ActivityExistentialGoal
gov.nasa.jpl.aerie.scheduler.goals.ProceduralCreationGoal
describes the desired existence of a set of externally generated activities
procedural goals use some outside code to determine what activity instances
should exist in the plan
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classthe builder can construct goals piecemeal via a series of method calls -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Function<Plan, Collection<SchedulingActivity>> specifies the procedure used to generate desired activities the procedure takes as input the "current" partial plan as of the execution of this goal's satisfaction and produces a list of activity instances that must exist to satisfy this goal.Fields inherited from class gov.nasa.jpl.aerie.scheduler.goals.ActivityExistentialGoal
childCustodyFields inherited from class gov.nasa.jpl.aerie.scheduler.goals.Goal
name, planHorizon, resourceConstraints, simulateAfter, temporalContext -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedctor creates an empty goal without details client code should use builders to instance goals -
Method Summary
Modifier and TypeMethodDescriptiongetConflicts(Plan plan, gov.nasa.jpl.aerie.constraints.model.SimulationResults simulationResults, gov.nasa.jpl.aerie.constraints.model.EvaluationEnvironment evaluationEnvironment, gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel schedulerModel) identifies issues in a plan that diminishes this goal's satisfaction the method must return the same issues in the same order given the same input plan, but they need not be otherwise sorted an empty return list indicates that no issues could be identified in the plan that this goal would care to improve uponMethods inherited from class gov.nasa.jpl.aerie.scheduler.goals.ActivityExistentialGoal
getChildCustodyMethods inherited from class gov.nasa.jpl.aerie.scheduler.goals.Goal
extractResources, getName, getResourceConstraints, getTemporalContext, setTemporalContext, shouldRollbackIfUnsatisfied
-
Field Details
-
generator
specifies the procedure used to generate desired activities the procedure takes as input the "current" partial plan as of the execution of this goal's satisfaction and produces a list of activity instances that must exist to satisfy this goal. the activities are not immediately inserted in the plan. partial satisfaction is possible, using the heuristic that more matching activities is always preferable to fewer. individual instances must match exactly (all arguments) the procedure may recommend creation of a list of activities all at once, or may make repeated incremental recommendations for single additional activities at a time for now, the procedure should be a pure function and not have any internal state that could produce variant results on re-invocation with different hypothetical inputs
-
-
Constructor Details
-
ProceduralCreationGoal
protected ProceduralCreationGoal()ctor creates an empty goal without details client code should use builders to instance goals
-
-
Method Details
-
getConflicts
public Collection<Conflict> getConflicts(Plan plan, gov.nasa.jpl.aerie.constraints.model.SimulationResults simulationResults, gov.nasa.jpl.aerie.constraints.model.EvaluationEnvironment evaluationEnvironment, gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel schedulerModel) identifies issues in a plan that diminishes this goal's satisfaction the method must return the same issues in the same order given the same input plan, but they need not be otherwise sorted an empty return list indicates that no issues could be identified in the plan that this goal would care to improve upon collects conflicts where the external procedural generator would like to create an activity instance but an exactly matching one does not exist in the plan (and should probably be created). The matching is strict: all arguments must be identical.- Overrides:
getConflictsin classGoal- Parameters:
plan- IN: the plan that this goal should be evaluated againstsimulationResults-- Returns:
- a list of issues in the plan that diminish goal satisfaction
-