Branching-time logic programming: the language Cactus and its applications

  • Authors:
  • P. Rondogiannis;M. Gergatsoulis;T. Panayiotopoulos

  • Affiliations:
  • Department of Computer Science, University of Ioannina, P.O. BOX 1186, 45110 Ioannina, Greece;Institute of Informatics and Telecom., N.C.S.R. `Demokritos', 153 10 A. Paraskevi Attikis, Greece;Department of Computer Science, University of Piraeus, 80 Karaoli and Dimitriou Street, 18534 Piraeus, Greece

  • Venue:
  • Computer Languages
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Temporal programming languages provide a powerful means for the description and implementation of dynamic systems. However, most temporal languages are based on linear time, a fact that renders them unsuitable for certain types of applications (such as expressing properties of non-deterministic programs). In this paper we introduce the new temporal logic programming language Cactus, which is based on a branching notion of time. In Cactus, the truth value of a predicate depends on a hidden time parameter which varies over a tree-like structure. As a result, Cactus can be used to express in a natural way non-deterministic computations or generally algorithms that involve the manipulation of tree data structures. Moreover, Cactus appears to be appropriate as the target language for compilers or program transformers. Cactus programs can be executed using BSLD-resolution, a proof procedure based on the notion of canonical temporal atoms/clauses.