Action description languages, such as A and B, are expressive instruments introduced for formalizing planning domains and planning problem instances. The paper starts by proposing a methodology to encode an action language (with conditional effects and static causal laws), a slight variation of B, using Constraint Logic Programming over Finite Domains. The approach is then generalized to raise the use of constraints to the level of the action language itself. A prototype implementation has been developed, and the preliminary results are presented and discussed. To appear in Theory and Practice of Logic Programming (TPLP)
Logic programming, and more specifically Prolog, has been also used to implement the first prototype of GOLOG (as discussed in @cite_21 ). GOLOG is a programming language for describing agents and their capabilities of changing the state of the world. The language builds on the foundations of situation calculus. It provides high level constructs for the definition of complex actions and for the introduction of control knowledge in the agent specification. Prolog is employed to create an interpreter, which enables, for example, to answer projection queries (i.e., determine the properties that hold in a situation after the execution of a sequence of actions). The goals of GOLOG and the use of logic programming in that work are radically different from the focus of our work.
@cite_21
2045474169
Abstract This paper proposes a new logic programming language called GOLOG whose interpreter automatically maintains an explicit representation of the dynamic world being modeled, on the basis of user supplied axioms about the preconditions and effects of actions and the initial state of the world. This allows programs to reason about the state of the world and consider the effects of various possible courses of action before committing to a particular behavior. The net effect is that programs may be written at a much higher level of abstraction than is usually possible. The language appears well suited for applications in high level control of robots and industrial processes, intelligent software agents, discrete event simulation, etc. It is based on a formal theory of action specified in an extended version of the situation calculus. A prototype implementation in Prolog has been developed.