Reasoning about Concurrent Execution Prioritized Interrupts, and Exogenous Actions in the Situation Calculus


As an alternative to planning, an approach to highlevel agent control based on concurrent program execution is considered. A formal definition in the situation calculus of such a programming language is presented and illustrated with a detailed example. The language includes facilities for prioritizing the concurrent execution, interrupting the execution when certain conditions become true, and dealing with exogenous actions. The language differs from other procedural formalisms for concurrency in that the initial state can be incompletely specified and the primitive actions can be user-defined by axioms in the situation calculus. When it comes to providing high-level control for robots or other agents in dynamic and incompletely known worlds, approaches based on plan synthesis may end up being too demanding computationally in all but simple settings. An alternative approach that is showing promise is that of highlevel program execution [9]. The idea, roughly, is that instead of searching for a sequence of actions that would take the agent from an initial state to some goal state, the task is to find a sequence of actions that constitutes a legal execution of some high-level non-deterministic program. As in planning, to find such a sequence it is necessary to reason about the preconditions and effects of the actions within the body of the program. However, if the program happens to be almost deterministic, very little searching is required; as more and more non-determinism is included, the search task begins to resemble traditional planning. Thus, in formulating a high-level program, the user gets to control the search effort required. The hope is that in many domains, what an agent needs to do can be conveniently expressed using a suitably rich highlevel programming language. Previous work on the Golog language [9] considered how to reason about actions in programs containing conditionals, iteration, recursion, and nondeterministic operators, where the primitive actions and fluents where characterized by axioms of the situation calculus. In this paper, we explore how to execute programs incorporating a rich account of concurrency. The execution task remains the same; what changes is that the programming language, which we call ConGolog (for Concurrent Golog), becomes considerablymore expressive. One of the nice features of this language is that it allows us to conveniently formulate agent controllers that pursue goal-oriented tasks while concurrently monitoring and reacting to conditions in their environment. Of course ours is not the first formal model of concurrency. In fact, well developed approaches are available [7; 11; 3; 16] and our work inherits many of the intuitions behind them. However, it is distinguished from these in at least two fundamental ways. First, it allows incomplete information about the environment surrounding the program. In contrast to typical computer programs, the initial state of a ConGolog program need only be partially specified by a collection of axioms. Second, it allows the primitive actions (elementary instructions) to affect the environment in a complex way. In contrast to typical computer programs whose elementary instructions are simple predefined statements (e.g. variable assignments), the primitive actions of a ConGolog program are determined by a separate domain-dependent action theory, which specifies the action preconditions and effects, and deals with the frame problem. The rest of the paper is organized as follows: in Section 1 we very briefly review planning in the situation calculus. In Section 2, we review the Golog programming language and present a variant of the original specification of the high-level execution task. In Section 3, we explain informally the sort of concurrency we are concerned with, as well as related notions of priorities and interrupts. The section concludes with changes to theGolog specification required to handle concurrency. In Section 4, we present a detailed example of a reactive multi-elevator controller formulated in ConGolog. In Section 5, we discuss some of the properties of ConGolog, its implementation, and topics for future research. 1 Situation Calculus There are a number of ways of making the planning task precise, but perhaps the most appealing is to formulate a specification in terms of a general theory of action. One candidate In [13; 4] a direct use of such approaches to model concurrent (complex) actions in AI is investigated. language for formulating such a theory is the situation calculus [10]. We will not go over the language here except to note the following components: there is a special constant S used to denote the initial situation, namely that situation in which no actions have yet occurred; there is a distinguished binary function symbol do where do a s denotes the successor situation to s resulting from performing the action a; relations whose truth values vary from situation to situation, are called (relational) fluents, and are denoted by predicate symbols taking a situation term as their last argument; finally, there is a special predicate Poss a s used to state that action a is executable in situation s Within this language, we can formulate domain theories which describe how the world changes as the result of the available actions. One possibility is a theory of the following form [14]: Axioms describing the initial situation, S . Action precondition axioms, one for each primitive action a, characterizing Poss a s . Successor state axioms, one for each fluent F , stating under what conditions F x do a s holds as function of what holds in situation s These take the place of the so-called effect axioms, but also provide a solution to the frame problem [14]. Unique names axioms for the primitive actions. Some foundational, domain independent axioms. For any domain theory of this sort, we have a very clean specification of the planning task, which dates back to the work of Green [5]: Classical Planning: Given a domain theory Axioms as above, and a goal formula s with a single free-variable s the planning task is to find a sequence of actions a such that: Axioms j Legal a S do a S where do a an s is an abbreviation for

Extracted Key Phrases


Citations per Year

127 Citations

Semantic Scholar estimates that this publication has 127 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Giacomo1997ReasoningAC, title={Reasoning about Concurrent Execution Prioritized Interrupts, and Exogenous Actions in the Situation Calculus}, author={Giuseppe De Giacomo and Yves Lesp{\'e}rance and Hector J. Levesque}, booktitle={IJCAI}, year={1997} }