The message interface allows Prodigy to formulate a plan and pass that plan to
DiTops for scheduling. Included with the plan is a list of constraints between
the plan's actions. These constraints with the plan-steps provide DiTops with a
partial order form of the plan with only required dependencies
represented. This allows DiTops to schedule the parallel execution of the
non-dependent steps. When DiTops can schedule the plan's timely execution
(achieved by due date), no further effort is required. However, when DiTops
cannot schedule the plan's timely execution either some recovery method needs
to be applied, or the plan (and perhaps the initial goals) should be discarded
as infeasible. The rest of this section describes recovery
methods. Section
describes infeasible
goals and how representing them might be worthwhile.
This section takes the stance that recovering from scheduling failure is a planning activity. Though current schedulers can recover from some scheduling failures, their recovery procedures are viewed as simply cached recovery plans. Representing all recovery procedures as plans gives a uniform description methodology to the procedures. Allowing some cached recovery plans to exist in the scheduler can give a great performance boost.