LUPS---a language for updating logic programs

  • Authors:
  • José Júlio Alferes;Luís Moniz Pereira;Halina Przymusinska;Teodor C. Przymusinski

  • Affiliations:
  • Centro de Inteligencia Artificial, Caparica, Portugal;California State Polytechnic Univ., Pomona;Univ. of California, Riverside, CA;Univ. of California, Riverside, CA

  • Venue:
  • Artificial Intelligence
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most of the work conducted so far in the field of logic programming has focused on representing static knowledge, i.e., knowledge that does not evolve with time. To overcome this limitation, in a recent paper, the authors introduced dynamic logic programming. There, they studied and defined the declarative and operational semantics of sequences of logic programs (or dynamic logic programs). Each program in the sequence contains knowledge about some given state, where different states may, for example, represent different time periods or different sets of priorities. But how, in concrete situations, is a sequence of logic programs built? For instance, in the domain of actions, what are the appropriate sequences of programs that represent the performed actions and their effects? Whereas dynamic logic programming provides a way for, given the sequence, determining what should follow, it does not provide a good practical language for the specification of the sequence of updates which may be conditional on the intervening states. Here we define the language LUPS"Language for dynamic updates"designed for specifying changes to logic programs. Given an initial knowledge base (as a logic program) LUPS provides a way for sequentially updating it. The declarative meaning of a sequence of sets of update actions in LUPS is defined by the semantics of the dynamic logic program generated by those actions. Additionally, we provide a translation of the sequence of update statements sets into a single logic program written in a meta-language, in such a way that the stable models of the resulting program correspond to the previously defined declarative semantics. Finally, we exhibit the usage of LUPS in several application domains.