These features are not provided by any existing
single planner. We present a novel plan representa-
tion which addresses these requirements by drawing
upon the existing commercial scheduler representa-
tions. The representation describes the plan as a dy-
namical system which in conjunction with the exter-
nal world evolves/runs according to a simple dynam-
ics. We describe an action logic for reasoning about
this dynamical system which provides both forwards
temporal projection inferences and means end based
inferences to support partial order contingent plan-
ning. We outline the operation of an implemented
planner using this logic on two key examples from
the domain to demonstrate how it builds the plan in
such a way that so that the combined plan and world
state evolve into a goal state on all contingencies.
2 COMPUTER BATCH JOB
ENVIRONMENTS
2.1 Commercial Schedulers
Automated schedulers (ComputerAssociates, 2002),
(UC4, 2008) exist which allow job schedules and de-
pendencies to be defined. A job is run once its sched-
uled time (if defined) is reached and its start condi-
tions become true, e.g. the start conditions for a batch
jobC might be:
success(jobA) and not running (jobB)
This job will run as soon as jobA is in success
state (i.e. has completed with a nominal process exit
status) and jobB is not in the running state. Such
schedulers employ an event processor which given a
set of job definitions constantly checks to see if any
jobs are ready for execution.
2.2 Illustrative Example Scenarios
The following example scenarios from a case study
conducted on a real world production computer envi-
ronment demonstrate some of the key features of this
domain:
• A report script generates a report for a given date
by processing an input file. The input file is only
received after it has been generated by an exoge-
nous external event. The report generation takes
a variable amount of time and must be monitored
for completion. Once the report is generated the
report file is ftped to a remote server for use by
an external job. This examples demonstrates the
need for reasoning about exogenous events, trig-
gered events and action execution and monitoring
of durative actions.
• A database error must be repaired, where the er-
ror value can be 1 or 2. To check for internal
database errors a test script checkDb can be run
which takes as an argument the error condition e
it is checking for and outputs True if the database
has that error or False if it doesn’t. There is also
a repairDB script which takes as an argument an
error number e and repairs that error condition (or
does nothing if the database does not have that
condition). Using these scripts, in the event that
a job which accesses the database fails, the error
condition may be determined using the checkDb
script and once the error number is determined the
repairDB script can be called with this error num-
ber to repair the error condition.
This example demonstrates the need for con-
tingent planning, handling of merging of plan
branches and planning for knowledge goals.
2.3 Existing Planner Applicability
There is an enormous range of existing planners with
a broad range of capabilities. Any planner suitable
for this domain must be able to handle the open world
assumption i.e. it must be a contingent planner able
to produce plans whose execution is conditional upon
observations made at execution time. Planners such
as Puccini (Golden, 1998), PKS (Petrick and Bac-
chus, 2002) , GPT (Bonet and Geffner, 2001), MBP
(Bertoli et al., 2001), CC-Golog (Grosskreutz and
Lakemeyer, 2000), C-Buridan (Draper et al., 1994)
are all able to plan in an open world and all except
for Puccini perform contingent reasoning. However
these planners are unable to handle the other require-
ments - Puccini, PKS, MBP, GPT, MBP are all linear
planners - they don’t employ partial order based rea-
soning and hence are unable to reason about actions of
varying durations. All of the planners except GPT use
a branching tree plan representation where each time
an observation is made and an action is predicated on
that observation a branch is introduced into the plan,
with no remerging of the plan branches - which can
lead to combinatorial explosion in plan size. GPT
uses a more compact plan representation as an MDP
policy which is a mapping from planner belief states
to actions.
None of the planners (except CC-Golog which has
a high level while, dowait language construct ) in-
clude action monitoring in the plan representation.
ICAART 2010 - 2nd International Conference on Agents and Artificial Intelligence
278