0% found this document useful (0 votes)
24 views20 pages

An Ai Planning Based Tool For Scheduling Satellite Nominal Lh1ajfjp44

Uploaded by

Ahmed Atef
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views20 pages

An Ai Planning Based Tool For Scheduling Satellite Nominal Lh1ajfjp44

Uploaded by

Ahmed Atef
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

AI Magazine Volume 25 N umber 4 (2004) (© AAAI)

Articles

An AI Planning-based
Tool for Scheduling
Satellite Nominal
Operations
Maria Dolores Rodríguez-Moreno, Daniel Borrajo, and Daniel Meziat

■ Satellite domains are becoming a fashionable area (Bensana, Lemaitre, and Verfaillie 1999; Dun-
of research within the AI community due to the gan et al. 2001; Johnston 1994; Rabideau et al.
complexity of the problems that satellite domains 2000).2 To solve problems in any of these do-
need to solve. With the current U.S. and European mains, we need to represent the information
focus on launching satellites for communication,
necessary for efficiently finding good solu-
broadcasting, or localization tasks, among others,
the automatic control of these machines becomes
tions. Real domains require a rich representa-
an important problem. Many new techniques in tion formalism to be able to handle activities,
both the planning and scheduling fields have been time, and resource constraints. Several lan-
applied successfully, but still much work is left to guages have been defined in the AI planning
be done for reliable autonomous architectures. and scheduling community. The PDDL2.2 lan-
The purpose of this article is to present CONSAT, a guage (Edelkamp and Hoffmann 2004) is be-
real application that plans and schedules the per- coming a standard in the planning field for
formance of nominal operations in four satellites representing domains and problems. Although
during the course of a year for a commercial Span- PDDL2.2 and other predecessor planning lan-
ish satellite company, HISPASAT. For this task, we guages can be used to represent this type of re-
have used an AI domain-independent planner that
al problem, in many cases some assumptions
solves the planning and scheduling problems in
the HISPASAT domain thanks to its capability of
have to be made, and in some cases the prob-
representing and handling continuous variables, lem must be reduced.
coding functions to obtain the operators’ variable Traditionally, these problems were solved
values, and the use of control rules to prune the using methods that belong to either planning
search. We also abstract the approach in order to or scheduling. On one hand, deliberative plan-
generalize it to other domains that need an inte- ners embody powerful techniques for reason-
grated approach to planning and scheduling. ing about actions and their effects (Allen,
Hendler, and Tate 1990). They try to find plans
to achieve a set of goals from an initial state
and are good at finding precedences among ac-
tivities, but they are limited at resource or time

C
omplex real-world tasks usually require reasoning.
the combination or integration of tools On the other hand, scheduling systems allo-
and techniques from two well-known cate available resources to known activities
fields—planning and scheduling (Smith, over time to produce schedules that respect
Frank, and Jónsson 2000). An example of such temporal relations and resource capacity
a task is workflow applications, which require (Cheng and Smith 1995; Tate, Drabble, and Kir-
the generation of sequences of activities that by 1994). They are good at optimizing and as-
define a process in an organization and the as- signing time and resources to activities, but
signment of resources (human or material) to they require knowledge about ordered relations
these activities (Myers and Berry 1999, R- among the activities. They can optimize a set of
Moreno and Kearney 2002).1 Other examples objectives, such as minimizing makespan, min-
are building aircraft (Drabble, McVey, and imizing work to be done, maximizing resource
Clements 2000) and space mission control allocation, or minimizing cycle time.

Copyright © 2004, American Association for Artificial Intelligence. All rights reserved. 0738-4602-2002 / $2.00 WINTER 2004 9
Articles

Depending on the complexity of the prob- Planning and Scheduling:


lem, solutions to some problems may require a
strict separation between planning and sched- PRODIGY
uling. A simple approach to doing this is to ap- The planner we use to schedule the HISPASAT
ply a scheduler to the output of the planner to operations is PRODIGY (Veloso et al. 1995), an
assign resources and time to each activity (Ces- integrated architecture that has been used in a
ta and Pecora 2003). But in other cases there is wide variety of domains. The problem solver is
an indirect temporal and resource dependency a nonlinear planner that uses a bidirectional
with other states and goals that cannot be tak- means-ends analysis search procedure with full
en into account if we separate the two tasks subgoal interleaving (Carbonell et al. 1992).
(Garrido and Barber 2001). The simple ap- The planning process starts from goals and
proach is weak if the scheduler fails to find a so- adds operators to the plan until all goals are
lution: if the planner does not receive any feed- satisfied. Although it does not use a language
back from the scheduler, the planner can with an explicit representation of resources or
generate expensive and unsatisfactory so- temporal information, it is able to handle some
lutions. scheduling reasoning thanks to its capability to
One way of integrating both tasks within the (1) represent infinite types (numeric variables),
same tool consists of adding representational which are needed to represent information
and reasoning capabilities to the planner for about time and resources; (2) define functions
the resource and temporal information. This that obtain the values of variables in precondi-
has been done in systems such as IxTeT (Ghal- tions of operators so that values can be con-
lab and Laruelle 1994), HSTS (Muscettola and strained; and (3) use control rules (heuristics)
Smith 1997), RealPlan (Srivastava, Kambham- to prune the search, which makes the overall
pati, and Do 2001), and IPSS (R-Moreno, Oddi, problem-solving process efficient. Figure 1
Borrajo, Cesta, and Meziat 2004). In this article, shows the types of knowledge needed by the
we explore the possibility of using a nonlinear planner.
domain-independent planner—PRODIGY (Ve- The reasons we chose this particular planner
loso et al. 1995)—and study the possibility of are manifold. Among them, we can highlight
using it directly for generating solutions to definition and handling of quality metrics, ex-
problems requiring both planning and schedul- plicit definition of control rules, flexibility to
ing. PRODIGY does not have an explicit model define new search behaviors, and explicit ratio-
of time representation or a declarative way for nale of search decisions made through the ex-
specifying resource requirements or consump- pansion of the search tree. The domain theory
tion. However, thanks to its capability of repre- contains all the actions represented by opera-
senting and handling continuous variables, tors. The language for describing PRODIGY do-
coding functions to obtain the values of the main theory, called PDL4.0 (Carbonell et al.
variables, and the use of control rules to prune 1992), is based on an augmentation of the
the search, we have successfully integrated STRIPS representation originally proposed by
planning and scheduling in the satellite control Richard Fikes and Nils Nilsson (Files and Nils-
domain. Satellite control needs to integrate son 1971). In the STRIPS representation, a
planning (there are implicit precedence rela- world state is represented by a conjunction of
tions among operations in the domain descrip- grounded literals that are true on that state. An
tion) and scheduling (for instance, the fuel operator consists of preconditions (conditions
tanks to use should be specified for some oper- that must be true to execute the action), and
ations) to set up nominal operations that must postconditions or effects (composed of an add
be performed on the satellites during the year. list and a delete list). The add list specifies the
Our article is structured as follows. In the set of literals that are true in the resulting state
next section, we describe the features of the after applying the operators, while the delete
planner. The “Satellite Maintenance Opera- list specifies the set of literals that are no longer
tions” and “Scheduling Knowledge in the Plan- true after the execution of the action. Because
ning Domain” sections introduce the type of this representation is quite restrictive, it has
operations on satellites that have to be per- been extended with disjunctive preconditions,
formed during the year and the knowledge rep- conditional effects, and universally quantified
resented in the planner. The section on the preconditions and effects (Carbonell et al.
CONSAT tool presents the tool’s functionality 1992) resulting in a similar language to ADL
and the modules that integrate it. We then (Pednault 1989).
show some experimental results and, finally, Figure 2 shows an example of an operator in
describe related work and draw some conclu- the PDL4.0 syntax in the HISPASAT domain.
sions. The operator represents the action that main-

10 AI MAGAZINE
Articles

Functions

Domain
Description
Final
PRODIGY Plan

Problem
Description

Control
Rules

Figure 1. The Inputs and Output of the PRODIGY Planner.

tains the satellite’s sensor position. It is per- ators. The obtained plan does not consider any
formed during the spring and autumn optimization with respect to resource use or
equinoxes. availability, given that for the HISPASAT do-
The symbols within the angle brackets (< >) main it is enough to find a plan. Any schedule
are variables that are instantiated during prob- that fulfils the temporal and resource con-
lem solving. This operator has two precondi- straints is a valid one. However, the planner
tions: (equinox-spring <d>) and (no-maneuver <s> could plan for good-quality solutions accord-
<t> <d0>) and just one add effect (ires-transi- ing to some criteria using the QPRODIGY ver-
tioned <s>). As the variables <d> and <d0> are sion described by Daniel Borrajo, Sira Vegas,
numbers, we need to use the gen-from-pred and Manuela Veloso (2001).
PRODIGY function to constrain the values that When there is more than one decision to be
the numeric variable DATE can have. The gen- made at a search decision point, the third input
from-pred function generates a list of values to
to the planner—the control knowledge (declar-
be possible bindings for the corresponding
atively expressed as control rules)—can guide
variable by using the information of the cur-
the problem solver to the correct branch of the
rent state referred to as the no-maneuver and
search tree. Other planners such as TALplanner
equinox-spring literals. That is, this function
(Kvarnstrom and Doherty 2001) have followed
permits encoding the functions d0 = no-maneu-
ver(s, t) and d = equinox-spring(d0). a similar approach, although they use a less de-
The second input to the planner is the prob- clarative definition of control knowledge ex-
lem to be solved, described in terms of an ini- pressed in a form of temporal logic. There are
tial state and a set of goals to be achieved. As a three types of rules: selection, preference, and
result, PRODIGY generates a plan with the se- rejection. One can use the rules to choose an
quence of operators that achieves a state (from operator, a binding, or a goal or to decide
the initial state) that satisfies the goals. More whether to apply an operator or continue sub-
importantly, given that we represent some goaling. Figure 3 shows an example of a con-
temporal and resource information and con- trol rule to select a binding. From all the batter-
straints within the operators, the plan that ies that can be used for reconditioning, this
PRODIGY generates also takes into considera- control rule selects the battery that is currently
tion the temporal constraints among the oper- unloaded.

WINTER 2004 11
Articles

The operations must be executed according to


a rigid timetable: every two weeks (on Monday
(OPERATOR IRES-TRANSITION
(preconds
or Tuesday depending if it is summer or winter)
((<s> SATELLITE) in a specific hour, which is given by an external
(<t> TIMES) software tool. These operations can be moved
(<d0> (and DATE (gen-from-pred (no-maneuver <s> <t> <d0>)))) ahead only if interference (by the sun or by the
(<d> (and DATE (gen-from-pred (equinox-spring <d>)))))
(and (no-manoeuvre <s> <t> <d0>)
moon) occurs. Interference causes incorrect
(equinox-spring <d>))) measurment of the satellite orbit, so the sen-
(effects sors affected by interference must be masked
((add (ires-transitioned <s> ))))) using adequate operations. Once these opera-
tions are scheduled, the operations related to
the use of tanks or batteries are set, always in
Figure 2. An Example of a PRODIGY Operator in the HISPASAT Domain. weeks without maneuvers.
Finally there is a small set of operations that
depend only on the last time they were
(Control-rule SELECT-BATTERY performed. In these cases, just the data of the
(if (and (current-goal (loaded-battery <s> <batt>)) last operation of their same type is needed.
(current-ops (BATTERY-RECONDITIONING)) We have used six ways of eliciting the
(true-in-state (unloaded-battery <s> <batt1>))))
knowledge that we describe in more detail later
(then select bindings ((<batt> . <batt1>))))
in this article: (1) standard written sources, (2)
open interviews, (3) structured interviews, (4)
questionnaires, (5) the documentation generat-
Figure 3. A Control Rule Example that Decides What Battery to Use. ed for each satellite in previous years, and (6)
the satellite operations manuals.

Operators
The first step for defining the domain consists
Satellite of identifying the operators and the types of
Maintenance Operations objects that are needed in the domain (for de-
This section provides an overview of the HIS- claring the type of each operator variable).
PASAT ground-scheduling operations for its Types can be defined and structured in a hier-
four satellites. HISPASAT is a Spanish multimis- archy. A special kind of type, the infinite type,
sion system in charge of satisfying national can be used to represent variables with contin-
communication needs. It also supplies capacity uous values, while finite standard types repre-
for digital TV in Europe, America, and North sent nominal types.
Africa; TV image, radio, and other signals; and In our domain, we have, among others, the
special communications for defence purposes. following types: SATELLITE TIME, PERCENT-
It is the first European satellite system to offer AGE, DIRECTION, and DATE. Variables of type
transatlantic capacity for simultaneous cover- SATELLITE instantiate to one of the available
age between South and North America. satellites. DIRECTION can have the values
Every maintenance operation in orbit must north or south. TIMES and PERCENTAGE
have explicit engineering instructions. These could have been defined as numbers, but we
instructions provide a guide for technicians to have chosen to declare them as discrete vari-
consider the work accomplished. The opera- ables because under our domain formalization
tions engineering group generates this docu- only a finite number of values for them are
mentation every year by hand and on paper. considered. Finally, DATE is represented as an
Later, this documentation is revised and veri- infinite type. Figure 4 depicts one of the hun-
fied. dred operators that have been implemented in
Due to the increasing number of satellites the HISPASAT domain—the South-Maneuver op-
(there are now five, 1A, 1B, 1C, 1D, and Ama- erator, in charge of computing the date when
zonas, and one planned for the future, called the operation can be performed, keeping in
1E), a program that generates and validates the mind that moon blindings (represented by the
schedule of operations for engineering support moon-blinding predicate) cannot interfere
was needed. (within three hours) with the expected South-
In the HISPASAT domain, a special type of Maneuver date. If interference occurs, the oper-
operation—the maneuver operation—plays an ation will be moved ahead by 24 hours.
important role in the scheduling of the rest of The PRODIGY gen-from-pred function gener-
the operations. Maneuver operations are used ates a list of values to be possible bindings for
to correctly position the satellite in its orbit. the corresponding variable by using the infor-

12 AI MAGAZINE
Articles

(OPERATOR SOUTH-MANEUVER
(preconds
((<s> SATELLITE)
(<t> TIMES)
(<t1> TIMES)
(<p> PERCENTAGE)
(<n> DIRECTION)
(<d> (and DATE (gen-from-pred (moon-blinding-start <s> <d> <n> <p> <t1>))))
(<p1> (and PERCENTAGE (over-n <d> greater 40)))
(<d1> (and DATE (Is-South-Maneuver <d> 3 hours 3 hours)))
(<start-time> (and DATE (Calculate-start-time <d1> 24 hours)))
(<end-time> (and DATE (Calculate-end-time <start-time> 3 hours))))
(south-maneuver <s> <t> <d1>))
(effects
((add (south-m <s> <t>))
(add (south-man <s> <t> <start-time>)))))

Figure 4. Operator Corresponding to the South-Maneuver Task of Table 1.

mation of the current state. In this particular the start time and the duration—three hours in
case we use it to generate all the values that the this case. The <end-time> variable is computed
numeric variable DATE can have. DATE repre- here just to show how to do it when needed to
sents seconds, since 1900, in GMT. (We used describe temporal constraints to other opera-
Common Lisp as the programming language tors.
for functions because PRODIGY is written in We have defined a similar function, add-
Lisp and this is the way Common Lisp handles time, that adds some time to a date and also
time.) The reason to use this format is for effi- helps to define temporal constraints among
ciency: it is faster to generate the bindings of the operators as preconditions of them.
one date variable instead of generating values There is only one precondition for the oper-
for the six usual time-dependent variables (cor- ator: (south-maneuver <s> <t> <d1>), the date
responding to the year, month, day, hours, when the South-Maneuver is expected to be per-
minutes, and seconds). Also, GMT is the refer- formed (part of the initial state, as shown in
ence zone time for HISPASAT. Other similar ap- figure 6).
proaches fix the starting point of the computa- The operator has two effects that belong to
tion, call it time zero, and schedule all the the add list; the predicates south-m (the goal
activities from that point (Muscettola 1994; that we want to achieve), and south-man,
Tate, Drabble, and Kirby 1994; Vere 1983). which adds to the state the date when the
The remainder of the functions that appear in South-Maneuver must be performed. In case any
figure 4 have been coded for this particular do- interference occurs within three hours, the val-
main. However, since some of them are generic ue of the <start-time> variable matches the val-
for any domain with temporal restrictions, they ue of the expected maneuver, <d1>, moved
can be reused in any such domain, as will be de- ahead 24 hours.
scribed later on. As an example of domain-de- We identified three categories of planned op-
pendent functions, Is-South-Maneuver generates erations, according to the flexibility to sched-
the date of the maneuver (if there is any) that ule them (hard versus soft constraints). The
overlaps within three hours of any moon blind- representation chosen for each type can be eas-
ing. If the blinding intensity is over 40 percent, ily generalized for each planning and schedul-
the maneuver must be moved 24 hours ahead ing domain. The following subsections de-
(the function over-n calculates if the percentage scribe them in more detail.
of the moon blinding is over 40).
As examples of domain-independent func- Operations Driven by External Events
tions, the Calculate-start-time function sub- That Start or End at a Fixed Time
tracts 24 hours from a given date (in this case Some operations, such as moon blindings, sun
the expected maneuver), and Calculate-end- blindings, or eclipses of the sun by the earth or
time calculates the end of the operation from by the moon, depend on external events,

WINTER 2004 13
Articles

Name South-Maneuver possible solutions that the planner will pro-


Description Follows the two weeks keeping cycle, operating the vide; however, as we said before, in this do-
satellite in one of every two weeks main it is enough to generate a feasible solu-
Requirements On Monday or Tuesday at an hour corresponding to tion. After constraining the variables to the
the secular drift. A West and East maneuver must corresponding set of values, the planner is still
follow it able to obtain valid plans.
Constraints It can not be performed with Moon or Sun Blindings Most of the operations in this category are
scheduled to take into consideration the date
Secular drift 16/02/2004 22:47:56
when a South-Maneuver was performed. These
Duration 3 hours
operations are in charge of the correct satellite
Table 1: South-Maneuver Task. orbit positioning, and they are performed
This is a South-Maneuver that will be performed during 2004. If there is a moon every two weeks at a specific time.3 In the ini-
blinding within three hours of the expected maneuver with intensity over 40, the tial state, we define the satellite affected by the
maneuver has to be moved ahead 24 hours. The end time of the task is calculated secular drift and the date and time of the year
by the calculate-end-time function. when the maneuver will be performed. Table 1
shows the features of a South-Maneuver. Given
which constrain when other operations can be that the maneuvers are forbidden during moon
performed. Because these are hard constraints, or sun blindings, they have to be moved ahead
they are represented as preconditions of the op- 24 or 48 hours (in case two moon blindings oc-
erators. Some external (eclipses and blindings) cur on subsequent days) from the secular drift
and seasonal (solstices and equinoxes) events time. The two maneuvers (West-Maneuver and
are foreseen several weeks before the year starts, East-Maneuver) that follow the first one must al-
so they are represented in the initial state of the so be moved ahead the same number of hours.
problem. In the case of external events, one The rest of the operations in this category start
needs to include the affected satellite and the or finish some hours before or after the start or
events’ start and end times. For the seasonal end of the performance of the South-Maneuver.
events, one just needs to represent the start Some operations cannot be performed if a ma-
time of the spring and summer equinoxes and neuver has been scheduled during that week,
winter and autumn solstices. Examples are the while others must be performed during, after,
CHANGE-TO-MODE2/4 and the CONF-ADCS opera- or before maneuvers. Others just have to be
tions performed every time a moon blinding performed N days, weeks, or months since the
occurs or during the sun blinding periods. last time they were performed. Therefore, we
These operations set masks on the upper or had to represent different types of temporal re-
lower position detectors depending on where lations among operators.
the interference occurs (north or south). By do- To represent this knowledge, we needed a
ing so, the satellite does not consider the value problem solver able to express the fact that if a
of these detectors to define its position. Anoth- South-Maneuver is performed during one day of
er example is the CPE-MODE operation per- a week (having in mind moon and sun blind-
formed at the spring and autumn equinoxes, ings), other operations, such as BOOST HEAT-
switching the heaters on or off to compensate ING, which cannot be performed during the
for seasonal changes. As goals, we define the same week but are performed the following
two possible modes (summer and winter) for week, or the CONF-ADCS operation, which
the CPE operator, so the planner generates the must be performed 9 hours after the East-Ma-
appropriate satellite operations in each period. neuver, are affected. This kind of reasoning is
The operations in this first category do not hard to represent in the operator preconditions
force the addition of temporal constraints to and is difficult for most current planners to
an operator’s effects. solve. PRODIGY can solve these problems
thanks to the coded functions that restrict the
Given Strategy Operations value of the BOOST HEATING start-time vari-
Performed at Specific Dates able to the week after the South-Maneuver, as we
Other operations have more flexibility regard- will describe later in the article.
ing when they can be performed, such as ma-
neuvers, localization campaigns, or battery re- Long-Interval Operations
conditioning. Because these operations have Some operations, such as maintaining the
no hard constraints, we have coded functions steerable antenna, have significant scheduling
in the preconditions to guide the planner in flexibility. This operation is performed four
preferring some dates over others, keeping in times a year. To schedule it, we need to know
mind the restrictions imposed by any precon- when the operation was last performed. The
ditions. This decision restricts the number of operations in this group present the softest

14 AI MAGAZINE
Articles

constraints, because they have no other con-


straints with the rest of the operators; the con-
(Control-rule select-tank-NTO1
straints relate just to the same operation.
(if (and (current-goal (swapped <s> <tank>))
For long-interval operations, we need only (current-ops (TANK-SWAPPING))
to represent in the initial state information (true-in-state (swapped <s> NTO3))
about the last time the operation was per- (true-in-state (equinox-au <d>))))
formed in each satellite during the previous (then select bindings ((<tank> . NTO1))))

year. With respect to the goals, we have to in-


troduce the number of executions of each op-
erator during the year (in the preceding exam- Figure 5. Control Rule to Select the Tank NTO1 during the Autumn Equinox.
ple, four times).

Control Rules (state


In the HISPASAT domain, we identified the (and
tanks and the batteries as resources. Control (moon-blinding-start 1B 3282941400 south p-45 t1)
(moon-blinding-end 1B 3282945005 south p-45 t1)
rules can help to assign a given resource, such
(spring-equinox 3257193600)
as a tank, to an operation. Each satellite has (last-antenna-maintenance 1B 3235965395)
four tanks. Any of them could be chosen for ...
the swapping operation, but the recommenda- (south-maneuver 1B t1 3257107800)
(south-maneuver 1B t2 3258317400) ...))
tion of the company that built the satellite is to
(goal
use a given tank during each period of the year. (and
The control rule in figure 5 prunes the search (south-m 1B t1) (south-m 1B t2)... ))
tree and chooses the tank for that period of the
year. It says that if the date is around the au-
tumn equinox, and we can apply the TANK-
SWAPPING operator, then we should select the Figure 6. Some Goals and Initial Conditions for the 1B Satellite.
tank NTO1. The same can be said of the batter- The goals require that the South-Maneuver be performed a given number of times
ies: there are two batteries, BATT1 and BATT2, a year.
that must be charged twice a year before every
eclipse season. So another control rule helps to
choose the battery in the right season.
The definition of this type of state in PDDL2.2
We could have alternatively coded a func-
would require the use of functions, but PDDL2.2
tion to choose the correct tank for the TANK-
cannot handle a case with two or more numeri-
SWAPPING operation in the precondition of
cal variables in the same predicate directly.
the operator. However, specifying this type of
preference as control rules provides more flex- Planning Versus Scheduling
ibility, given that it is easier to decide which
One might wonder why we use a planner when
ones to use at run time, while the domain the-
the problem seems to be a typical scheduling
ory stays general enough.
one: locating different activities that consume
Initial State and Goals some resources in specific time windows. As
For each type of satellite control operation, we we’ve already noted, maneuvers are the main
need to define the set of goals that must be operations. Once they are scheduled, every-
achieved and the initial conditions that must thing else can also be scheduled. But maneuvers
be set up in order to apply them. Figure 6 are scheduled having in mind the atmospheric
shows a small fraction of the initial state, that conditions (blindings and eclipses). These con-
is, all the events that will occur during the year. ditions could be modeled as binary resources
For instance, for moon blindings we need to with a fixed start and end time. Any scheduler
know the satellite affected by the blinding (1B), will try to schedule the maneuvers when these
the date in seconds when it will take place resources are not being used. However, this will
(3282941400 = 1/13/2004 01:10:00), the direc- not be a feasible solution for HISPASAT as ma-
tion (south) and the intensity (45 percent rep- neuvers can be moved only 24 or 48 hours
resented by p-45). ahead, and in the last case, some operations can
Finally, the first chronological appearance of be omitted or scheduled and planned in a dif-
moon blinding is represented by t1, the second ferent way depending on the date that the ma-
by t2, and so on. With respect to the goals, we neuver should be performed. These decisions
need to perform a fixed number of maneuvers are not known a priori, so all activities to be
during the year, which is represented in the scheduled are not known before running the
goals section of the problem. scheduler, and we need some kind of planning.

WINTER 2004 15
Articles

As a summary, this domain needed a prob- the PDL4.0 syntax does. But a durative action
lem solver able to represent and reason about with the features mentioned above can be sub-
state changes, symbolic and temporal relations divided into two STRIPS actions, one for each
among operators, and goals that have to be of the end points of the durative action in case
achieved. Given these constraints, we selected there are no invariant conditions (Long and
a problem solver that is able to handle all this: Fox 2001). If the action specifies invariant con-
PRODIGY. ditions, it is necessary to guarantee their truth
over the interval in order to avoid conflicts. In
PRODIGY this is not a problem due to its serial
Scheduling Knowledge plan nature, but it must be kept in mind in par-
in the Planning Domain tial order plans as shown in Coddington
(2002). On the other hand, PDDL presents
In this section, we provide an overview of the
more restrictions than PDL4.0 in representing
scheduling concepts that we had to face in or-
the Allen primitives because PDDL is not able
der to give a solution to the nominal
operations of HISPASAT using a planner, since to assign values to variables through coded
we needed to represent time information and functions nor to return a set of values within
constraints through the Allen primitives (Allen an interval.
1984). First, we describe the time aspect of the Currently, there is not a standard language
scheduling. Then, we describe some issues with respect to scheduling problems, but the
about resource usage in this domain. wide extended representation as a constraint sat-
isfaction problem (CSP) makes it very easy to
Representation of Time Constraints handle time and resources. Each operator is rep-
The time representation of PRODIGY is a dis- resented with two time points, one for the start
crete model of time, in which all actions are as- time and another for the end time. Each time
sumed to be instantaneous and uninterrupt- point is represented as an interval of possible val-
ible. It does not handle reasoning on parallel ues, so all quantitative and qualitative relations
actions. However, the functions that can be between them can be perfectly represented.
called within the preconditions of the opera- To compare the representations mentioned
tors when assigning values to variables can add above, we have grouped the seven Allen prim-
constraints among and within operators. Using itive relations in five types, and we will show
them, PRODIGY can handle the seven Allen how they are represented (for simplicity, in
primitive relations between temporal intervals PRODIGY and PDDL2.2 we have reduced the
(Allen 1984) and some quantitative relations syntax). We have used the HISPASAT domain-
(Dechter, Meiri, and Pearl 1991; Mieri 1996).4 independent functions that table 2 shows.
PDDL2.1 is also a discrete model of time in There are some functions that return a value
the levels that consider time representation at and others that return a finite number of pos-
level 3 by means of temporal conditions and sible values in an interval, so these types of
the effects of durative actions, although in functions are obviously discrete. But, as many
PDDL2.2 there is a representation of continu- values as one needs can be returned, so, in the
ous time. The specification of pre- and post- end, they can be thought as equivalent in some
conditions, and the fact that invariant condi- practical sense to a continuous representation
tions can be identified, means that it can take at a given granularity level. Also, while in the
into consideration concurrent behavior as long planning notation, a value is assigned, and it is
as another action that accesses a variable at the possible to establish constraints, with infinite
exact point when it is updated by another ac- quantities it is hard to assign a value (commit-
tion is avoided. Conflicts over variables can oc- ment). By contrast, in the CSP representation
cur only at the start and end points of actions. constraints are established much more easily.
In the preconditions, the propositions can be The five categories are explained in the fol-
asserted at the start of the interval (the point lowing paragraphs.
when the action is applied), at the end of the The end time of OperatorA occurs before the
interval (the point when the final effects of the start time of OperatorB within a range of time in
action are asserted), or over the interval from the interval [a, b]. The following Allen relations
the start to the end (invariant over the dura- belong to this type: OperatorA before OperatorB
tion of the action). In the effects, the literal can and OperatorA meets OperatorB (where a = b =
be immediately applied (it happens at the start 0). The elapsed time from the end of OperatorA
of the interval) or delayed (it happens at the can be a value that can be constrained, in the
end of the interval). general case, by an interval [a, b]. The limits
On one hand, this representation provides can be zero or positive numbers. The way this
more expressivity for the domain modeler than can be represented in PRODIGY is shown in

16 AI MAGAZINE
Articles

figure 7 (variables DUR and DUR0 represent the Name Meaning


duration; ELAPSED1 and ELAPSED2 represent add-time-in-interval returns a set of finite possible values
the minimal and maximal values of the inter- <d> ELAPSED1 TIME1 ELAPSED2 TIME2 for the variable <d> in the interval
ELAPSED1 and ELAPSED2 placed to
val [a, b]; and TIME, TIME0, TIME1, and TIME2
the right of the value of variable
represent time units). The function add-time-
<d> according to a given resolution.
in-interval (see table 2) returns a finite set of TIME1 and TIME2 represent time
possible values in that interval. For instance, if units, that is: hours, minutes, sec-
we want to represent that OperatorA is be- onds, etc. ELAPSED1 and ELAPSED2
tween four and five minutes before OperatorB, must be positive numbers.
the call to function add-time-in-interval should del-time-in-interval returns a set of finite possible values
be: (add-time-in-interval <d> 4 minutes 5 min- <d> ELAPSED1 TIME1 ELAPSED2 TIME2 for the variable <d> in the interval
utes), where <d> represents the end time of Op- ELAPSED1 and ELAPSED2 placed to
eratorA. For simplicity we suppose that the the right of the value of variable
start time of OperatorA is given explicitly in <d>. TIME1 and TIME2 represent
time units, that is: hours, minutes,
the initial conditions of the problem by the
seconds, etc. ELAPSED1 and
predicate/function start-A. The representation
ELAPSED2 must be positive
using the CSP notation is shown in figure 8. numbers.
In the case of the PDDL2.2 syntax, we need returns a value that is the sum of
add-time
to declare four functions that represent the the variable <st> plus DUR. TIME
<st> DUR TIME
start and end times of OperatorA and Opera- specifies the time units, so DUR will
torB. By defining them as functions, we can be converted to seconds according
modify their values in the effects and do arith- to the time units passed as a pa-
metic and logical operations in the precondi- rameter.
tions. Figure 9 shows how to represent these del-time returns a value that is the subtrac-
primitives in PDDL2.2. The main difference <st> DUR TIME tion of the variable <st> minus
with the PRODIGY solution is that in the PDDL DUR. TIME specifies the time units,
case, the start time of process B has to be de- so DUR will be converted to seconds
according to the time units passed
fined in the initial state in order to be able to
as a parameter.
test its value in the preconditions of OperatorB.
On the contrary, PRODIGY can wait until Op- Table 2. PRODIGY Domain-Independent Coded Functions to Handle Time.
eratorA is applied to compute when to start ex-
ecution of OperatorB.
The start time of OperatorA is the start time OperatorA
preconds: (<start-time> (start-A <start-time>))
of OperatorB. The following Allen relations be- (<end-time> (add-time <start-time> DUR TIME))
long to this type: OperatorA starts OperatorB effects: (add (finished-A <end-time>))
and OperatorA equals OperatorB. In a case in
which we would like to represent the equals re- OperatorB
preconds: (<d> (finished-A <d>))
lationship, we should also constrain in PRODI- (<start-time> (add-time-in-interval <d>
GY the end time of the operations. Then, the ELAPSED1 TIME1 ELAPSED2 TIME2))
elapsed time from the start of OperatorA to the (<end-time> (add-time <start-time> DUR0 TIME0))
end of the operation can be a value that can be effects: (add (started-B <start-time>))
(add (finished-B <end-time>))
constrained by an interval [a, b] as in the pre-
vious case. The way to represent this is depict-
ed in figure 10, while figure 11 shows the CSP
representation.
Figure 7. A PRODIGY Representation of the
In PDDL2.2 we can impose the same start
A before B and A meets B Allen Primitives.
time in both operations, and the duration of
OperatorB can be greater than the end time of
OperatorA minus ELAPSED2 and less than the estB - lftA <= b
end time of OperatorA plus ELAPSED1. If estB - lftA >= a
ELAPSED2 and ELAPSED1 are equal to zero, the
duration of OperatorB is equal to the duration Figure 8. CSP Representation of A before B and A meets B.
of OperatorA, and then it represents the Oper-
atorA equals OperatorB primitive (figure 12).
The end time of OperatorA is the end time
of OperatorB. The OperatorA finishes Opera-
torB primitive belongs to this category. The
case OperatorA equals OperatorB could have
also been in this category (where a = b = 0). In

WINTER 2004 17
Articles

PRODIGY the start time of OperatorB comput-


(:functions (start-A)
(end-A)
ed from the end of OperatorA can be a value
(start-B) that can be constrained, in the general case, by
(end-B)) an interval [a, b]. The limits can be zero or pos-
itive numbers. The function del-time-in-inter-
(:durative-action OperatorA
:duration (= ?duration DUR)
val (see table 2) returns all possible values in
:condition … that interval. This is represented in figure 13,
:effect (and (at end (assign (end-A) (+ (start-A) DUR))))) and its corresponding CSP representation is
shown in figure 14.
(:durative-action OperatorB
In PDDL, we have to impose the condition
:duration (= ?duration DUR0)
:condition (at start (and (>= (+ (end-A) ELAPSED1) (start-B)) that the end time of both activities be equal. In
(<= (+ (end-A) ELAPSED2 ) (start-B)))) the case of the OperatorA equals OperatorB prim-
:effect ... ) itive, the value of the duration of OperatorB
should be equal to the duration of OperatorA.
Figure 9. A PDDL2.2 Representation of the A before B and A meets B Allen Imposing the ending of both operators at the
Primitives Using Only the Lower Bound of the Interval. same time should be done in the condition field.
But it is not an easy task to guarantee this condi-
tion for most of the state-of-the-art planners.
OperatorA The start time of OperatorB is in a given
preconds: (<start-time> (start-A <start-time>)) range from the start of OperatorA, that is, Op-
(<end-time> (add-time <start-time> DUR TIME)) eratorA overlaps OperatorB. The PRODIGY rep-
effects: (add (started-A <start-time>))
resentation is shown in figure 15 and the CSP
(add (finished-A <end-time>))
representation in figure 16.
OperatorB The start time of OperatorA occurs after the
preconds: (<start-time> (started-A <start-time>)) start time of OperatorB, and its end time occurs
(<end-time> (add-time-in-interval <start-time> before the end time of OperatorB. The Allen re-
ELAPSED1 TIME1 ELAPSED2 TIME2))
effects: (add (started-B <start-time>))
lation that belongs to this type is OperatorA
(add (finished-B <end-time>)) during OperatorB. The way to represent this last
category is depicted in figure 17, where the
variables ELAPSED3 and ELAPSED4 represent
Figure 10. A Representation of the A starts B and A equals B the minimal and maximal values of the inter-
Allen Primitives in PDL4.0. val [a, b] and TIME3 and TIME4 represent time
units. The CSP representation of this primitive
estA = estB
is shown in figure 18.
lftB - lftA >= a
lftB - lftA <= b Enriching Time Constraints
The relations between operators described in
the previous section are defined within a time
Figure 11. CSP Representation of A starts B and A equals B.
window and consider that there is only one in-
stance of these relations in that window.
Because in HISPASAT (as well as in some oth-
er real domains) there is more than one time
(:durative-action OperatorA
:duration (= ?duration DUR) window defined with several instances of the
:condition ... same operators on it, we need to differentiate
:effect (and (at end (assign (end-A) (+ (start-A) DUR)))) among different executions of an OperatorA
...) and their corresponding relations to different
(:durative-action OperatorB
executions of another OperatorB. Therefore,
:duration (and (>= ?duration (- (end-A) ELAPSED1)) we can define two predicates for each Opera-
(<= ?duration (+ (end-A) ELAPSED2))) torX to control the instantiated relations:
:condition (at start ( = (start-A) (start-B)))
:effect ... ) index-OperatorX: a pointer to the particular
instance of each OperatorX.
last-index-OperatorX: the index of the last
instantiation of OperatorX.
Figure 12: A Representation of the A starts B and Also we need to define one more predicate for
A equals B Allen Primitives in PDDL2.2. each temporal relation between two operators:
used-index-OperatorX-for-OperatorY: an in-
dex related to an instantiation of Opera-
torX in relation to another OperatorY.

18 AI MAGAZINE
Articles

So for each of the Allen primitives described in


this section we should add the predicates ex- OperatorA
plained above as figure 19 shows. We use a preconds: (<start-time> (start-A <start-time>))
counter to compute the instance that has been (<end-time> (add-time <start-time> DUR TIME))
used for any of the temporal relationships be- effects: (add (finished-A <end-time>))

tween operators and a global counter to com- OperatorB


pute the last value used. Given that this solu- preconds: (<end-time> (finished-A <end-time>))
tion requires some modeling effort for (<start-time> (del-time-in-interval <end-time>
humans, we can hide it by building an inter- ELAPSED1 TIME1 ELAPSED2 TIME2))
effects: (add (started-B <start-time>))
face that automatically defines these high-level (add (finished-B <end-time>))
relations between operators and translates
these relations into instances following the no-
tation described above. A quite similar problem Figure 13. A Representation of the A finishes B and A equals B
happens in CSP, because we need to know all Allen Primitives in PRODIGY.
activities a priori that need to be scheduled in
the plan. lftA = lftB

Representation of
Resources Constraints Figure 14. CSP Representation of the A finishes B and A equals
B Allen Primitives.
A resource is a source of supply or support or an
available means. There are basically three types
of resources (Sherwood et al. 2000), although OperatorA
the name given to each type varies from one preconds: (<start-time> (start-A <start-time>))
author to another: (<end-time> (add-time <start-time> DUR TIME))
Type 1 is available when not in use (one user effects: (add (started-A <start-time>))
(add (finished-A <end-time>))
at a time). Examples are physical devices such
as a robot arm or a CPU. In ASPEN (Sherwood OperatorB
et al. 2000) a similar type is the concurrency re- preconds: (<d> (started-A <d>))
source that must be made available to the ac- (<start-time> (add-time-in-interval <d>
ELAPSED1 TIME1 ELAPSED2 TIME2))
tivity before resources are reserved. An example (<end-time> (add-time <start-time> DUR0 TIME0))
would be a telecommunications downlink effects: (add (started-B <start-time>))
pass. The telecommunications station must be (add (finished-B <end-time>))
available before the spacecraft could initiate a
downlink.
Figure 15. A Representation of the A overlaps B Allen Primitive in PRODIGY.
Type 2 can be used by more than one activi-
ty, so a capacity should be defined. It is always
available when not in use, and many activities
lftB < lftA
can use different quantities of it. It does not estB <= estA - a
need to be replenished as, for example, solar ar- estB >= estA - b
ray power does.
In Type 3 the capacity is diminished after its Figure 16. A overlaps B Allen Primitive Representation Using CSP.
use, so a capacity should be defined. It may or
not be replenished by another activity. Exam-
ples are battery energy, memory capacity OperatorA
(which can be replenished) and fuel (which preconds: (<start-time> (start-A <start-time>))
cannot be replenished for satellite missions). (<end-time> (add-time <start-time> DUR TIME))
In PRODIGY, as in PDDL2.2, there is no pro- effects: (add (started-A <start-time>))
(add (finished-A <end-time>))
vision for specifying resource requirements or
consumption. But resources can be seen as vari- OperatorB
ables that can have associated values through preconds: (<d> (started-A <d>))
literals that refer to them, that is, as a logical (<d1> (finished-A <d1>))
(<start-time> (add-time-in-interval <d>
formula. This way of resource representation ELAPSED1 TIME1 ELAPSED2 TIME2))
has the disadvantage of making the search ex- (<end-time> (del-time-in-interval <d1>
tremely intractable when the number of re- ELAPSED3 TIME3 ELAPSED4 TIME4))
sources increases, as the results in Srivastava, effects: (add (started-B <start-time>))
(add (finished-B <end-time>))
Kambhampati, and Do (2001) show.
For example, if tank T1 of a satellite has 30
liters of fuel in a given instant, we could repre- Figure 17. A Representation of the A during B Allen Primitive in PRODIGY.
sent it as (has-fuel T1 30). Then, in the opera-

WINTER 2004 19
Articles

tors, we can restrict the set of values that can be


estB <= estA - b assigned to the variable that represents the re-
estB >= estA - a source, consume the fuel, or refuel the tank if
lftB >= lftA + c necessary and possible.
lftB <= lftA + d
To represent capacity, we can use the scalar
quantity model. The capacity constraints of a
Figure 18. A during B Primitive Using CSP. resource with uniform capacity can be calculat-
ed in PRODIGY through a functional expres-
Initial State sion. For instance, we can define a function
for each OperatorA --> (last-index-opA 0) (such as compute-consumed-fuel) that calculates
(used-index-opA-for-opB 0)
the fuel consumed in each maneuver as a func-
OperatorA tion of the available fuel and the angle of the
preconds: (<last-index> (last-index-opA <last-index>)) satellite with respect to the sun as shown in fig-
(<index> (+ 1 <last-index>)) ure 20.
...
The value of the angle is obtained from the
effects: (add (index-opA <index>))
(del (last-index-opA <last-index>)) instantiation of the literal (position <sat>
(add (last-index-opA <index>)) <angle>) and must be greater than the value
four (4 grades) with respect to the current state.
OperatorB Once it sets the value of variable <sat>, it will
preconds: (<index> (index-opA <index>))
(not (used-index-opA-for-opB <index>)) access the state and set the value of the second
... argument as the value for variable <angle>. Al-
effects: (add (used-index-opA-for-opB <index>)) so, the value of the available fuel is obtained
from the instantiation of the literal (available-
Figure 19. A Way of Handling Instances for Any Allen Primitives. fuel <sat> <available>) with respect to the state,
for the instantiated variable <sat>.
In the effects, the operator adds the ground-
ed literals (performed-maneuver <sat>) and
OPERATOR-MANEUVER-SOUTH
(available-fuel <sat> <new-fuel>) to the state (in
preconds: (<angle> (position <sat> <angle>)
(> <angle> 4)) other words, it asserts them as true) and deletes
(<available> (available-fuel <sat> <available>)) the (available-fuel <sat> <available>) literal from
(<fuel-consumed> (/ <available> <angle>)) the state.
(<new-fuel> (- <available> <fuel-consumed>))
In PDDL2.2, the functions decrease/increase
effects: (add (performed-maneuver <sat>))
(add (available-fuel <sat> <new-fuel>))) present a compact way of handling numeric
(del (available-fuel <sat> <available>))) fluents, more compact than in PRODIGY, but
the semantics and the way to use resource con-
sumption is the same, as figure 21 shows.
In the case of binary resources, in PDL4.0
Figure 20. Representing a Resource Capacity and Consumption Such as Fuel and PDDL2.2 we can model them as predicates
in PRODIGY for the Satellite Domain. that must be available at the beginning of the
operation. The operation will remove a re-
source’s availability from the state (we can do
(:action Maneuver-S
:parameters (?sat - satellite) that because of the instantaneous representa-
:precondition (> (position ?sat) 4) tion of actions) so other operations cannot use
:effect (at end (performed-maneuver ?sat)) it, but we need to add an operation that sets
(at end (decrease (available-fuel ?sat)
the resource free so it can be used again. Figures
(/ (available-fuel ?sat) (position ?sat)))))
22 and 23 show an example of a binary re-
source as it can be an instrument inside a satel-
Figure 21. PDDL2.2 Representation of Figure 20 Operator. lite. This example belongs to the satellite do-
main of the 2002 International Planning
Competition (www.dur.ac.uk/d.p.long/IPC). In
this case, scientific instruments in satellites
must collect some data as images. In order to
observe some data, the instrument inside the
satellite must be free. The operation adds to the
state that the instrument is busy. In order to
use it again, the Free-Resource operation will
add to the state its availability for other opera-
tions (the (del (busy <instrument>)) or (not (busy
?i)) grounded literals).

20 AI MAGAZINE
Articles

In CSP scheduling, there are many algorithms


and heuristics to handle easily binary to multi-
capacity resources, such as the ones proposed in Take-Data
Cesta and Oddi (2002); Cesta, Oddi, and Smith preconds: (belong <instrument> <sat>)
(not (busy <instrument>))
(1999); and Smith and Cheng (1993). effects: (add (busy <instrument>))
(add (have-image <mode> <direction>))
Free-Resource
The Tool: CONSAT preconds: (busy <instrument>)
effects: (del (busy <instrument>))
One of the current problems for the deploy-
ment of planning technology is the lack of an
easy-to-use front end for users and their inte-
gration with the current tools used in organiza- Figure 22. An Example in PRODIGY of How to Represent a Binary Resource.
tions. In this section we present a graphical
modeling and validation tool developed for
scheduling the nominal operations for in-orbit
control of HISPASAT’s satellites (R-Moreno, (:action Take-Data
Borrajo, and Meziat 2002). The CONSAT5 tool :precondition (and (belong ?i ?sat)
(not (busy ?i))
consists of the following subsystems, which :effect: (and (busy ?i)
will be described in the next subsections: (have-image ?m ?d)))
The User Subsystem is in charge of the control
access to the tool and the interaction with the (:action Free-Resource
:precondition (busy ?i)
user in order to obtain and manipulate all the :effect: (not (busy ?i)))
data needed for planning and scheduling.
The Reasoner Subsystem: once the input data
is introduced, a domain-independent planner
is in charge of generating the solution to the Figure 23. The Example of Figure 22 in PDDL2.2 Syntax.
problem.
The Generator Subsystem is responsible for This subsystem provides the following more
maintaining coherence between the two possi- specific functionality: In the case of external
ble representations that the tool offers: annual and South-Maneuvers, the events are known in
to provide a general overview of the operations advance by means of specific supporting engi-
and weekly for a more detailed view of the neering tools that predict, according to some
hours and resources (if any) involved in the op- parameters, when the events will occur and the
erations. If the user modifies the weekly repre- hour when the South-Maneuver can be per-
sentation, the annual representation will be up- formed every day of the year. These software
dated automatically. This subsystem also tools generate the data in a set of ASCII files.
converts the solution to a specific document The subsystem can also import these files and
format type, comparing two different solu- detect the correct file format.
tions, or generating an HTML version. Nowadays, the engineers represent this data
Figure 24 shows a high-level view of the ar- in a specific document and schedule the oper-
chitecture and the modules that it comprises. ations according to it. Every time a new modi-
The first and the third subsystems interact with fication is done, the engineer in charge of it
the user. The second subsystem interacts with must sign the document. Therefore this subsys-
the other two and is in charge of the solution tem also controls the user access to register
generation. who is creating, revising, modifying, or verify-
ing the schedule.
The User Subsystem Related to the third type of operations,
The User Subsystem is in charge of data intro- which require data from the last time the oper-
duction. The control engineers are the ones ation was performed, the engineers must find
who interact with this subsystem. As we have the information in the previous year’s docu-
seen before, the initial state and goals refer to ment. If the tool was previously used, this data
data about external events and some opera- is available to the User Subsystem and auto-
tions. Some of this data, such as the time in matically reused.
seconds that most operators and literals need Finally, the User Subsystem assists the user in
as arguments, is difficult for a user to provide validating the introduced data, thus avoiding
directly. Therefore, the user can specify data in possible user inconsistencies, such as trying to
the current usual way through the User Subsys- swap the same tank twice in the same period of
tem, and the subsystem automatically trans- the year or performing an operation in an ille-
lates it into the internal model. gal period.6 Figure 25 shows one of the inter-

WINTER 2004 21
Articles

Plans
User Modifications

Domain
Description
Unknown
Events

Data on
last operations
User Reasoner Generator
Subsystem Problem Subsystem Plan Subsystem
Description

Annual Weekly HTML


Known Events Plan Plan Version of Plan
(External SW)

Figure 24. Architecture of the Planning Tool.

The Reasoner Subsystem


The User Subsystem translates all this informa-
tion into a suitable format for input to the Rea-
soner Subsystem. This system is composed of
the AI planner explained previously. It is in
charge of the plan generation, with temporal
and resource reasoning. It generates a problem
file with all the information provided by the
user. This file is given to the planner as an in-
put, together with the domain and control
knowledge files, allows the planner to run. The
planner output is saved in another ASCII file
that will be manipulated to generate the input
to the Generator Subsystem.

The Generator Subsystem


Currently, once the engineers know every ex-
ternal event and have represented the events in
a document, the laborious task of scheduling
Figure 25. One of the Windows of the User Subsystem Interface. every operation starts. The engineers generate
two types of documents: (1) a document that
provides an overview of all the operations per-
formed each day of the year; and (2) a docu-
face windows (written in Spanish due to engi- ment that represents in more detail each oper-
neers’ requirements) of the User Subsystem. It ation’s duration, type of maneuver, and any
shows on the left part of the window an or- resources, such as batteries, tanks, and so on,
dered list of operations that require user inputs. affected by the operation.
On the right side, the system asks for specific The weekly representation is generated every
data for each operation, such as a file (as shown week and takes into consideration the annual
in the figure) or the last performed operation if representation (shown in figure 26). The prob-
it is not available in the database. The user lem of maintaining two documents relates to
must complete each step on the left part of the the incongruencies between them. Also, these
window in order to obtain an annual schedule. documents are generated by the engineers of

22 AI MAGAZINE
Articles

Figure 26. The Generator Subsystem Interface: Annual Representation.

Satellite Time (mn) Goals Literals in the initial state Nodes Ops. in solution
1A 9.13 215 93 1837 411
1B 8.61 247 91 1947 439
1C 2 221 160 1269 303
Table 3. Results Obtained to Achieve a Plan for Each Satellite.

the headquarters at Arganda (Madrid) and sent number of operators in the HISPASAT domain
to other backup centers in Spain and South is 100, the number of control rules is 10, and
America. In case any problem arises at the there are a total of 50 coded functions, 25 per-
headquarters, one of those other backup cen- cent of them domain independent.
ters must continue performing the scheduled To compare it with humans, the time devot-
operations. Therefore, every time a change on ed to preparing the annual representation for
a schedule occurs, it must be sent to the rest of the three satellites is 40 hours a year by one
the backup centers. person, basically 35 hours to elaborate it and 5
The Generator Subsystem guarantees the hours for verification. For the weekly represen-
consistency of the two representations. The tation, engineers devote one hour and a half a
user can easily modify the results obtained by
week, and generally not all the changes made
the planner by just dragging and dropping the
in the weekly representation are reflected in
symbols in the table of the annual or weekly
the annual representation.
representations. The user can also compare two
With respect to validation of generated
solutions and analyze the differences between
plans, all of the plans are valid. We analyzed
them; convert the results to the document for-
mat that the engineers use in daily operation; differences with the plans provided by human
and generate the solution in HTML for use at experts, and the results were that the plans
the other centers. generated by the tool agree at least 90 percent
of the time with the plans generated by the en-
gineering team. The main differences fall on
Experimental Results last-time operation changes due to the satel-
We have done some experiments to show the lites’ needs or coincidence of some operations
performance of the tool developed for HIS- with holidays that force the operations to be
PASAT on real data that are shown in table 3. moved to other dates. This last discrepancy will
All these results have been obtained using a be considered in future versions of the soft-
Pentium III 800 MHz processor and 256 ware. CONSAT is actually under the validation
megabytes of memory under Windows. The phase.

WINTER 2004 23
Articles

Related Work space telescope ground system, but then it was


adapted to schedule a variety of astronomical
Several planning systems have addressed appli- scheduling problems. It has faced the problem
cations of planning with resources and time using CS techniques.
considerations. The planner NONLIN+ (Tate Magpen (Ai-Chang et al. 2003) is part of the
and Whiter 1984) maintains information Mars Exploration Rover mission. It is a system
about the duration of the activities and repre- that merges ideas from CS as propagation and
sents limited resources. consistency checking and planning. The plan-
In SIPE (Wilkins 1988) the use of resouces ner system called EUROPA (Frank, Jónsson,
can be declared in the operators. DEVISER and Morris 2000) is an evolution of the Deep
(Vere 1983) could also handle consumable re- Space One planner (Muscettola 1994). The par-
sources. These planners have been designed tial plan that it builds consists of a set of inter-
with the purpose of explicitly handling some vals connected by constraints. This plan is
types of resources. In the IPP planner (Koehler modified using search-based methods until the
et al. 1997), based on Graphplan (Blum and plan is a valid one.
Furst 1997), the search algorithm has been All these systems differ from our approach in
modified to combine the ADL search algorithm
that they had to (re-)implement the planners
to handle logical goals together with interval
to handle scheduling information, while we
arithmetic to handle resource goals. Realplan
have used an “old” planner with a powerful
(Srivastava, Kambhampati, and Do 2001), also
representation of domains and defined a set of
based on Graphplan, decouples the logical rea-
simple time-handling functions that introduce
soning from resource reasoning thanks to the
time management in an intuitive way almost
CSP formulation that helps the planner in re-
equivalent to the expressive power of other
source allocation. This is the main difference
tools.
with PRODIGY, which was designed as a gener-
ASPEN (Rabideau et al. 1999) uses an AI
al planning and learning system rather than as
planner with a richer representation in activi-
a scheduler. But this is not a disadvantage for
ties so the user can easily provide start times,
representing this type of knowledge and rea-
end times, duration, and use of one or more re-
soning about it without modifying the search
sources. Some algorithms this planner uses to
algorithm (as explained in the “Satellite Main-
tenance Operations” and “Scheduling Knowl- solve the problem belong to the scheduling
edge in the Planning Domain” sections). area (such as the schedule iterative repair algo-
Other current approaches have integrated rithm). ASPEN is part of CASPER (continuous
planning and scheduling in the same system as activity scheduling planning execution and re-
HSTS (Muscettola 1994) by instantiating state planning) (Rabideau et al. 2000). It provides
variables into a temporal database. These state functionality to work in dynamic environ-
variables are very different from predicate logic ments, a requirement for most NASA projects
formulae used by PRODIGY, although they are (Chien et al. 1999; Chien et al. 2002; Chien et
merely a convenient shorthand for logic, lead- al. 2003; Estlin et al. 1999; Willis, Rabideau,
ing to no loss in expressivity. Also the O-PLAN2 and Wilklow 1999). Our planner uses specific
(Tate, Drabble, and Kirby 1994) integrates plan- planning algorithms that can handle a subset
ning, scheduling, execution, and monitoring of the scheduling problem, sufficient for solv-
within a system that also uses an activity-based ing tasks in the HISPASAT domain. We do not
plan representation. Based on HTN, it requires need replanning, operations monitoring, or ex-
a lot of hand-coding of domain operations and ecution because these operations are not as
refinement of these operations in hierarchical critical as on-board missions, and planning ex-
levels. Other systems are temporal-based plan- ecution time is not a high priority. The flexibil-
ners, such as IxTeT (Ghallab and Laruelle ity to schedule the operations is one of the
1994). It is a least commitment planner that main features of this domain as opposed to on-
uses a graph-based algorithm for detecting re- board missions where maximizing the weight-
source conflicts between parallel actions. The ed sum of the scheduled observations is one of
time logic relies on a restricted interval algebra the main issues.
represented by time points. Time points are A quite similar domain as the one presented
seen as symbolic variables where temporal con- in this article is shown in the Ground Processing
straints can be posted. The world is described Scheduling System (GPSS) (Deale et al. 1994).
by a set of multivalued domain attributes tem- The way they face the problem differs from ours
porally qualified into instantaneous events and in several aspects. First, GPSS takes as inputs the
persistent assertions and a set of resource at- set of precedence relations between tasks. It de-
tributes. SPIKE (Jónsson et al. 2000) was initial- fines four types of temporal constraints with in-
ly used for science operations for the Hubble tervals between two tasks: activity-A finishes be-

24 AI MAGAZINE
Articles

fore the start of activity-B, the start time of activ- ing group generated by hand and on paper the
ity-A is equal to the start time of activity-B, the operations that have to be done during the
finish time of activity-A coincides with the finish week and year. There were many incongruen-
time of activity-B, and the start time of activity- cies between the two types of representation
A coincides with the finish time of activity-B. used (weekly and annual), and document mod-
Second, resources are modeled as classes sepa- ification was a tedious task.
rately with an initial capacity. Third, to handle The tool not only saves users a lot of time
changes produced by tasks, tasks are represented due to its capability of importing files of any
as attributes instead of as predicate logic as in type, it presents the results in a table that can
our approach. Fourth, a solution is a schedule be easily modified by just dragging and drop-
where each task has a start and end time, a re- ping, generates more than one solution, shows
source assignment for every resource that the ac- the differences between any two solutions, and
tivity consumes where all temporal constraints generates the results in their internal format or
are satisfied. When looking for solutions, GPSS in HTML. But there is also a high-level descrip-
searches through the space of all possible sched- tion language that is used to specify satellite
ules, looking for better schedules thanks to the problems (domain-dependent knowledge) and
defined cost functions based on expert heuris- planning and scheduling problems (domain
tics. independent knowledge) and that makes it
In our approach we have as inputs the do- easy to maintain the tool and to add the corre-
main theory and the problem definition. For spondent operations when new satellites are
our domain, the four precedence relations be- added.
tween tasks are not enough, as we need other We want to explore the possibility of adding
Allen primitives such as during or overlaps, and more satellites, so that CONSAT could define or
we found it easier to model these relationships delete new operations, and be adapted to new
between activities inside the domain theory. satellites as Magpen (Ai-Chang et al. 2003) is
We could also add intervals between tasks adapted to different missions. This would allow
thanks to the coded functions. In relation to re- us to study the scalability of the approach for
sources, these are part of the causal reasoning, dealing within the planner with planning,
so PRODIGY, as most planners, considers dis- temporal, and resource reasoning. It would also
crete resources like robots, fuel, or batteries as be interesting to integrate a monitoring mod-
logical predicates. This causes the search space ule to execute the scheduled operations ob-
to become huge when the number of resources tained by the planner and to replan in case of
increases. As experimental results showed in changes. Finally, we would like to explore the
Srivastava, Kambhampati, and Do (2001), this tool’s generality by using the satellite domains’
strategy severely curtails the scale-up of exist- temporal independent knowledge for coding
ing planners. Given that the HISPASAT domain other domains that require planning and
does not deal with a high number of resources, scheduling.
it does not affect PRODIGY performance. With
Acknowledgements
respect to how to represent changes, in PRODI-
GY as in any other classical planner, an opera- We want to thank the entire HISPASAT engi-
tor consists of preconditions and effects. Ac- neering team for their help and collaboration
tions have well-defined start and end times and during development of this project—especially
resource assignments for each activity. The ob- Arseliano Vega, Pedro Luis Molinero, and Jose
tained plan does not consider any optimiza- Luis Novillo. This work was partially funded by
tion with respect to resource use or availability, the CICYT project TAP1999-0535-C02-02 and
given that for HISPASAT it is enough to find a TIC2002-04146-C05-05.
plan. However, as mentioned before, we could
Notes
also reason about quality-oriented plans ac-
cording to some criteria using QPRODIGY 1. See also the PLANET Workflow Management TCU
Road Map (http://scalab.uc3m.es/~dborrajo/plan-
(Borrajo, Vegas, and Veloso 2001).
et/wmtcu).
2. See also the PLANET Aerospace TCU Road Map
Conclusions and Future Work (http://pst.ip.rm.cnr.it/en/events/planet).
3. The hour corresponding to the secular drift direc-
In this article, we have presented a tool that tion, that is, an hour when it is possible to position
fully integrates planning and scheduling for the satellite, having in mind different parameters.
the nominal operations that need to be per- 4. Because it cannot return infinite possible values for
formed in three satellites during the course of variables and it does not reason about variables that
a year for a commercial satellite company. Be- represent intervals, it cannot handle all quantitative
fore the software development, the engineer- relations as CSP techniques do.

WINTER 2004 25
Articles

5. CONSAT stands for satellite control in Spanish. R.; Trout, B.; Shulman, S.; Ungar, S.; Van-Gaasbeck, J.;
6. A legal period in TANK SWAPPING is a date around Boyer, D.; Griffin, M.; Burke, H.; Greeley, R.; Doggett,
equinox, for instance. T.; Williams, K.; Baker, V.; and Dohm, J. 2003. Au-
tonomous Science on the EO-1 Mission. Paper pre-
References sented at the Seventh International Symposium on
Artificial Intelligence Robotics and Automation in
Ai Chang, M.; Bresina, J.; Charesty, L.; Hsu, J.; Jóns-
Space (i-SAIRAS). Naras, Japan, 19–23 May.
son, A.; Kanefsky, B.; Maldaguey, P.; Morris, P.; Rajan,
Coddington, A. 2002. A Continuous Planning
K.; and Yglesias, J. 2003. Mapgen Planner: Mixed-ini-
Framework with Durative Actions. In Proceedings of
tiative Activity Planning for the Mars Exploration
the Ninth International Symposium on Temporal Repre-
Rover Mission. Paper presented at the Seventh Inter-
sentation and Reasoning (TIME-2002), 108–118. Los
national Symposium on Artificial Intelligence Robot-
Alamitos, CA: IEEE Computer Society.
ics and Automation in Space (i-SAIRAS). Naras,
Japan, 19–23 May. Currie, K.; and Tate, A. O-Plan: The Open Planning
Architecture. 1991. Artificial Intelligence Journal 52(1):
Allen, J. 1984. Towards a General Theory of Action
49–86.
and Time. Artificial Intelligence Journal 23(2):
123–154. Deale, M.; Yvanovich, M.; Schnitzius, D.; Kautz, D.;
Carpenter, M., Zweben, M.; Davis, G.; and Daun, B.
Allen, J. F.; Hendler, B.; and Tate, A. 1990. Readings in
1994. The Space Shuttle Ground Processing Schedul-
Planning. San Francisco: Morgan Kaufmann Publish-
ing System., 423–449. In Intelligent Scheduling, ed.
ers.
Mark Fox and M. Zwebem. San Francisco: Morgan
Bensana, E., Lemaitre, M., and Verfaillie, G. 1999. Kaufman, Publishers.
Earth Observation Satellite Management. Con-
Dechter, R.; Meiri, I.; and Pearl, J. 1991. Temporal
straints: An International Journal 4(3): 293–299.
Constraint Networks. Artificial Intelligence Journal
Blum, A.; and Furst, M. 1997. Fast Planning Through 49(1–3): 61–95.
Planning Graph Analysis. Artificial Intelligence Journal
Drabble, B.; McVey, C.; and Clements, D. 2000. Agile
90(1–2): 281–300.
Aircraft Manufacturing and Assembly. Paper Present-
Borrajo, D.; Vegas, S.; and Veloso, M. 2001. Quality- ed at the Symposium on Planning, Scheduling, and
Based Learning for Planning. Paper Presented at the Control for Aerospace, World Congress on Automa-
IJCAI’01 Workshop on Planning with Resources, tion (WAC-2000). Wailea, Hawaii, June 11–16.
Seattle, WA, 6 August.
Dungan, J.; Frank, J.; Jónsson, A.; Morris, R.; and
Carbonell, J. G.; Blythe, J.; Etzioni, O.; Gil, Y.; Joseph, Smith, D. 2001. Planning and Scheduling for Fleets
R.; Kahn, D.; Knoblock, C.; Minton, S.; Pérez, A.; Reil- of Earth Observing Satellites. Paper presented at the
ly, S.; Veloso, M.; and Wang, X. 1992. PRODIGY4.0: Sixth International Symposium on AI, Robotics, and
The Manual and Tutorial. Tech. Rep. CMU-CSP-92- Automation in Space (i-SAIRAS 2001). Saint-Hubert,
150, Department of Computer Science, Carnegie Quebec, June 18–22.
Mellon University, Pittsburgh, PA.
Edelkamp, S.; and Hoffmann, J. 2004. pddl2.2: The
Cesta, A.; and Oddi, A. 2002. Algorithms for Dynam- Language for the Classical Part of IPC-4 at the Fourth
ic Management of Temporal Constraint Networks. International Planning Competition. Technical Re-
Tech. Rep., Italian National Research Council (ISTC- port No. 195. Frieburg University Institute of Com-
CNR), Rome, Italy. puter Science, Frieburg, Germany.
Cesta, A.; Oddi, A.; and Smith, S. F. 1999. Greedy Al- Estlin, T.; Rabideau, G.; Mutz, D.; and Chien, S. 1999.
gorithms for the Multi-Capacitated Metric Schedul- Using Continuous Planning Techniques to Coordi-
ing Problem. In Proceedings 1999 European Conference nate Multiple Rovers. Paper Presented at the IJCAI-99
on Planning. Lecture Notes in Computer Science. Berlin: Workshop on Scheduling and Planning Meet Real-
Springer-Verlag. time Monitoring in a Dynamic and Uncertain World.
Cesta, A.: and Pecora, F. 2003. The RoboCare Project: Stockholm, Sweden.
Multi-Agent Systems for the Care of the Elderly. Eu- Fikes, R.; and Nilsson, N. 1971. STRIPS: A New Ap-
ropean Research Consortium for Informatics and Mathe- proach to the Application of Theorem Proving to
matics (ERCIM) News No. 53 (2003). Problem Solving. Artificial Intelligence Journal 2(3–4),
Cheng, C. C.: and Smith, S. F. 1995. Applying Con- 189–208.
straint Satisfaction Techniques to Job Shop Schedul- Frank, J.; Jónsson, A.; and Morris, P. 2000. On Refor-
ing. Tech. Rep. CMU-RI-TR-95-03, Robotics Institute, mulating Planning as Dynamic Constraint Satisfac-
Carnegie Mellon University, Pittsburgh, PA. tion. In Proceedings of the Fourth Symposium on Ab-
Chien, S.; Rabideau, G.; Willis, J.; and Mann, T. 1999. straction, Reformulation and Approximation (SARA).
Automating Planning and Scheduling of Shuttle Pay- Berlin: Springer-Verlag.
load Operations. Artificial Intelligence Journal Garrido, A.; and Barber, F. 2001. Integrating Planning
114(1–2): 239–255. and Scheduling. Applied Artificial Intelligence 15(5):
Chien, S.; Rabideau, G.; Willis, J.; and Mann, T. 2002. 471–491.
The RADARSAT-MAMM Automated Mission Planner. AI Ghallab, M.; and Laruelle, H. 1994. Representation
Magazine 23(2): 25–36. and Control in IxTeT, A Temporal Planner. In Pro-
Chien, S.; Sherwood, R; Tran, D.; Castano, R.; Cichy, ceedings of the Second International Conference on AI
B.; Davies, A.; Rabideau, G.; Tang, N.; Burl, M.; Man- Planning Systems (AIPS-94). Menlo Park, Calif.: AAAI
dl, D.; Frye, S.; Hengemihle, J.; DAgostino, J.; Bote, Press.

26 AI MAGAZINE
Articles

Johnston, M. D. 1994. Spike: Intelligent tegrating AI Planning with Workflow Man- Veloso, M.; Carbonell, J.; Pérez, A.; Borrajo,
Scheduling of Hubble Space Telescope Ob- agement System. International Journal of D.; Fink, E.; and Blythe, J. 1995. Integrating
servations, 391–422. In Intelligent Schedul- Knowledge-Based Systems (Elsevier) 15(8): Planning and Learning: The PRODIGY Ar-
ing, ed. Mark Fox and M. Zwebem. San 285–291. chitecture. Journal of Experimental and The-
Francisco: Morgan Kaufman, Publishers. R-Moreno, M. D.; Oddi, A.; Borrajo, D.; Ces- oretical Artificial Intelligence 7(1): 81–120.
Jónsson, A.; Morris, P.; Muscettola, N.; Ra- ta, A.; and Meziat, D. 2004. IPSS: A Hybrid Vere, S. A. 1983. Planning in Time: Win-
jan, K.; and Smith, B. 2000. Planning in In- Reasoner for Planning and Scheduling. In dows and Durations for Activities and
terplanetary Space: Theory and Practice. In Proceedings of the Sixteenth European Confer- Goals. IEEE Transactions on Pattern Analysis
Proceedings of the International Conference on ence on Artificial Intelligence (ECAI–04). and Machine Intelligence 5(3): 246–267.
Artificial Intelligence Planning Sys- Berlin: Springer-Verlag. Wilkins, D. E. 1988. Practical Planning: Ex-
tems,177–186. Berlin: Springer-Verlag. Rabideau, G.; Chien, S.; Knight, R.; Sher- tending the Classical AI Planning Paradigm.
Koehler, J.; Nebel, B.; Hoffmann, J.; and Di- wood, R.; Engelhardt, B.; Mutz, D.; Estlin, San Francisco: Morgan Kaufman, Publish-
mopoulus, Y. 1997. Extending Planning T.; Smith, B.; Fisher, F.; Barrett, T.; Stebbins, ers
Graphs to an ADL Subset. In Proceedings of G.; and Tran, D. 2000. ASPEN–Automating Willis, J.; Rabideau, G.; and Wilklow, C.
the Fourth European Conference on Planning. Space Mission Operations Using Automat- 1999. The Citizen Explorer Scheduling Sys-
Berlin: Springer-Verlag. ed Planning and Scheduling. Paper Present- tem. In Proceedings of the IEEE Aerospace
Kvarnstrom, J.; and Doherty, P. 2001. ed at the Sixth International Symposium Conference. Piscataway, NJ: The Institute of
TALplanner: A Temporal Logic based For- on Space Mission Operations and Ground Electrical and Electronics Engineers.
ward Chaining Planner. Annals of Mathe- Data Systems (SpaceOps 2000), Toulouse,
matics and Artificial Intelligence 30(1–4): France, 19–23 June. Maria Dolores Rod-
119–169. Rabideau, G.; Knight, R.; Chien, S.; Fukuna- riguez-Moreno is a
Long, D., and Fox, M. 2001. Encoding Tem- ga, A.; and Govindjee, A. 1999. Iterative Re- teacher assistant at the
poral Domains and Validating Temporal pair Planning for Spacecraft Operations in Universidad de Alcalá.
Plans. Paper presented at the Twentieth the Aspen System. Paper presented at the She obtained her Ph.D.
Workshop of the UK Planning and Schedul- Fifth International Symposium on Artificial in computer science
ing Special Interest Group (PlanSig 2001), Intelligence Robotics and Automation in from the Universidad de
University of Edinburgh, Edinburgh, Scot- Space (i-SAIRAS). Noordwijk, The Nether- Alcal in March of 2004
land, 13–14 December. lands, 1–3 June. in the topic of integra-
Mieri, I. 1996. Combining Qualitative and Sherwood, R.; Engelhardt, B.; Rabideau, G.; tion of AI planning and scheduling. Her re-
Quantitative Constraints in Temporal Rea- Chien, S.; and Knight, R. 2000. Aspen User’s search interests are in the application of AI
soning. Artificial Intelligence Journal 87 Guide Version 2.0. Tech. Rep. D-15482. techniques to real problems such as work-
(1–2): 343–385. Pasadena, CA: NASA Jet Propulsion Labora- flow or satellite domains. She can be
tory. reached at [email protected].
Muscettola, N. 1994. HSTS: Integrating
Planning and Scheduling. In Intelligent Smith, D.; Frank, J.; and Jónsson, A. 2000. Daniel Borrajo is a pro-
Scheduling, ed. M. Fox and M. Zweben. San fessor of computer sci-
Bridging the Gap between Planning and
ence at the Universidad
Francisco: Morgan Kaufman, Publishers. Scheduling. Knowledge Engineering Review
Carlos III de Madrid. He
Muscettola, N.; and Smith, B. 1997. On- 15(1): 61–94.
received his Ph.D. in
Board Planning for New Millennium Deep Smith, S.; and Cheng, C. 1993. Slack-Based computer science in
Space One Autonomy. In Proceedings of the Heuristics for Constraint Satisfaction 1990 and B.S. in comput-
1997 IEEE Aerospace Conference. Piscataway, Scheduling. In Proceedings of the Eleventh er science both at the
NJ: The Institute of Electrical and Electron- National Conference on Artificial Intelligence. Universidad Politécnica
ics Engineers. Menlo Park, CA: AAAI Press. de Madrid. He has published more than 90
Myers, K. L., and Berry, P. M. 1999. At the Srivastava, B.; Kambhampati, R.; and Do, journal and conference papers mainly in
Boundary of Workflow and AI. In Agent- M. B. 2001. Planning the Project Manage- the fields of problem-solving methods
Based Systems in the Business Context: Papers ment Way: Efficient Planning by Effective (planning and game playing) and machine
from the AAAI Workshop, ed. Brian Drabble Integration of Causal and Resource Reason- learning. His e-mail address is dborrajo@
and Peter Jarvis. AAAI Tech. Report WS-99- ing in RealPlan. Artificial Intelligence Journal ia.uc3m.es.
02. Menlo Park, CA: American Association 131(1–2): 73–134. Daniel Meziat is a pro-
for Artificial Intelligence. Tate, A.; Drabble, B.; and Kirby, R. 1994. O- fessor at the Universidad
Pednault, E. 1989. ADL: Exploring the Mid- Plan2: An Open Architecture for Com- de Alcalá. His research
dle Ground between Strips and the Situa- mand, Planning, and Control. In Intelligent has focused on instru-
tion Calculus. In Proceedings of the First Con- Scheduling, ed. Mark Fox and M. Zwebem. ment on-board satellites.
ference on Principles of Knowledge San Francisco: Morgan Kaufman, Publish- His e-mail address is
Representation and Reasoning, 324–332. San ers. [email protected]
Francisco: Morgan Kaufmann, Publishers. Tate, A.; and Whiter, A. M. 1984. Planning
R-Moreno, M. D.; Borrajo, D.; and Meziat, with Multiple Resource Constraints and an
D. 2002. An AI Tool for Planning Satellite Application to a Naval Planning Problem.
Nominal Operations. Paper presented at Paper Presented at the First Conference on
the Third International NASA Workshop the Applications of AI, Denver, Colorado.
on AI Planning and Scheduling for Auton- Technical Report AIAI-TR-4, Artificial Intel-
omy in Space Applications, Manchester, ligence Applications Institute, School of In-
U.K., 6 July. formatics, University of Edinburgh, Edin-
R-Moreno, M. D.; and Kearney, P. 2002. In- burgh, Scotland.

WINTER 2004 27
AAAI Press Announcement

New & Recent Proceedings from AAAI Press

Proceedings of the Nineteenth Principles of Knowledge


National Conference on Artificial Representation and Reasoning:
Intelligence, Sixteenth Conference Proceedings of the Ninth Interna-
on Innovative Applications of Arti- tional Conference (KR2004)
ficial Intelligence Edited by Didier Dubois, Christopher Welty,
he National Conference on Artificial Intelligence remains the
and Mary-Anne Williams
T bellwether for research in artificial intelligence. Leading AI re-
searchers and practitioners as well as scientists and engineers in re- T he Knowledge Representation (KR) conferences have estab-
lished themselves as the leading forum for timely, in-depth pre-
lated fields present theoretical, experimental, and empirical re- sentation of progress in the theory and principles underlying the
sults, covering a broad range of topics. representation and computational manipulation of knowledge.
ISBN 0-262-51183-5 1050 pp., illus., references, index The papers in this volume cover a wide range of topics, including
$85.00 softcover Copublished by The MIT Press representation formalisms; reasoning techniques; implemented
KR&R systems; significant applications to cognitive robotics, plan-
ning, conceptual modeling, decision-making, software engineer-
ing, querying large databases, and web technologies.
Proceedings of the Fourteenth In- ISBN 1-57735-201-7 800 pp., illus., references, index
$75.00 softcover
ternational Conference on Auto-
mated Planning and Scheduling
Edited by Shlomo Zilberstein, Jana Koehler, Proceedings of the Twentieth
and Sven Koenig International Conference on
he International Conference on Automated Planning and
Machine Learning (ICML-03)
T Scheduling (ICAPS) cover the full spectrum of topics in AI
planning and scheduling, presenting the last advances both theo-
Edited by Tom Fawcett and Nina Mishra
retical and empirical in the field. This year, some emphasis lies on ISBN 0-1-57735-189-4 1000 pp., illus., references, index
planning with incomplete information, and on applications of $75.00 softcover Published on demand.
planning and scheduling.
ISBN 1-57735-200-9 450 pp., illus., bibliography, index
$65.00 softcover www.aaai.org/Press/Proceedings

28 AI MAGAZINE

You might also like