Branching-time logic programming: the language Cactus and its applications
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 prog...
Gespeichert in:
| Veröffentlicht in: | Computer languages Jg. 24; H. 3; S. 155 - 178 |
|---|---|
| Hauptverfasser: | , , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Elsevier Ltd
01.10.1998
|
| Schlagworte: | |
| ISSN: | 0096-0551 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | 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. |
|---|---|
| ISSN: | 0096-0551 |
| DOI: | 10.1016/S0096-0551(98)00009-5 |