<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Logic for Specifying Metric Temporal Constraints for Golog Programs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Knowledge-Based Systems Group</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Copyright c by the paper's authors. Copying permitted for</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>RWTH Aachen University</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>private and academic purposes., In: G. Steinbauer, A. Ferrein (eds.): Proceedings of the 11th, International Workshop on Cognitive Robotics</institution>
          ,
          <addr-line>Tempe, AZ, USA, 27-Oct-2018, published at http://ceur-ws.org</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1996</year>
      </pub-date>
      <fpage>36</fpage>
      <lpage>46</lpage>
      <abstract>
        <p>Executing a Golog program on an actual robot typically requires additional platform constraints to be satis ed. Such constraints are often temporal, refer to metric time, and require modi cations to the abstract Golog program. Based on ES and ESG, modal variants of the Situation Calculus, we propose the logic t -ESG, a logic which allows the speci cation of metric temporal constraints for Golog programs. We provide a comparison to ESG and show that Metric Temporal Logic (MTL) can be embedded into t -ESG. We show how to formulate constraints using a model of the robot platform, and we sketch a procedure that solves those constraints using Simple Temporal Networks (STNs).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>While Golog [14], an agent programming language
based on the Situation Calculus [15, 20], allows a clear
and abstract speci cation of an agent's behavior,
executing a Golog program on a real robot often creates
additional issues. Typically, the robot's platform
requires additional constraints that are ignored when
designing a Golog program. As an example, a robot
needs to calibrate its arm before it can use it, and it
needs to enable its perception module before it
interacts with its environment. Developers typically face
two options: First, they can directly model all the
platform details in the basic action theory (BAT) and
add respective actions to their programs, e.g., they
can enable the perception before a pick action and
disable it afterwards again. However, this makes the
behavior speci cation much more complex and
errorprone. If the program involves some form of planning
or search, the platform details may cause performance
degradation, as the search space's size is increased by
the additional actions. Additionally, most of these
platform details are not speci c to one particular program,
but to the platform. Any change to the platform needs
to be re ected in the behavior speci cation. As an
alternative, the developers may decide to use Golog
for an abstract behavior speci cation and deal with
the platform details on the lower levels. However, this
is often not possible, as platform constraints require
changes to the high-level program, and thus the
program cannot be clearly separated from the platform it
is running on.</p>
      <p>In this paper, we propose a di erent approach: As
before, the agent's behavior is speci ed with an abstract
program. However, based on platform models as shown
in Figure 1, we construct a maintenance BAT that
allows to specify a set of additional constraints on the
platform. The abstract plan from the original Golog
program is then transformed into an executable action
sequence that satis es the platform constraints.</p>
      <p>The main ideas of this approach were sketched in
[10]. In the following, we focus on the logical
foundations that allow the speci cation of metric temporal
constraints. Our starting point is the logic ESG [6], a
temporal variant of ES [13], which in turn is a modal
variant of the Situation Calculus. We extend ESG by
metric time, quantitative temporal operators similar
to Metric Temporal Logic (MTL) [12], and additional
temporal operators previous and since, which refer to
past states in the same way as next and until refer to
future states. We show the relationship between ESG
and t -ESG and we provide an embedding of MTL into
t -ESG. Next, we show how to describe a BAT and an</p>
    </sec>
    <sec id="sec-2">
      <title>Calibrating</title>
    </sec>
    <sec id="sec-3">
      <title>Uncalibrated</title>
      <p>start calibrate()</p>
      <p>5s
abstract Golog program in t -ESG and how to
formulate metric temporal platform constraints with t -ESG.
Finally, we sketch how to resolve those constraints with
a Simple Temporal Network (STN) to transform the
abstract program into an executable action sequence.
2</p>
      <sec id="sec-3-1">
        <title>Foundations &amp; Related Work</title>
        <p>The Situation Calculus [15, 20] is a rst-order logic
for representing and reasoning about actions. Action
preconditions and e ects are axiomatized with basic
action theories and situations are histories of actions,
e.g., the situation term do(pick (o1); S0) refers to the
situation after doing action pick (o1) in the initial
situation. The programming language Golog [14] is based
on the Situation Calculus and o ers imperative
programming constructs such as sequences of actions and
iteration as well as non-deterministic branching and
non-deterministic choice. The semantics of Golog
and its on-line variant IndiGolog can be speci ed in
terms of transitions [7].</p>
        <p>The logic ES [13] is a modal variant of the
Situation Calculus which gets rid of explicit action terms
and uses modal operators instead. As an example,
[pick (o1)]Holding (o1) is satis ed i Holding (o1) is true
after doing pick (o1). The logic ESG [6, 5] is a temporal
extension of ES for the veri cation of Golog programs.
It speci es program transition semantics similar to the
transition semantics of IndiGolog and extends ES
with the temporal operators X (next ) and U (until ).</p>
        <p>The Situation Calculus has also been extended by a
notion of time. Reiter requires each action A to have an
explicit time argument, i.e., each action is of the form
A(~x; t) [19]. Durative actions are modeled with start
and stop actions, and the time of the last occurrence of
an action can be referred by time(A(~x; t)). Reiter also
extends the Situation Calculus with concurrency, e.g.,
do(fend pick (o1); start goto(kitchen)g; s) refers to the
situation after ending the action pick (o1) and at the
same time start moving to the kitchen. A similar
approach is described by [18], which also allows temporal
reasoning about situations. In particular, they di
erentiate between possible and actual evolvements of the
current situation by adding axioms for a distinct
predicate actual , where actual (s) is true i s is an actual
evolvement of the world. This di erentiation is
important, because otherwise, we could not express much
about the future; as long as there is a possible action
that causes a formula to be false, we cannot state
that is true in the next situation, even if the agent
has no intention (e.g., it is not the next action in the
Golog program) to execute the action. As we will see,
this problem does not occur in ESG or t -ESG.</p>
        <p>MTL [12] is an extension of Linear Time Logic (LTL)
with metric time, which allows expressions such as F c ,
meaning eventually within time c. In MTL, formulas
are interpreted over timed words or timed state
sequences, where each state speci es which propositions
are true, and each state has an associated time value.
Depending on the choice of the state and time theory,
the satis ability problem for MTL becomes
undecidable [2]. However, for nite words, it has been shown to
be decidable [16]. MTL has been restricted to Metric
Interval Temporal Logic (MITL) [3], which prohibits
singular intervals and is interpreted over time intervals
instead of time points, which makes the satis ability
problem for MITL decidable. MTLP [4] is an extension
of MTL with temporal operators referring to the past,
e.g., V (preVious ) and S (Since).</p>
        <p>Simple Temporal Networks (STNs) [8] provide an
e cient procedure to solve a constraint problem given
by a set of time-points ftig and a set of binary temporal
constraints of the form tj ti . Disjunctive Linear
Relations (DLRs) [11] allow more expressive temporal
constraints; the restricted Horn DLRs can be solved in
polynomial time and still subsume STNs.</p>
        <p>Similar to the proposed approach, Schi er,
Wortmann, and Lakemeyer extend Golog for
selfmaintenance [21] by allowing temporal constraints
using Allen's Interval Algebra [1]. Those constraints are
resolved on-line by interleaving the original program
with maintenance actions. Closely related is also the
work by [9], who propose a hybrid approach of temporal
constraint reasoning and reasoning about actions based
on the Situation Calculus. Similar to [21], they allow
constraints based on Allen's Interval Algebra, which
are translated into a temporal constraint network.
3</p>
        <p>Timed ESG
In this section, we present the syntax and semantics
of t -ESG. As t -ESG is based on ESG, its syntax and
semantics are also based on ESG and ES. We refer to
[13, 6, 5] for more details on the original syntax and
semantics.
De nition 1 (Language of t -ESG). The language
consists of formulas over symbols from the following
vocabulary:
1. object variables x1; x2; x3; : : : ; y1; : : :
2. action variables a; a1; a2; a3; : : :
3. number variables t1; t2; t3; : : :
4. object standard names NO = fo1; o2; o3; : : :g
5. action standard names NA = fp1; p2; p3; : : :g
6. number standard names NN
here, we assume NN = Q
= f0; 1; 2; 12 ; : : :g;
7. uent predicates of arity k: F k : ff1k; f2k; : : :g,
e.g., Holding ; we assume this list contains the
distinguished predicates Poss and &lt;
8. rigid functions of arity k: Gk = fg1k; g2k; : : :g, e.g.,
goto; including distinguished functions +; 2 G2
9. uent object functions of arity k:
fh1k; h2k; : : :g, e.g., parent
H
k
=
10.</p>
        <p>uent number functions of arity k: Ik =
ik; i2k; : : :g, e.g., battery ; including distinguished
ffu1nctions time 2 I1 and now 2 I0
11. open, closed, and half-closed intervals, e.g., [1; 2],
with constants of sort number as interval endpoints
12. connectives and other symbols: =, ^, _, :, 8,</p>
        <p>XI ;VI , UI , SI (with interval I), , [ ], J K
We also write F for the set Sk2N0 F k, similarly for
G; H; I. We also denote the set of standard names as
N = NO [ NA [ NN . Furthermore, we call a term
primitive if it is of the form f (n1; : : : ; nk), with f; ni
being standard names. We denote the set of primitive
terms as PO (objects), PA (actions), and PN (numbers),
and P = PO [ PA [ PN .</p>
        <p>We read XI as next (within interval I), VI as
previously (within interval I), UI as until (within
interval I), and SI as since (within interval I).
De nition 2 (Terms of t -ESG). The set of terms of
t -ESG is the least set such that
every variable is a term of the corresponding sort,
every standard name is a term of the corresponding
sort,
if t1; : : : ; tk are terms and f is a k-ary function
symbol, then f (t1; : : : ; tk) is a term of the same
sort as f .</p>
        <p>De nition 3 (Programs).</p>
        <p>::= t j
where t is an action term and is a static situation
formula. A program consists of primitive actions t, tests
?, sequences 1; 2, nondeterministic branching 1j 2,
nondeterministic choice of argument x: , interleaved
concurrency 1k 2, and nondeterministic iteration .
De nition 4 (Situation Formulas). The situation
formulas are the least set such that
1. if t1; : : : ; tk are terms and P is a k-ary predicate
symbol, then P (t1; : : : ; tk) is a situation formula,
2. if t1 and t2 are terms, then (t1 = t2) is a situation
formula,
3. if and are situation formulas, x is a variable,
P is a predicate symbol, is a program, and is
a trace formula, then ^ , : , 8x: , , [ ] ,
and J K are situation formulas.</p>
        <p>We call a situation formula of the form P (n1; : : : ; nk)
with ni 2 N a primitive formula and denote the set of
primitive formulas as PF .</p>
        <p>De nition 5 (Trace Formulas). The trace formulas
are the least set such that
1. if is a situation formula, then it is also a trace
formula,
2. if and are trace formulas, x is a variable, and
I is an interval, then ^ , : , 8x: , XI , VI ,</p>
        <p>SI , and UI are also trace formulas.</p>
        <p>We also write &lt; c, c, = c, &gt; c, and c for the
respective intervals [0; c), [0; c], [c; c], (c; 1), and [c; 1).
We use the short-hand notation FI
def
=
(future) and GI :FI : (globally ), as well as
PI d=ef (&gt; UI ) (past ) and HI d=ef :PI :
(historically ). For intervals, c + [s; e] denotes the interval
[s+c; e+c], similarly for c+(s; e), c+[s; e), and c+(s; e].
We also omit the interval I if I = [0; 1), e.g., U is
short for
d=ef (&gt; UI )</p>
        <p>De nition 6 (Static Formulas). A situation formula
is static if it contains no [ ], , or J K operators.
De nition 7 (Bounded Formulas). A situation
formula is bounded if it contains no or J K operators,
and [t] operators only in case the argument is an atomic
action t.</p>
        <p>De nition 8 (Fluent Formulas). A situation formula
is uent if it is static and contains no predicate Poss.
The language of t -ESG extends the language of ESG
by the constrained temporal operators XI and UI .
Also, ESG has no operators referring to the past; i.e.,
no V or S (or their constrained variants VI and SI ).
Finally, as we understand X ( U ) as short-hand
notation for X[0;1) ( U[0;1) ), the language of ESG
is a subset of t -ESG.
De nition 9 (Timed Traces). A timed trace is a
possibly in nite timed sequence of action standard names
with monotonically non-decreasing time. Formally, a
trace is a mapping : N ! PA NN , and for any
i; j 2 N with (i) = ( i; ti), (j) = ( j; tj) : If i &lt; j,
then ti tj. Also, we require the sequence (ti)i2N to
be non-Zeno, i.e., it is either nite or unbounded.</p>
        <p>
          For a nite timed trace z = h(a1; t1) (a2; t2) : : :
def
(ak; tk)i, we de ne time(z) = tk, i.e., time(z) is the
time value of the last action in z. We denote the set of
nite timed traces as Z, the set of in nite timed traces
as , and the set of all traces as T = Z [ .
De nition 10 (World). Intuitively, a world w
determines the truth of uent predicates as well as the
value of uent functions, not just initially, but after
any (timed) sequence of actions. Formally, a world
is a mapping w that maps (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) PF Z ! f0; 1g,
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) PO Z ! NO, and (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) PN Z ! NN .
        </p>
        <p>Similar to ES and ESG, the truth of a uent after
any sequence of actions is determined by a world w.
Di erent to ES and ESG, we require all traces referred
by a world to contain time values for each action. This
also means that in the same world, a uent predicate
F (~n) may have a di erent value after the same sequence
of actions if the actions were executed at di erent times,
i.e., w[F (~n; h(a1; 1)i] may have a di erent value than
w[F (~n; h(a1; 2)i].</p>
        <p>De nition 11 (Denotation of terms). Given a ground
term t, a world w, and a timed trace z 2 Z, we de ne
jtjzw by:
1. if t 2 N , then jtjzw = t,
2. if t = now , then jtjzw = time(z),
3. if t = time(a(t1; : : : ; tk)), then jtjzw = max fta j
(a(n1; : : : ; nk); ta) 2 zg [ f0g, where ni = jtijzw,
4. if t = f (t1; : : : ; tk) then jtjzw = w[f (n1; : : : ; nk); z],
where ni = jtijzw</p>
        <p>Note the special denotation for the function symbols
now 2 I0 and time 2 I1. The term now always refers
to the current time, while time(A(~x)) refers to the time
of the last occurrence of A(~x), or 0 if the action has
never occurred.</p>
        <p>De nition 12 (Program Transition Semantics). The
transition relation !w among con gurations, given a
world w, is the least set satisfying
1. hz; ai !w hz (p; t) ; nil i, if p = jajzw, t
and w; z (nil ; t) j= Poss(p)</p>
        <p>w w
2. hz; 1; 2i ! hz p; ; 2i, if hz; 1i ! hz p; i,
3. hz; 1; 2i !w hz p; 0i if hz; 1i 2 F w and hz; 2i !w
hz p; 0i
4. hz; 1j 2wi !w hz p; 0i if hz; 1i !w hz p; 0i or
hz; 2i ! hz p; 0i
5. hz; x: i !w hz p; 0i, if hz; nxi !w hz p; 0i for
some n 2 Nx</p>
        <p>w w
6. hz; i ! hz p; ; i if hz; i ! hz p; i</p>
        <p>w w
7. hz; 1k 2i ! hz p; 0k 2i if z; 1 ! hz p; 0i
w w
8. hz; 1k 2i ! hz p; 1k 0i if z; 2 ! hz p; 0i
time(z),
The set of nal con gurations F w is the smallest set
such that
1. hz; ?i 2 F w if w; z j= ,
2. hz; 1; 2i 2 F w if hz; 1i 2 F w and hz; 2i 2 F w
3. hz; 1j 2i 2 F w if hz; 1i 2 F w, or hz; 2i 2 F w
4. hz; x: i 2 F w if hz; nxi 2 F w for some n 2 Nx
5. hz; i 2 F w
6. hz; 1k 2i 2 F w if hz; 1i 2 F w and hz; 2i 2 F w
The program transition semantics is very similar to
the semantics of ESG. The only di erence is in Rule 1,
which has an additional constraint on the time, and
which requires the action to be executable.</p>
        <p>De nition 13 (Program Traces). Given a world w
and a nite sequence of action standard names z, the
set k kzw of (timed) traces of a program is
k kzw =
f 2</p>
        <p>
          where for all i
fz0 2 Z j hz; i !w hz z0; 0i and hz z0; 0i 2 F wg[
j hz; i !w hz (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ); 1i !w hz (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ); 2i !w : : :
0, hz
(i); ii 2= F wg
De nition 14 (Truth of Situation and Trace
Formulas). Given a world w 2 W and a situation formula ,
we de ne w j= as w; hi j= , where for any z 2 Z:
1. w; z j= F (t1; : : : ; tk) i
where ni = jtijzw,
w[F (n1; : : : ; nk); z] = 1,
2. w; z j= (t1 = t2) i n1 and n2 are identical, where
ni = jtijzw,
3. w; z j=
^
i w; z j=
and w; z j=
4. w; z j= :
        </p>
        <p>i w; z 6j=
5. w; z j= 8x: i w; z j=
nx for all n 2 Nx
6. w; z j=
i w; z z0 j=
for all z0 2 Z
7. w; z j= [ ] i for all nite z0 2 k kzw, w; z z0 j=
8. w; z j= J K i for all
2 k kzw, w; z; j=
Intuitively, [ ] means that after every execution of ,
the situation formula is true. J K means that during
every execution of , the trace formula is true.</p>
        <p>The truth of trace formulas is de ned as follows
for w 2 W, z 2 Z, and 2 T :
i
w; z j=
and
is a situation
1. w; z; j=</p>
        <p>formula,
2. w; z; j=
^
i w; z; j=
and w; z; j= ,
3. w; z; j= :</p>
        <p>i w; z; 6j= ,
4. w; z; j= 8x: i w; z; j=
xn for all n 2 Nx,
5. w; z; j= XI i there is p 2 PA with = p
w; z p; 0 j= , and time(p) 2 time(z) + I,
0,
6. w; z;
w; z0; p
j= VI i z = z0 p for some p 2 PA,</p>
        <p>j= , and time(z) 2 time(z0) + I,
7. w; z; j=</p>
        <p>UI</p>
        <p>i there is a z1 such that
(a)
= z1</p>
        <p>0,
(b) time(z1) 2 time(z) + I,
(c) w; z z1; 0 j= ,
(d) for all z2 6= z1 with z1 = z2 z3: w; z z2; z3
0 j=
8. w; z; j=</p>
        <p>SI</p>
        <p>i there is a z1 such that
(a) z = z1 z2,
(b) time(z) 2 time(z1) + I,
(c) w; z1; z2 j= ,
(d) for all z3 6= hi with z2 = z3 z4: w; z1 z3; z4
j=</p>
        <p>We shortly explain the intuitive meaning of the
temporal operators:</p>
        <p>XI is true i holds at the next state (i.e., after
the next action), which must be within interval I.</p>
        <p>VI is true i holds at the previous state (i.e.,
before the last action), which must be within
interval I.</p>
        <p>UI is true i there is a state in the future
within interval I where is true, and in all states
before that, must be true.</p>
        <p>SI is true i there is a state in the past within
interval I where is true, and in all states between
that state and the current state, must be true.</p>
        <p>Note that trace formulas are only interpreted over
actual traces of the program . Thus, a formula X is
true even if there is a possible action a that renders
to be false, as long as a does not occur in . Therefore,
there is no need for a distinct predicate actual (s) as
used by [18].</p>
        <p>De nition 15 (Satis ability). A situation formula
is satis able i there is a world w such that
w j=
De nition 16 (Validity). A situation formula is
valid i for any world w: w j= . We also write j=
for a valid situation formula . A trace formula is
valid i for any world w and any trace : w; hi; j= .
We also write j= for a valid trace formula .
4</p>
        <p>t -ESG and ESG
In the following, we compare the rst-order fragment
of ESG to t -ESG. To distinguish the semantics of ESG
and t -ESG, we denote the respective semantics with a
subscript whenever necessary, e.g., Zt-ESG denotes the
nite traces of t -ESG. We assume a slightly di erent
program transition semantics for ESG: For an action
term a, we only allow the transition hz; ai !w hz p; nil i
if w; z j= Poss(p); the program can only transition from
action a to nil if action a is currently possible.
Formally, we replace Rule 1 of the ESG program transition
semantics by the following rule:</p>
        <p>1. hz; ai !w hz p; nil i if p = jajzw and w; z j= Poss(p)
This is similar to replacing each primitive action a in a
program by Poss(a)?; a as done by [6]. Additionally,
as time and now have a special meaning in t -ESG, we
assume wlog that does not mention either of them.
Apart from that, syntax and semantics of ESG are
similar to t -ESG, but without constrained temporal
operators (e.g., no XI , only the unconstrained variant
X ), and without any past temporal operators (V and
S ). We refer to [6, 5] for the full ESG syntax and
semantics.
also j=ESG
Theorem 1. Let be a rst-order sentence of ESG
that does not mention time or now . If j=t-ESG , then
.</p>
        <p>Proof. We show that if there is an ESG world w and
an ESG trace z 2 ZESG with w; z 6j= , then there is
a t-ESG world wt and a t-ESG trace zt 2 Zt-ESG with
wt; zt 6j= .</p>
        <p>Let w be an ESG world and z = ha1; : : : ; aki 2 ZESG
such that w; z 6j= . We construct wt and zt with
wt; zt j= i w; z j= as follows: Let wt be a
t-ESG world such that for every 2 P and every
zt0 = h(a01; t01) ; (a02; t02) ; : : : ; a0j; t0j i:
wt[ ; h(a01; t01) ; (a02; t02) ; : : : ; a0j; t0j i]</p>
        <p>= w[ ; ha01; a02; : : : ; a0ji]
In other words, wt agrees with w on any primitive uent
after any sequence of actions irrespective of the time.
Additionally, we set zt = h(a1; 1) ; (a2; 2) ; : : : (ak; k)i.
First, we need to show that jpjzw = jpjzwtt for any term
p occurring in . We do this by induction over p:
Let p 2 N . Then jpjzw = jpjzwtt = t.</p>
        <p>Let p = f (p1; : : : ; pl).</p>
        <p>Then, by de nition of j j, jpjzw = w[f (n1; : : : ; nl)z]
with ni = jpijzw. By induction, jpijzwtt = jpijzw,
and thus jpijzwtt = ni. Also, by de nition of
wt, wt[f (n1; : : : ; nl); zt] = w[f (n1; : : : ; nl); z], and
thus jpjzwtt = jpjzw.</p>
        <p>Note that p cannot mention now because
mention now .</p>
        <p>Now, we show by induction over
i w; z j= .</p>
        <p>does not
that wt; zt j=
Let = F (p1; : : : ; pl). As shown:
jpijzwtt = jpijzw. Therefore, by de nition of
wt, wt[F (p1; : : : ; pl); zt] = w[F (p1; : : : ; pl); z], and
thus wt; zt j= i w; z j= .</p>
        <p>Let = (p1 = p2). With jpijzwtt = jpijzw, it follows
that jp1jzwtt = jp2jzwtt i jp1jzw = jp2jzw, and thus
wt; zt j= i w; z j= .</p>
        <p>Let = ^ . By induction, wt; zt j= i w; z j=
and wt; zt j= i w; z j= . As the semantics of
the connective ^ do not di er between ESG and
t-ESG, it follows that wt; zt j= i w; z j= .
Let
= : . By induction: wt; zt j=
i w; z j= .</p>
        <p>Let = 8x: . By induction, for each n 2 Nx:
wt; zt j= nx i w; z j= nx. As ESG and t-ESG
use the same standard names Nx, it follows that
wt; zt j= i w; z j= .</p>
        <p>Let = . Assume w; z 6j= . Then there is a
z0 2 ZESG with w; z z0 6j= . Let z0 = ha01; : : : ; a0ji.
Then, we set zt0 = h(a01; k + 1) ; : : : ; a0j; k + j i 2
Zt-ESG. By induction, wt; zt zt0 6j= .</p>
        <p>For the other direction, assume wt; zt 6j= .
Then there is zt0 = h(a01; k + 1) ; : : : ; a0j; k + j i 2
Zt-ESG with wt; zt zt0 6j= . By induction, it follows
that for z0 = ha01; : : : ; a0ji: w; z z0 6j= :
Therefore, w; z j= i wt; zt j= .</p>
        <p>Let</p>
        <p>= [ ] . First, note that
k kzwtt = fh(a01; t01) ; (a02; t02) ; : : : ; a0j; t0j i j
ha01; a02; : : : ; a0ji 2 k kzw;
ti 2 NN ; t1</p>
        <p>time(zt); for i &lt; j : ti
This follows from the fact that the program
transition semantics k k di ers from ESG to t-ESG only
in Rule 1, where we add a constraint on time. As
does not mention now or time, the additional
constraint only enforces monotonically non-decreasing
time.</p>
        <p>Now, assume there is z0 = ha01; : : : ; a0li 2 k kzw with
w; z z0 6j= . Then zt0 = h(a01; t0) ; : : : ; (a0l; t0)i 2
k kzwtt with t0 = time(z). By induction, wt; zt zt0 6j=
.</p>
        <p>For the other direction, assume there is zt0 =
h(a01; t01) ; : : : ; (a0l; t0l)i 2 k kzwtt with wt; zt zt0 6j= .
Then z0 = ha1; : : : ; ali 2 k kzw and by induction:
w; z z0 6j= . Thus, w; z j= [ ] i wt; zt j= [ ] .
Let = J K . First, note that Equation 1 also
holds for in nite traces.</p>
        <p>
          Let 2 k kzw be an arbitrary trace with =
ha01; a02; : : :i, then t = h(a01; t01) ; (a02; t02) ; : : :i 2
k kzwtt for arbitrary ti with the constraints from
Equation 1. We show by sub-induction over :
w; z; j= i wt; zt; t j= .
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
tjg
{ Let = be a situation formula. Then by
induction: w; z j= i wt; zt j= .
{ Let = 1 ^ 2. As in the case for the
situation formula, the semantics of the connective
^ do not di er between ESG and t-ESG.
{ Let = : . By sub-induction: w; z; j=
i wt; zt; t j= .
{ Let = 8x: . Again, as ESG and t-ESG
use the same standard names, we can
follow by sub-induction: Nx, w; z; j= nx i
wt; zt; t j= nx for every n 2 Nx.
{ Let = X . Assume w; z; j= X .
        </p>
        <p>There is p 2 PA with = p 0 such
that w; z p; 0 j= . Then there is a
tp time(zt) such that t = (p; tp) t0. By
induction, wt; zt (p; tp) ; 0 j= .
Furthermore, in t-ESG, X is short-hand for X[0;1) .
As tp 2 time(zt) + [0; 1), it follows that
wt; zt; t j= X .</p>
        <p>Now, assume wt; zt; t j= X . There is
p 2 NA with t = (p; tp) t0 such that
tp time(zt) and wt; zt (p; tp) ; t0 j= . By
Equation 1, there is a 0 = ha01; : : :i such that
= p 0 and t0 = h(a01; t01) ; : : :i. Then, by
induction: w; z p; 0 j= .
{ Let = 1 U 2. First, note that in t -ESG,
U stands for U[0;1) , thus there are no
constraints on the time. Similar to the previous
case, we can construct pairs (zi; zt;i), such
that w; z zi; 0 j= i wt; zt zt;i; t0 j= ,
same for . Thus, by induction, w; z; j=</p>
        <p>U i wt; zt; t j= U .</p>
        <p>Note that the other direction of the theorem is not
true; a valid sentence in ESG is not necessarily valid in
t -ESG. As an example, consider the sentence
= [A]F _ [A]:F
In ESG, is valid, because for each w, either w j= [A]F
or w j= [A]:F , as w[F; hAi] is either 0 or 1. However,
in t-ESG, is not valid. Consider a world wt of t -ESG
with w[F; h(A; 0)i] = 0 and w[F; h(A; 1)i] = 1, i.e., if
A is performed at time 0, then F is false, but if it is
performed at time 1, then F is true. Thus, w 6j= [A]F ,
but also w 6j= [A]:F , and therefore w 6j= .
5 t -ESG and MTL
We show that MTL is part of t -ESG. We do this by
translating a timed word of MTL into an t -ESG world
w. First, we summarize MTL and its pointwise
semantics following the notation by [17].</p>
        <p>De nition 17 (Formulas of MTL). Given a set P of
atomic propositions, the formulas of MTL are built as
follows:
::= p j : j
^
j</p>
        <p>UI
De nition 18 (Pointwise semantics of MTL). Given
an alphabet of events , a timed word is a nite or
in nite sequence ( 0; 0) ( 1; 1) : : : where i 2 and
i 2 R+ such that the sequence ( i) is monotonically
non-decreasing1 and non-Zeno.</p>
        <p>
          Given a timed word = ( ; ) over alphabet 2P
and an MTL formula , ; i j= is de ned as usual
for the boolean operators, and with the following rule
for UI : ; i j= 1 UI 2 i there exists j such that
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) i &lt; j &lt; j j, (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) ; j j= 2, (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) j i 2 I, and
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) ; k j= 1 for all k with i &lt; k &lt; j.
        </p>
        <p>Theorem 2. Let be a sentence of MTL. Then j=t-ESG
i j=MTL .</p>
        <p>1Some variants of MTL require ( i) to be strictly increasing,
which can be represented in t-ESG by requiring strictly increasing
traces.</p>
        <p>Proof. We assume wlog that P F 0, i.e., atomic
propositions of MTL are 0-ary uents of t -ESG. Given
a t -ESG world w and a trace , we construct a timed
word such that w; hi; j=t-ESG i j=MTL , and
vice versa.
): Let w be a t -ESG world and a trace. We construct
the timed word = ( ; ) as follows:
1. Set 0 = 0 and 0[p] = w[p; hi] for every p 2 P .
2. For every i 2 N : For (i) = (ai; ti), set i = ti.
3. For every nite pre x zi = h(a1; t1) ; : : : ; (ai; ti)i
of and every p 2 P , set i[p] = w[p; zi].</p>
        <p>We show that w; zi; j=t-ESG
over .
i ; i j=
by induction
Let = pi be an atomic formula. The claim
follows by de nition of .</p>
        <p>Let = : . By induction, w; zi; j=
, so the claim follows.
i
; i j=
Let = 1 ^ 2. By induction, w; zi; j= 1 i
; i j= 1, same for 2.</p>
        <p>Let</p>
        <p>= 1 UI 2.</p>
        <p>First, assume w; zi; j= 1 UI 2. Then there is a
zj with = zj 0 such that time(zj) 2 time(zi)+I,
w; zi zj; 0 j= 2, and for all zk 6= zj with zj =
zk zl: w; zi zk; zl 0 j= 1. Then, by de nition
of : ; i + j j= 2, j 2 I, and for all k with
i &lt; i + k &lt; i + j, ; i + k j= 1. Thus, by de nition
of MTL's UI : ; i j= 1 UI 2.</p>
        <p>Now, assume ; i j= 1 UI 2. Similar to the
previous case: There is a j with i &lt; j &lt; j j,
; j j= 2, j i 2 I, and for all k with i &lt; k &lt; j:
; k j= 1. Then, by de nition of , there is a
zj with = zj 0 and: w; zi zj; 0 j= 1.
Furthermore, time(zi zj) 2 time(zi) + I, and for all
zk 6= zj with zj = zk zl: w; zi zk; zl 0 j= 2.</p>
        <p>Thus, w; zi; j= 1 UI 2.
(: Given a timed word = ( ; ), we construct the
world w and trace as follows:
1. (i) = (a; i)
2. w[p; hi] = 0[p] for every p 2 P
3. w[p; h(a; 1) ; (a; 2) ; : : : ; (a; i)i] = i[p] for every
i 2 N and every p 2 P
Analogously to above, we show that w; zi; j=t-ESG
i ; i j= by induction over .</p>
        <p>a,</p>
      </sec>
      <sec id="sec-3-2">
        <title>Basic Action Theories</title>
        <p>Similarly to ES and ESG, a t -ESG BAT is a set of
sentences describing the initial situation and the agent's
actions with their preconditions and e ects.
De nition 19 (Basic Action Theory). Given a set of
uent predicates F , a set t -ESG of sentences is
called a basic action theory over F i = 0 [ pre [
post, where mentions only uents in F and
0 is any set of uent sentences,
pre is a set of uent formulas with free variable
post is a set of sentences, with one sentence of
the form [a]f (~x) f for each uent predicate
f 2 F , and one sentence of the form [a]f (~x) =
v f for each f 2 H [ I, and where f is a
uent formula.</p>
        <p>In a BAT, 0 describes the initial situation, post
is a set of successor state axioms, and pre is a set of
precondition axiom for all actions in the domain that is
understood disjunctively, i.e., from pre, we construct
a single precondition axiom of the form Poss(a)
W pre. This is slightly di erent to ES and ESG and
allows us to combine multiple basic action theories.
6.1</p>
        <p>A Simple Carrier Robot
We present a BAT of a simple robot that can move
around and pick up and put down objects. All actions
are modeled as durative actions with start and stop
actions.</p>
        <p>pre = f
9s; g: a = start goto(s; g)</p>
        <p>^ :9a0: Performing (a0);
9s; g: a = end goto(s; g)^</p>
        <sec id="sec-3-2-1">
          <title>Performing (goto(s; g))^</title>
          <p>now</p>
          <p>time(goto(s; g)) + d (s; g);
g
9o; l: a = start pick (o)^</p>
          <p>RobotAt (l) ^ At (o; l);
9o: a = end pick (o)^
Performing (pick(o))^
now</p>
          <p>time(pick (o)) + 3;
9o; l: a = start put (o; l)^</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Holding (o) ^ RobotAt (l);</title>
          <p>9o; l: a = end put (o; l)^</p>
          <p>
            Performing (put(o; l))^
now
time(put (o; l)) + 2
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            )
(
            <xref ref-type="bibr" rid="ref3">3</xref>
            )
(
            <xref ref-type="bibr" rid="ref4">4</xref>
            )
(
            <xref ref-type="bibr" rid="ref5">5</xref>
            )
(
            <xref ref-type="bibr" rid="ref6">6</xref>
            )
(
            <xref ref-type="bibr" rid="ref7">7</xref>
            )
          </p>
          <p>
            The precondition axiom states that the robot can
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) start goto if it is currently not performing any
action, (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) stop goto (and reach its destination) if it
was moving at least d(s; g) time units, (
            <xref ref-type="bibr" rid="ref4">4</xref>
            ) start
picking an object if it as the same location as the object,
(
            <xref ref-type="bibr" rid="ref5">5</xref>
            ) end picking an object if it started picking at least 3
time units ago, (
            <xref ref-type="bibr" rid="ref6">6</xref>
            ) start putting an object to a
location if it is holding the object and it is at the location,
(
            <xref ref-type="bibr" rid="ref7">7</xref>
            ) end putting an object if it started putting at least 2
time units ago. Additionally, ending any action is only
possible if the robot is currently performing the action.
          </p>
          <p>
            The robot's actions have e ects on the following
predicates:
The successor state axioms state that (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) the robot
is at location l if it stops doing a goto with l as goal
location, or if it was at that location and did not start
moving anywhere else, (
            <xref ref-type="bibr" rid="ref9">9</xref>
            ) an object o is at location
l if the robot ends putting o to l or if the object was
there before and is not being picked up, (
            <xref ref-type="bibr" rid="ref10">10</xref>
            ) the robot
is holding object o if ends picking up o or if it was
holding the object before and does not start putting it
down, (
            <xref ref-type="bibr" rid="ref11">11</xref>
            ) the robot is performing action a0 if it starts
a0 or it has been performing a0 and does not end a0.
          </p>
          <p>As usual in Golog, we de ne while and if then
else as macros:
while
do</p>
          <p>done d=ef ( ?; ) ; : ?
if
then 1 else 2</p>
          <p>d=ef [ ?; 1] j [: ?; 2]
if
then 1
d=ef if
then 1 else nil</p>
          <p>The BAT already allows us to de ne simple Golog
a simpli ed version may look as follows:</p>
          <p>M
pre = f
a = start calibration^
state(arm) 6= calibrating ^
state(arm) 6= calibrated ;
a = end calibration^
time(start calibration)
state(arm) = calibrating ;
5 ^
a = start perception^</p>
          <p>state(perception) 6= running
a = stop perception^</p>
          <p>state(perception) = running g
programs. The program shown in Listing 1 picks up all
objects from the table and puts them onto the shelf.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Given the following initial situation:</title>
      <p>0 = fRobotAt (shelf );</p>
      <p>At (obj1 ; table);
At (obj3 ; shelf );
d(shelf ; table) = 20; d(table; shelf ) = 20;
8o: (o 6= obj1 ^ o 6= obj3 )
:9l: At (o; l)g</p>
    </sec>
    <sec id="sec-5">
      <title>We can infer that:</title>
      <p>j= [ ]:9o: At (o; table)
j= [ ]RobotAt (table)</p>
      <p>Following the program transition semantics, one
possible successful trace of is:
z = h (start goto(table); 0) ; (end goto(table); 20) ;
(start pick (obj1 ); 20) ; (end pick (obj1); 23) ;
(start goto(shelf ); 23) ; (end goto(shelf ); 43) ;
(start put (obj1 ); 43) ; (end put (obj1); 45)i
7</p>
      <sec id="sec-5-1">
        <title>Timed Temporal Constraints</title>
        <p>
          Listing 1 already shows an abstract program that clears
the table. However, to execute the program on a real
robot, additional constraints must be satis ed, e.g.,
the robot's perception module needs to be enabled
before an object is picked up or put down. Instead
of encoding this in the abstract BAT, we provide an
additional maintenance BAT which takes care of these
kinds of constraints. Such a maintenance BAT may be
generated from platform models as shown in Figure 1,
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
(
          <xref ref-type="bibr" rid="ref13">13</xref>
          )
(
          <xref ref-type="bibr" rid="ref14">14</xref>
          )
(
          <xref ref-type="bibr" rid="ref15">15</xref>
          )
(
          <xref ref-type="bibr" rid="ref16">16</xref>
          )
(
          <xref ref-type="bibr" rid="ref17">17</xref>
          )
(
          <xref ref-type="bibr" rid="ref18">18</xref>
          )
(19)
(20)
(21)
0M = fstate(arm) = uncalibrated
        </p>
        <p>state(perception) = paused g</p>
        <p>Using the maintenance BAT, we can formulate a set
of additional constraints that must be satis ed during
the execution of any program :</p>
        <p>J KG 9o: Performing (pick (o))</p>
        <p>state(arm) = calibrated
J KG 9o; l: Performing (put (o; l))</p>
        <p>state(arm) = calibrated
J KG 9o: Performing (pick (o))</p>
        <p>H 1 state(perception) = running
J KG :F 1 9o; l:(Performing (pick (o))</p>
        <p>_ Performing (put (o; l)))
state(perception) = paused )
arm must be calibrated, (20) if the robot is
performing a pick action, then the perception must have been
running for at least 1 second, (21) if the robot is not
performing a pick or put action in the next second,
then the perception should be paused.</p>
        <p>start
start goto(table)
As constraint language, we allow a subset of t -ESG.
De nition 20 (Constraint). Given a BAT and a
maintenance BAT M . Let be a uent trace formula
only mentioning terms from . Let be a uent trace
formula only mentioning terms from M . Then the
formula = is a constraint formula.</p>
        <p>Intuitively, we interpret a constraint as
follows: As is from the abstract BAT and we can only
add actions from M to our action sequence, is given.
Therefore, if is true, we need to add maintenance
actions such that is also satis ed. In other words,
we cannot satisfy a constraint by making false.
De nition 21 (Constraint Satisfaction). Given a
program and a BAT , we say that a constraint is
satis ed by i</p>
        <p>j= J KG
7.2</p>
        <p>Solving Timed Temporal Constraints
Using the example above, we now sketch a procedure
that modi es a given action sequence of an abstract
program to also satisfy the platform constraints. First,
we convert the action sequence into a STN, where each
action of the sequence is a node in the STN. Such a
STN for the program in Listing 1 is shown in Figure 2.</p>
        <p>For each node starting at the start node, we now
check whether each constraint is satis ed. As an
start
start goto(table)
example, in the node start pick (o1), Constraint 18
is not satis ed. From the platform models, we can
generate an action sequence that satis es the
constraint. In our example, by searching the state
automaton in Figure 1, we can generate the sequence
hstart calibrate; end calibratei, which is then added to
the STN. Similarly, the perception needs to be running
before doing a pick. Thus, the action start perception
is added to the STN. By Constraint 20, the perception
must have been running for at least 1 second. Thus,
the edge from start perception to start pick (o1) has
the time constraint [1; 1]. The resulting STN after
checking all STN nodes and all constraints is shown in
Figure 3.
8</p>
      </sec>
      <sec id="sec-5-2">
        <title>Conclusion</title>
        <p>We presented t -ESG, a logic for reasoning about
actions that allows the speci cation of metric temporal
constraints. t -ESG extends ESG with metric time and
temporal operators referring to the past. We showed
that Metric Temporal Logic (MTL) can be embedded
into t -ESG, while ESG cannot be fully embedded into
t -ESG.We presented a constraint language for
specifying metric temporal constraints on a platform model,
and we sketched a translation of those constraints into
Simple Temporal Networks (STNs). Using the
solution of the STN, the abstract Golog program can be
transformed into an action sequence that is executable
on the robot platform, thereby allowing the separation
of the abstract agent behavior speci cation and the
details of the platform, even if they are inter-dependent.</p>
      </sec>
      <sec id="sec-5-3">
        <title>Acknowledgements</title>
        <p>T. Hofmann was supported by the German National
Science Foundation (DFG) under grant number
GL747/23-1.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>James</surname>
            <given-names>F</given-names>
          </string-name>
          <string-name>
            <surname>Allen. Maintaining Knowledge About Temporal Intervals</surname>
          </string-name>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>26</volume>
          (
          <issue>11</issue>
          ):
          <volume>832</volume>
          {
          <fpage>843</fpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          .
          <article-title>Real-Time Logics: Complexity and Expressiveness</article-title>
          .
          <source>Information and Computation</source>
          ,
          <volume>104</volume>
          (
          <issue>1</issue>
          ):
          <volume>35</volume>
          {
          <fpage>77</fpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Rajeev</given-names>
            <surname>Alur</surname>
          </string-name>
          , Tomas Feder, and
          <string-name>
            <surname>Thomas</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Henzinger</surname>
          </string-name>
          .
          <article-title>The Bene ts of Relaxing Punctuality</article-title>
          .
          <source>Journal of the ACM</source>
          ,
          <volume>43</volume>
          (
          <issue>1</issue>
          ),
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Rajeev</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>Thomas A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          .
          <article-title>Back to the Future: Towards a Theory of Timed Regular Languages</article-title>
          .
          <source>In Proceedings of the 33rd Annual Symposium on Foundations of Computer Science</source>
          , pages
          <volume>177</volume>
          {
          <fpage>186</fpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>[5] Jens Cla en. Planning and Veri cation in the Agent Language Golog</article-title>
          .
          <source>PhD thesis</source>
          , RWTH Aachen University,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Jens</given-names>
            <surname>Cla</surname>
          </string-name>
          en
          <string-name>
            <given-names>and Gerhard</given-names>
            <surname>Lakemeyer</surname>
          </string-name>
          .
          <article-title>A Logic for Non-Terminating Golog Programs</article-title>
          .
          <source>In Proceedings of the 11th International Conference on Principles of Knowledge Representation and Reasoning (KR)</source>
          , pages
          <fpage>589</fpage>
          {
          <fpage>599</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Giuseppe</given-names>
            <surname>De Giacomo</surname>
          </string-name>
          , Yves Lesperance,
          <string-name>
            <surname>Hector J Levesque</surname>
            , and
            <given-names>Sebastian</given-names>
          </string-name>
          <string-name>
            <surname>Sardina</surname>
          </string-name>
          .
          <article-title>IndiGolog: A High-Level Programming Language for Embedded Reasoning Agents</article-title>
          .
          <source>In Multi-Agent Programming</source>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Rina</given-names>
            <surname>Dechter</surname>
          </string-name>
          , Itay Meiri, and
          <string-name>
            <given-names>Judea</given-names>
            <surname>Pearl</surname>
          </string-name>
          .
          <article-title>Temporal Constraint Networks</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>49</volume>
          (
          <issue>1-3</issue>
          ):
          <volume>61</volume>
          {
          <fpage>95</fpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Alberto</given-names>
            <surname>Finzi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Fiora</given-names>
            <surname>Pirri</surname>
          </string-name>
          .
          <article-title>Representing Flexible Temporal Behaviors in the Situation Calculus</article-title>
          .
          <source>In Proceedings of the 19th International Joint Conference on Arti cial Intelligence (IJCAI)</source>
          , pages
          <fpage>436</fpage>
          {
          <fpage>441</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Till</surname>
            <given-names>Hofmann</given-names>
          </string-name>
          , Victor Matare, Stefan Schiffer, Alexander Ferrein, and
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Lakemeyer</surname>
          </string-name>
          .
          <article-title>Constraint-Based Online Transformation of Abstract Plans into Executable Robot Actions</article-title>
          .
          <source>In AAAI Spring Symposium: Integrating Representation, Reasoning, Learning, and Execution for Goal Directed Autonomy</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Peter</given-names>
            <surname>Jonsson</surname>
          </string-name>
          and
          <article-title>Christer Backstrom. A Unifying Approach to Temporal Constraint Reasoning</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>102</volume>
          (
          <issue>1</issue>
          ):
          <volume>143</volume>
          {
          <fpage>155</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Ron</given-names>
            <surname>Koymans</surname>
          </string-name>
          .
          <article-title>Specifying Real-Time Properties with Metric Temporal Logic</article-title>
          .
          <source>Real-Time Systems</source>
          ,
          <volume>2</volume>
          (
          <issue>4</issue>
          ):
          <volume>255</volume>
          {
          <fpage>299</fpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Lakemeyer and Hector J Levesque. Situations</surname>
          </string-name>
          , Si! Situation Terms, No!
          <source>In Proceedings of the 9th International Conference on Principles of Knowledge Representation and Reasoning (KR)</source>
          , pages
          <fpage>516</fpage>
          {
          <fpage>526</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Hector</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Levesque</surname>
            , Raymond Reiter, Yves Lesperance,
            <given-names>Fangzhen</given-names>
          </string-name>
          <string-name>
            <surname>Lin</surname>
          </string-name>
          , and
          <string-name>
            <surname>Richard</surname>
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Scherl</surname>
          </string-name>
          .
          <article-title>GOLOG: A Logic Programming Language for Dynamic Domains</article-title>
          .
          <source>Journal of Logic Programming</source>
          ,
          <volume>31</volume>
          (
          <issue>1-3</issue>
          ),
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>John</given-names>
            <surname>McCarthy. Situations</surname>
          </string-name>
          , Actions, and
          <string-name>
            <given-names>Causal</given-names>
            <surname>Laws</surname>
          </string-name>
          .
          <source>Technical report</source>
          , Stanford University,
          <year>1963</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ouaknine</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Worrell</surname>
          </string-name>
          .
          <source>On the Decidability of Metric Temporal Logic. 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05)</source>
          , pages
          <fpage>188</fpage>
          {
          <fpage>197</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Jo</surname>
          </string-name>
          <article-title>el Ouaknine and James Worrell</article-title>
          .
          <source>Some Recent Results in Metric Temporal Logic. Lecture Notes in Computer Science</source>
          ,
          <volume>5215</volume>
          LNCS:
          <volume>1</volume>
          {
          <fpage>13</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Javier</given-names>
            <surname>Pinto</surname>
          </string-name>
          and
          <string-name>
            <given-names>Raymond</given-names>
            <surname>Reiter</surname>
          </string-name>
          .
          <article-title>Reasoning About Time in the Situation Calculus</article-title>
          .
          <source>Annals of Mathematics and Arti cial Intelligence</source>
          ,
          <volume>14</volume>
          (
          <issue>2- 4</issue>
          ):
          <volume>251</volume>
          {
          <fpage>268</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>