Starlog(ID:2939/sta024)

Stratified Temporal Prolog 


for STrAtified tempoRal LOGic

Purely declarative extensions to PROLOG.

John Cleary Calgary 1991

Starlog is a declarative temporal logic programming language for general purpose programming, for simulation, and for modelling reactive systems. A Starlog program consists of two components:

1.  a set of timed facts describing a history of the Starlog world up to this point, and  

2.  a set of temporal logic rules describing how to compute a new state of the world from facts true in the previous and current states of the world.  

(from Homepage)


Related languages
Prolog => Starlog   Extension of

References:
  • Cleary, J.G. and V. N. Kaushik. Updates in a temporal logic programming language. Technical report, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada, 1991. view details
  • Orgun, Mehmet A. "Temporal and Modal Logic Programming: An Annotated Bibliography" SIGART Bulletin 1994 view details Extract: Starlog
    Starlog is a logic programming language which can handle some time-dependent problems. Starlog is not directly based on temporal logic and it does not have any temporal operators. It simply adds an additional argument to every Prolog predicate. Program clauses are required to be causal, that is, the time values in the head of a clause must be greater than or equal to the time values in its body. For the execution of programs, Starlog uses a variant of a connection-graph theorem prover and an intelligent arithmetic constraint solver.
    Resources
    • Starlog homepage at Waikato Uni in NZ
      external link
    • Slides for talk
      Cleary, John G. "Starlog - A Stratified Temporal Logic Programming Language or How to Use Time to Stop Everything happening at Once"external link