While Golog is an expressive programming language to control the high-level behavior of a robot, it is often tedious to use on a real robotic system. On an actual robot, the user needs to consider low-level details, such as enabling and disabling hardware components, e.g., a camera to detect objects for grasping. In other words, high-level actions usually pose implicit temporal constraints on the low-level platform, which are typically independent of the concrete program to be executed. In this paper, we propose to make these constraints explicit by modeling them as MTL formulas, which enforce the execution of certain low-level platform operations in addition to the main program. Based on results from timed automata controller synthesis, we describe a method to synthesize a controller that executes both the high-level program and the low-level platform operations concurrently in order to satisfy the MTL specification. This allows the user to focus on the high-level behavior without the need to consider lowlevel operations. We present an extension to Golog by clocks together with the required theoretical foundations as well as decidability results.1 With a finite set of rational constants used for comparison in constraints, these can be scaled to integer values.The set of final configurations F w is the smallest set such thatIntuitively, the program may take a single transition step (Definition 8.1) if the action is possible to execute and if there is some time increment such that all clock constraints are satisfied. In the resulting configuration, the program trace is appended with the new action a and the incremented time t, all clock values are either incremented by the time increment, or reset if a resets the clock. Also, a program is final if there is no remaining action and if any test α? is successful.By following the transitions, we obtain program traces:Definition 9 (Program Traces). Given a world w, a finite trace z, and a clock valuation ν, the program traces of a program expression δ are defined as follows:Succ w (z, ν, δ) = {(z ′ , ν ′ , δ ′ ) | z, ν, δ w