Deductive Planning with Temporal Constraints using
TAL
Martin Magnusson and Patrick Doherty I
Link6pings universitet, Link6ping 581 83, Sweden
patdo@ida, liu. se,

WWW home page: http://www.ida.liu/patdo/

Abstract. Temporal Action Logic is a well established logical formalism for reasoning about action and change using an explicit time representation that makes
it suitable for applications that involve complex temporal reasoning. We take advantage of constraint satisfaction technology to facilitate such reasoning throughtemporal constraint networks. Extensions are introduced that make generation ofaction sequences possible, thus paving the road for interesting applications in deductive planning. The extended formalism is encoded as a logic program that isable to realize a least commitment strategy that generates partial order plans in
the context of both qualitative and quantitative temporal constraints.

1

Introduction

Temporal Action Logic (TAL) [2] has proven to be a highly versatile and expressive
formalism for reasoning about action and change. One of its distinguishing characteristics is its use of explicit time structures expressed as sub-theories in a standard classicallogic. Historically, TAL has used integer time, but it would be interesting from a representational perspective and useful in practical applications to use different temporal
structures, or even combinations, such as timepoints and intervals. A practical obstacle
in doing this is the inefficiency of a straightforward application of classical theorem
proving techniques to deduce inferences from TAL narratives together with axiomatizations of time.
One way to approach this problem is to take advantage of work done with temporal constraint propagation techniques and to combine theorem proving techniques withspecialized constraint algorithms for dealing with temporal structures in TAL narratives. In fact, General Temporal Constraint Networks (GTCN) will be used with TAL inorder to reason efficiently with a subset of the full formalism. In this manner, it is also
possible to combine both time points and time intervals. To do this, we will use a formof semantic attachment where intervals are introduced as terms and relations between
intervals as function terms. This makes efficient reasoning with both time points andintervals in TAL possible using GTCN constraint propagation algorithms.
In previous work, we used TAL as a formal specification language for a very powerful forward-chaining planner called TALplanner. The idea was to input a goal narrative
formally specified using TAL into the procedural planner which in turn output a plannarrative whose formal semantics was also based on TAL. One could show the formal

Copyright © held by author

142

Martin Magnusson and Patrick Doherty

correctness of the input/output behavior of TALplanner using TAL in this manner. In
this case, TAL is used as a formal specification tool and the plan generation mechanism
operates outside the logic.
In contrast, this paper introduces additional extensions to TAL that enable deductiveplanning at the object level rather than meta-theoretically. In order to do this both action
occurrences and sets of action occurrences (a form of plan or narrative) will be introduced as terms and sets in the object language, respectively. In this manner, one may
generate partially ordered plans deductively in TAL by appealing to the use of GTCNs
together with the TAL deductive mechanism implemented as a logic program.

2 Temporal Action Logic
TAL is a narrative based formalism for reasoning about action and change where narratives include action type specifications, causal or dependency constraints, observationsat specific points in time, and action occurrences through durations. A high-level macro
language is normally used to specify narratives that are compiled into a first-order theory. Circumscription is then used to provide solutions to the frame, qualification andramification problems. For the purposes of this paper, we will provide narrative examples in first-order logic to describe our extensions and also exclude some details of thefull formalism.
In the standard TAL formalism, the predicate Occlude plays a prominent role inthe solution to the frame, ramification, qualification and other problems that arise whenreasoning about action and change in incomplete contexts. To assert Occlude(t,f) in atheory, provides a constraint that basically states that a fluent f is allowed to change
value from timepoint t - 1 to t when using integer time as the basic temporal structure.
What value it takes, or if it changes value at all, is determined by additional assertionsin the theory such as action occurrences or causal or dependency constraints which arepart of TAL narratives. A form of filtered preferential entailment is used where that partof the theory involving the use of the Occlude predicate is first circumscribed, providing
a definition of Occlude. This provides a succinct characterization of all timepoint/fluent
pairs where change is allowed. Some of the models for this part of the theory may
contain spurious change not supported by any assertions in the theory. These models
are filtered by conjoining a persistence formula I of the following form:-~Oeclude(t + 1,f) ~ (Holds(t,f) ~ Holds(t + 1,f))(1)

Action occurrences in a TAL narrative are asserted by using an Occurs predicate, where
Occurs(tl,t2,a) asserts that an action a occurs during the interval [tl, t2]. This predicate
is also circumscribed, providing a definition of Occurs.
Consider a reasoning domain involving the flight of an Unmanned Aerial Vehicle(UAV) between two locations, expressed in the following TAL narrative, where variables are in italics and free variables are assumed universally quantified:i Actually, in the current version of TAL, a number of persistence formulas are used, one per
fluent specified as being persistent. Moreover, the Holds predicate is usually generalized toinclude non-boolean fluents using a third argument from the fluents' value domain. For the
purposes of this paper, these details are not important.

Deductive Planning with Temporal Constraints using TAL

143

Holds(0,atuav(base))(2)

Occurs(3,8,fly(Iocl ))(3)

Occurs(t~,t2,fly(x)) -~ (Holds(tl,atuav(y))
Holds(t2,atuav(x)) A ~Holds(t2,atuav(y)) A
Vt,z [tl < t _< t2 ~ Occlude(t,atuav(z))])(4)-~Occlude(t + 1,atuav(x)) -~ (Holds(t,atuav(x)) ~ Holds(t + 1,atuav(x)))(5)

The basic modelling primitives are fluents, such as atuav in formula 2, that represent
properties of the world that might hold different truth values over time. Formula 3 is anaction occurrence formula. A fluent's truth value is influenced by actions (or causal constraints) as defined by action specification formulas (and dependency constraint formulas). Formula 4 states that the effect of flying the UAV to location x between timepoints
t l and t2 is that at timepoint t2 it will be at location x but no longer be at y, provided
that it actually started at y at timepoint t l . Note also that the fluent atuav is occluded
during the actions duration with the occurrence of the action and the precondition of
the action as sufficient conditions.
Circumscribing Occurs in the narrative results in a definition characterized by formula 6. Circumscribing Occlude in the action specification formula subset of the narrative (formula 4) results in a definition characterized by formula 7.

Occurs(tl,t2,f) ~tl :3 A t2 :8 n f :

fly(loci)

3tl,t2,y,z [t] < t < t2 A Occurs(tl,t2,fly(z)) A
HoldS(tl,atuav(y))] ~ Occlude(t,atuav(x))

(6)
(7)

Formula 5 is a persistence formula for atuav which together with formula 7 may be used
to prove persistence and non-persistence of the fluent atuav on the time-line. Given theexample narrative we can prove that the UAV will be at Iocl at timepoint 8 by provingthat it remains at base until the fly action takes it to Iocl between timepoints 3 and 8.
This short introduction to TAL serves as a basis for understanding the extensions
described in this paper but is by no means a complete feature list. Some topics thathave been dealt with in other publications are e.g. ramifications, qualifications, contextdependent effects, side effects, and non-deterministic actions. For a more detailed presentation of TAL the reader is referred to [2].

3Rei ed Action Occurrences

TAL action occurrences are specified using the Occurs predicate. Hypothesizing new
instances of this predicate given a goal would require abductive techniques or the use ofsome special-purpose planning algorithm such as TALplanner. In order to experimentwith deductive planning techniques using TAL, it is necessary to reify action occurrences as terms in the language so one can reason with and quantify over actions.
We introduce a function occ and replace action occurrences Occurs(t~,t2,a) by termsof the form occ(tl,t~,a). A set of action occurrences is a collection of such terms and,since their order in the collection is unrelated to their actual temporal order determined

144

Martin Magnusson and Patrick Dohertyby their relations to the explicit time line, the collection behaves like a regular mathematical set. Additionally, a vital property is incompleteness. A reasoning problem involving a fully specified set of action occurrences often corresponds to a prediction or
postdiction problem while an under-specification often gives rise to a planning problem.
We would like to add individual action occurrence terms to action occurrence sets.
We adopt the (infix) fluent composition function o, used to represent world states in the
Fluent Calculus as described in e.g. [10], to represent TAL action occurrence sets as
terms. So, if a is an action occurrence term and p is an action occurrence set, then a o p,
although a term, essentially represents the set of action occurrences {a} U p.
E.g. a set p involving a fly action and possibly other actions can be written as:
3p' [p = occ(3,8,fly(Iocl )) o p']

Thielscher provides axioms that characterize the behaviour of o in [10], but we will becontent with introducing a new Occurs predicate, the meaning of which is understood
through semantic attachment as follows:
Occurs(t],t2,a,p) °~-f oce(tl ,t2,a) E p, p is formed using o
The Occurs predicate had direct logical consequences through action specifications
such as formula 4 above. We can deduce the same logical consequences from reified
occurrences by adding an action set argument to the Holds and Occlude predicates. E.g.
formula 4 is rewritten as:
Occurs(tl,t2,fly(x),p) -~ (Holds(t],atuav(y),p) -~Holds(t2,atuav(x),p) A -~Holds(t2,atuav(y),p) A Vt,z [tl < t < t2 ~ Occlude(t,atuav(z),p)])4Interval Occlusion

The TAL occlusion concept provides a means to control at which timepoints fluentsmay change value. But in our experience, occlusion between specific timepoints is often
just as usueful as occlusion at specific timepoints. In fact, one may think of negatedocclusion (persistence) of a fluent in terms of intervals. Introducing intervals as firstclass citizens in TAL makes interval-based temporal constraint formalisms applicablefor temporal reasoning, and they simultaneously provide a meaning for the intervals
through semantic attachment, relating interval and timepoint primitives.
As a first step in this direction we introduce the predicate Occlude(tl,t2,f) to assert
what we will call interval occlusion for a fluent f . The intended meaning is that fluent
f is interval occluded over (tl, t~] if it is occluded at some timepoint in that interval.
Conversely, if we manage to prove that fluent f is not interval occluded for t l and t2,
then we know that its value will persist. Formally, we define interval occlusion in termsof the regular timepoint occlusion as:
Occlude(t],t2,f) ~ 3t [t] < t < t2 A Occlude(t,f)](8)

It is not difficult to construct a proof through induction over the length of intervals that(8) together with the persistence formula for timepoint occlusion (1) entails an interval
persistence formula:Deductive Planning with Temporal Constraints using TAL

145~Occlude(tl,t2,f) ~ Vt [tx < t < t2 ~ (Holds(t - 1,f) ~ Holds(t,f))](9)Note that even if a fluent is interval occluded over a given interval, it might still beunoccluded in sub-intervals. However, if the fluent is interval persistent over the interval
it must also be persistent in all sub-intervals.
Formulas 8 and 9 entail the following formula:~Occludo(t~,t2,f) --~ (Holds(t~,f) ~ Holds(t2,f))(10)

Using (10), the truth value of a fluent can be made to "jump" any number of timepoints in a single proof step. This technique is essential in the implementation that is
described in section 6. Though not much has been gained if we still need to prove timepoint occlusion false at each individual timepoint before being able to prove interval
occlusion false using its definition formula 8. Instead, we would like to introduce interval occlusion directly in the occlusion formula 7 of our UAV example, repeated here
for convenience:
3tl,t2,y,z [tl < t < t2 A Occurs(t~,t2,fly(z)) A
Holds(tl,atuav(y))] ~ Occlude(t,atuav(x))(11 )By substituting the timepoint occlusion predicate in the definition of interval occlusion
in formula 8 by its definition in (11), with timepoint variables renamed, we get:3t [tl < t < t2 A 3t3,t4,y,z [t3 < t < t4 A
Occurs(t3,t4,fly(z)) A Holds(t3,atuav(y))]] ~ Oeelude(t~,t2,atuav(z))

Rearranging the existential quantifiers will help clarify the meaning of the formula:

3t3,t4,y,z [3t [tl < t < t2 A t3 < t < t4] A
Occurs(t3,t4,fly(z)) A Holds(t3,atuav(y))] ~ Occlude(ta,t2,atuav(x))
The sub-formula St [tl < t _< t2 t t3 < t _< t4] asserts the existence of a timepoint that iscommon to the intervals (tl, t2] and (t3, t4]. Hence, the fluent expressing the location of
the UAV is interval occluded in (tl, t2] iff a fly action, which is the only action affecting
the UAV's location in our example, occurs in an interval that overlaps with (tl, t2] inany way, given that the precondition of the fly action is satisfied.

5

Temporal Constraint Networks

The second step towards introducing intervals as first-class citizens in TAL is the application of an interval-based temporal constraint formalism. By adopting the General
Temporal Constraint Networks (GTCN), developed by Meiri and others [7], we gain atemporal formalism that is complete for a large class of temporal reasoning problems.
Generalizing Allen's interval algebra [ 1], Vilain and Kautz' point algebra [ 11 ], and formalisms based on metric constraints, the GTCN facilitates both qualitative and quantitative reasoning with incomplete information and includes both interval and timepoint
primitives that provide a natural fit with our requirements.
We replace timepoint pairs by intervals in the Oecurs(tl,t2,a) and Oceludo(tl,t2,f)predicates to obtain an Occurs(i,a) and an Occlude(i,f) predicate. The Holds predicate
still accepts timepoint arguments and these timepoints are related to intervals by PointInterval (PI) relations, timepoints are related to each other by Point-Point (PP) relations,

146

Martin Magnusson and Patrick Doherty

and intervals to each other by Interval-lnterval (II) relations. When action occurrences
are temporally ordered by the PI, PP, and II relations, instead of relying on integers
and their inherent ordering, we need to represent those relations as a fundamental partof the action occurrences. To this end we introduce pi(t,i,r), pp(tl,t2,r), and ii(il,i2,r)functions that are used to represent the possible relations r given in [7]. These functions
are incorporated into the formalism by extending action occurrence sets to include both
action occurrence terms and interval relation terms. For example, the following action
occurrence set represents a fly action that takes place during interval il, which starts at
timepoint tpl and ends at timepoint tp2.

oec(il ,fly(lee1 )) o pi(tpl ,il ,[starts]) o pi(tp2,il ,[finishes])
To make use of this representation we introduce new predicates with semantics definedwith help from the GTCN:

Starts(t,i,n) dJ The GTCN constraints in n entail the
PI relation t{s}i
Finishes(t,i,n) d~_fThe GTCN constraints in n entail the
PI relation t{f}i
Overlaps(i~,i2,n) a~_fThe GTCN constraints in n entail the
II relation il {o, s, d, f, =, fi, di, si, oi}i2
The Overlap predicate, in effect, implements the interval occlusion overlap sub-formula
3t [t~ < t _< t2/x t3 < t < t4] using the constraint network.

6

Planning as Deduction

Consider a logistics scenario, extending the UAV example from Section 2. The task is
to deliver crate1 and crate2 from home base to another location lee1. The UAV needs
help from an unmanned ground vehicle (UGV) that attaches the crates to the UAV while
it is hovering to remain absolutely still. The TAL enhancements introduced above paves
the way for deductive planning in scenarios similar to this.
We introduce a Prolog implementation of a reasoning system for a subset of TAL,
called PARADOCS, that views Planning And Reasoning As DeductiOn with ConstraintS. It supports prediction from a fully instantiated set of actions, planning fromthe empty set of actions, and anything in between. PARADOCS can be used to reason
about a subset of TAL narratives that can be encoded using Horn clauses that are inclose correspondence with the first-order TAL axioms. Temporal relations are managed
by a general temporal constraint network implemented by a set of constraint handlingrules (CHR) [3] [4].
6.1

A UAV Scenario in PARADOCS

Encoding the above scenario with the PARADOCS mind set results in a quite compact program. The entire implementation, excluding the code for the GTCN solver, ispresented and explained below.

Deductive Planning with Temporal Constraints using TAL

147

We start with the semantic attachments. The composition function comp(a,p,p'),borrowed from Thielscher's FLUX implementation [10], denotes the composition p =a o p' and is used to define oc c u r s . The other predicates use the GTCN to link intervals
with their start and end timepoints, to give intervals duration, and to relate intervals witheach other.
occurs(l,k,P):- c o m p ( o c c ( l , A ),P,_) , a c t i o n ( l , A ).
c o m p (A, [A IP2 ] , P2) .
c o m p (A, P, [AII PP] ) :nonvar(P),P = [ A i I P i ] , A \ = = Ai, e o m p ( A , P l , P p ) .
d u r a t i o n (I, T1, T2, T m i n , T m a x ):a r c ( T l , I , [ s t a r t s ] ,p-i) , a r c ( T 2 , I, [ f i n i s h e s ] ,p-i) ,a r c (Ti, T2, [ T m i n - T m a x ] ,p-p) .
n o o v e r l a p (I, I2) :a r e (I, I2, [ a f t e r , b e f o r e , m e e t s , m e t _ b y ], i-i) .
c o v e r s (I, I2) :a r c (I, I2, [ c o n t a i n s , e q u a l s ,f i n i s h e d _ b y , s t a r t e d _ b y ] , i- i) .

Next we deal with persistence. When planning we are continually considering the effects of different action sequences, and we need to continually ensure that those actions
do not compromise any fluent value persistencies that we have previously assumed. The
CHR framework together with the temporal constraint network make a flexible solution
to this problem possible. Whenever a persistence formula is used to prove the persistence of a fluent value over an interval, this is noted in the constraint store. Additionally,
whenever an action is added to the plan, it is also noted in the constraint store. A setof CHR rules are added that trigger on potential conflicts, enforcing new temporal constraints in the network that resolve the conflict by making sure the action interval does
not overlap any part of the persistence interval. If such a resolution is not possible the
network becomes inconsistent, triggering a backtrack in the planning process that willconsider other actions or other ways of proving the fluent value.
In our case every fluent is persistent except s t i l l , a durational fluent that is true
while the UAV is hovering and reverts to false as soon as it stops hovering. Formula
10, with interval primitives and reified action sets, entails the following Horn form thatmakes use of the semantic attachment predicates:

Holds(t2,f,p) ~-- Starts(tl,i) A Finishes(t2,i) A
Holds(h,f,p) A ~Occlude(i,f,p)
We exclude s t i l l , add a p e r s i s t constraint (explained in the next paragraph), andabridge the temporal relations using d u r a t i o n , to get the persistence formula and conflict resolution rules:
h o l d s (T2, F, P) :F \== still, persist(I,E),
holds(Ti,F,P), noocc(I,F)

noocc(I,atuav(_)

inf(Inf),

duration(I,TI,T2,0,Inf),.

) , action(I2,fly(_)) ==>noocc(I,at(X,Y)) , a c t i o n ( I 2 , a t t a c h ( X )n o o c c ( I , a t (X,Y)) , a c t i o n ( I 2 , d r o p(X))

nooverlap(I,I2) .
) ==> nooverlap(I,I2).
==> nooverlap(I,
I2) .

There are potential problems with infinite looping given the depth-first search strategyof Prolog. This is especially true concerning the persistence formula. A fluent is true at148

Martin Magnusson and Patrick Doherty

a timepoint if it is true at an earlier timepoint and is not occluded during the interval in
between. It is true at the earlier timepoint if it is true at an even earlier timepoint, andso on. We see that the looping is correct but unwanted behaviour. But the observationthat if a fluent is persistent over two intervals that meet, then it must be persistent overthe union of the intervals, provides the key to a simple solution. To gain completenessin the general case we would be forced to add a plan length or search depth limit, buthere we get by with adding a constraint rule that prohibits two consecutive persistenceintervals:
persist(Ii,F),

persist(I2,F),path(_,I2,Ii,[met_by],i-i,_)==> fail.

The initial state can be specified after resolving one complication. The GTCN works
exclusively with variables so we can not use a dedicated constant to denote a first timepoint. Instead we use a constraint now that makes sure all references to the initial timepoint are equal. Recognizing that the initial state holds regardless of what actions are in
the action set argument we get:now(Tl) \ now(T2) <=> T1 = T2.
holds(Now, atuav(base),_):- now(Now).
holds(Now, atugv(base),_):- now(Now).
holds(Now,at(cratel,base),_):- now(Now).
holds(Now,at(crate2,base),_):- now(Now).

Moving on to the action specification formulas one might wonder how negative action
effects are realized without regular negation. The answer is that the conflict resolution
constraints, introduced previously, prevent the application of fluent persistency over aninterval where an action with a negative effect for that fluent value overlaps. E.g. if anarrative contains an action that flies the UAV from the base to another location, we canno longer use persistence to prove the UAV is still at the base at some timepoint afteror during the flight. The only way of proving that the UAV is at the base would be by
flying it back.
We encode the action formulas to f l y the UAV, to use the UGV to a t t a c h a crate to
the UAV while it executes a h o v e r , .and to d r o p a crate at the current location, adding
two constraints on the concurrency of flying and hovenng:holds(T2,atuav(X),P):occurs(I,fly(X),P),
holds(Tl,atuav(Y),P),
traveltime(X,Y,T), duration(I,TI,T2,T,T).
holds(T2,carrying(X),P):occurs(I,attach(X),P),
holds(Tl,at(X,Y),P),
holds(Tl,atugv(Y),P),
holds(Tl,atuav(Y),P),
holds(I2,still,P),
covers(I2,I), duration(I,Ti,T2,60,60).
holds(I,still,P):occurs(I,hover,P),
inf(Inf), duration(I,Ti,T2,0,Inf).
holds(T2,at(X,Y),P):occurs(I,drop(X),P),
holds(Tl,carrying(X),P),
holds(Tl,atuav(Y),P),
noocc(I,atuav(Y)),
duration(I,Ti,T2,10,10).
action(I,hover), action(I2,fly(_))
action(I,fly(X)), action(I,fly(Y))==> nooverlap(I,I2).
==> X = Y.

Deductive Planning with Temporal Constraints using TAL

149

The precondition of attach requires the fluent still to hold at all timepoints during
the operation. In first-order logic this is solved with a universal quantifier, but Prolog
is less expressive. Instead we take advantage of the fact that all timepoints between
two timepoints, taken together, constitute an interval. The h o v e r action thus causes thes t i l l fluent to be true over the interval during which the hover is active.
One of the distinguishing qualities of deductive planning is the potential for a seamless use of background knowledge. Knowledge about actions and knowledge aboutother things are expressed in a unified declarative format that is operated upon using
the same deductive mechanisms. Although this description might not be a complete fit
with present-day deductive planning systems, it still provides a strong and appealing
intuition. As a tiny gesture towards this possibility we provide the system with some"background knowledge" expressing the duration of travel given the speed of the UAV
and the distance between locations:
speed(25) .
coord(base, 20000, 12000) .
c o o r d (locl, 2 6 0 0 0 , 2 0 0 0 0 ).
coord (ioc2,26000, 12000) .
d i s t (A,B, D) :c o o r d (A, Ax, Ay) , c o o r d (B, Bx, By) ,D is s q r t ( e x p ( B x- Ax,2) + exp(By- Ay,2)).
t r a v e l t i m e (X,Y,T):dist(X,Y,D),
speed(S),Tis [D / S) * 1.5.

Finally, for completeness of this presentation, we include the last two constraint rulesthat make sure actions and persistencies are only noted once:
persist(I,F)
action(I,A)

6.2\ persist(I,F)<=> true.
\ action(I,A)<=> true.

Plans are Temporal Networks

Using the encoding we can solve the UAV scenario by letting Prolog prove a goal suchas the following:?- n o w (Now) ,P = [occ(Id,drop(cratel)) IP2] ,a r c ( T d , I d , [ f i n i s h e s ] ,p- i ) , a r c ( N o w , T d ,[600-900] ,p-p),
h o l d s (Tn, a t ( c r a t e l , l o c l ) , P) , h o l d s (Tn, at ( c r a t e 2 , l o c l ) , P) .

In addition to the declarative goals that the crates should be at l o c i we state that theresulting plan will involve dropping c r a t e 1 and that this action should be completed
within 10 to 15 minutes from now.
After a pause of 17 seconds SICStus Prolog 3.12.5, running the above program on
an Intel Pentium M 1.8 GHz, produces a plan in the form of a set of actions and eightpages of constraints that relate them temporally. The plan is visualized using a graphicalinterface that displays a diagram approximately like the one in Figure 1.
The diagram is a convenient overview of the plan but does not necessarily reflect
the full extent of uncertainty in the corresponding GTCN. Through interaction with thegraphical interface we discover that the two a t t a c h actions, as well as the two drop

150

Martin Magnusson and Patrick Doherty

12:Q0:00 ,qnf-~3:50 0~00-3;50 atuav(base)~O~3:50
1:00~-4:s0 1:0074:50 , : ~ . . . . . o y . . . . . . oo_. . . . . . . . . 14:S0 11:00-1hi 11:IC-Alll 11:10Hnf 11:lO-kd

1 "y{'='liat(craiG1,base)atugv(base)atuav!base)I
attach(crate1)

carrying(crate?)!

i
attach(prate2)tarop(qratal)

L

i
Jt

i

at(cratel,locl)
i

!

J

hover
ai(crate2.bas~)
edugv(base~atuav(basa)iiatua~t~l)bca=m/ing(crate2)|iclrop(irate2) atcrate2lociFig. 1. A plan diagram.
actions, can be ordered in whatever way seems best, that the h o v e r action is constrained
only to be before the f l y action while covering the a t t a c h actions, and that there is
flexible room for pauses between actions during execution. The quantitative constraint
on c r a t e l has been propagated and shows e.g. that the UAV needs to leave base at
4:50 at the latest, and that the drop can be made at 11 : 10 at the earliest.
Let us now suppose that the plan is executed, the UGV attaches the crates and the
UAV flies to l o c l . However, when it arrives a UAV operator pauses the execution andviews the remaining parts of the plan, the two drop actions that have not yet been executed. The operator changes the goal of delivering c r a t e 2 at l o c i to another location,
ioc2.
?- now(Now),
P = [occ(Id, drop(cratel)), occ(Id2,drop(crate2))JP2],
holds(Tn,at(cratel,locl),P), holds(Tn,at(crate2,1oc2),P).

The persistence intervals ensures a large amount of flexibility in the plan. PARADOCS
takes advantage of this and elaborates the plan fragment to fit the goals by introducing a
new f l y action in between the d r o p actions. New actions can be inserted in the middleof the plan without first backtracking on later actions, thereby reducing the search space.
In fact, the UAV problem just discussed was solved without backtracking on any action
choices.
7

Related Work

Much of the inspiration to PARADOCS comes from other research groups with similar
approaches. We only have space to compare our approach with the most important
influences and start with Shanahan's abductive event calculus planner [8]. It is based on
the Event Calculus, another explicit time formalism, but produces its partially orderedplans using abduction on Occurs and temporal relations through an abductive metainterpreter, which is (we think) slightly more complex than our deduction with reified
action occurrences.
Unlike Shanahan's use of timepoint relations the expressive power of the GTCN
does not force us to adopt the promote/demote strategy from partial order planning algorithms when faced with possible "protected link" conflicts. Instead n o o c c / a c t i o nDeductive Planning with Temporal Constraints using TAL

151

inconsistencies can be detected even with incomplete temporal information. We have infact experimented with weaker constraint solvers similar to simple temporal networks,
but found the much added complexity of the implementation that result from the introduction of promotion and demotion to detract from the clarity of presentation of thebasic PARADOCS mind set.
In a feature comparison, the event calculus planner extends our basic planning capabilities with hierarchical planning and a form of knowledge producing sensing actions
based on abduction [9].
Another deductive planning framework is Golog [6], based on the Situation Calculus from where the idea of reified action occurrences passed around using an extra
predicate argument originates. But Golog's situation terms contain linearly ordered action sequences without explicit temporal information. This fact prevents the generationof partially ordered plans, but note that such shortcomings can be overcome throughvarious extensions, as is done e.g. in Congolog [5].
Finally, the Fluent Calculus serves as the formal basis for FLUX [ 10], another logic
programming methodology that supports deductive planning with linear plans. Constraint handling rules are used in FLUX, but not for temporal reasoning. Instead, they
enable the representation and planning with some forms of incomplete information.

8

Conclusions

The explicit time formalism of Temporal Action Logic exposes qualitative and quantitative temporal primitives that are particularly amenable to reasoning using temporalconstraint networks. This paper takes a first step in that direction. Based on this extension, a concise but expressive logic program for deductive planning that implements astrategy of minimal commitment by taking advantage of disjunctive and incompletely
specified temporal constraints can be specified. By expressing the planning problem asa reasoning problem in TAL we have created a framework for extensions in the directionof planning with incomplete information and knowledge producing actions.

Acknowledgements
This research has been supported by funding from the Swedish National Aeronautics
Research grant (NFFP4-S4203), CENIIT, and a Swedish Research Council Grant.

References
1. James E Allen. Maintaining knowledge about temporal intervals. Communications of theACM, 26(11):832-843, 1983.
2. Patrick Doherty and Jonas Kvarnstr6m. Temporal action logics. In Vladimir Lifschitz,
Frank van Harmelen, and Bruce Porter, editors, The Handbook of Knowledge Representation.
Elsevier, 2007. To appear.
3. Thom Fr/ihwirth. Temporal reasoning with constraint handling rules. Technical Report
ECRC-94-05, Munich, Germany, 1994.

152

Martin Magnusson and Patrick Doherty

4. Thom Friihwirth. Theory and practice of constraint handling rules. Journal of Logic Programming, Special Issue on Constraint Logic Programming, 37( 1-3):95-138, October 1998.
5. Giuseppe De Giacomo, Yves Lesperance, and Hector J. Levesque. Congolog, a concurrent
programming language based on the situation calculus. Artificial Intelligence, 121(1-2): 109169, 2000.
6. Hector J. Levesque, Raymond Reiter, Yves Lesperance, Fangzhen Lin, and Richard B.
Sched. GOLOG: A logic programming language for dynamic domains. Journal of Logic
Programming, 31(1-3):59-83, 1997.
7. Itay Meiri. Combining qualitative and quantitative constraints in temporal reasoning. In
Proceedings of the Ninth National Conference on Artificial Intelligence, pages 260-267,
1991.
8. Murray Shanahan. An abductive event calculus planner. Journal of Logic Programming,
44(1-3):207-240, 2000.
9. Murray Shanahan and Mark Witkowski. High-level robot control through logic. Lecture
Notes in Computer Science, 1986, 2001.
10. Michael Thielscher. FLUX: A logic programming method for reasoning agents. Theory andPractice of Logic Programming, 5(4-5):533-565, 2005.
11. Marc Vilain and Henry Kautz. Constraint propagation algorithms for temporal reasoning. In
Proceedings of AAAI-86, pages 377-382, 1986.