Scheduling in dynamic environments
Much of the work in the area of automated scheduling systems is based on the assumption that the intended execution environment is static and deterministic. The work presented in this thesis is motivated by recognition of the fact that most real world scheduling environments are dynamic and stochastic. It views the scheduling task as one of satisfaction rather than optimisation, and maintenance over creation. This thesis reviews existing work in the area and identifies an opportunity to combine recent advances in scheduling technology with the power of distributed processing. Within a suitable problem-solving architecture it is argued that this combination can help to address the fundamental problems of execudonal uncertainty, conflicting objectives and combinatorial complexity. A scheduling system, DAS, which employs such a problem-solving architecture, is presented. It is distributed, asynchronous and hierarchical, and requires careful management of problem-solving effort. DAS adopts an opportunistic approach to problem-solving and the management of problem-solving effort. The mechanisms which manage problem-solving effort within DAS are also presented. In conclusion it is argued that the architecture and mechanisms presented lend themselves very well to the view taken of the scheduling task.