[comp.ai] Information request for temporal languages.

kaushik@cpsc.ucalgary.ca (Vinit Kaushik) (02/17/90)

Hi. I am doing my MSc in the area of temporal logic programming.
So far I have implemented logical interval-arithmetic for a Prolog
interpreter we have here; this was done in Scheme. With this as a basis,
an interpreter for a new logic programming language called Starlog (designed
by John Cleary) is going to be implemented.
Starlog is Prolog-like. It differs from standard Prolog in the following ways:-
[1] User-defined predicates make use of timestamps to aid their computation
    in terms of clarity and efficiency. Time in Starlog is linear, real
    (hence, infinite) and bounded on both sides of the total ordering.
    Starlog supports only future-directed reasoning.
[2] Program interpretation is done bottom-up via least fixpoint
    computation. The explicit timestamps on user-defined predicates are used
    to schedule clause execution.
[3] All arithmetic variables (including the timestamps) are internally
    represented as intervals of real numbers. Order-independence of goals and
    prevention of (precision) error propagation are achieved by using logical
    interval-arithmetic.
[4] Optimistic distributed or-parallel execution is envisaged based on ideas
    of virtual time (D.R. Jefferson).

	I am currently looking for literature/code regarding available
temporal/constraint-based languages. Any references/suggestions would be
most welcome.

	Vinit Kaushik (kaushik@cpsc.UCalgary.CA)

jwmills@iuvax.cs.indiana.edu (Jonathan Mills) (02/19/90)

In article <2512@cs-spool.calgary.UUCP> kaushik@cpsc.ucalgary.ca (Vinit Kaushik) writes:
>	I am currently looking for literature/code regarding available
>temporal/constraint-based languages. Any references/suggestions would be
>most welcome.
>

A definitive implementation of an intensional logic programming language
is described in William Mitchell's master's thesis:

"Intensional Horn Clause Logic as a Programming Language - Its Use
 and Implementation"

done at Arizona State University in 1988 under Tony Faustini.  The language,
InTense is "...similar to Prolog, but based on Horn clause logic augmented
with multiple dimensions of temporal and spatial intensions..."

This work is based on earlier work on the Lucid language (Ashcroft,
Wadge & Faustini), which led to a temporal logic programming language
called Chronolog.  I have been told that Bill Wadge's student, Mehmet
Orgun, has defined the semantics of Chronolog and InTense in his Ph.D.
dissertation, done at the University of Victoria in British Columbia.

InTense has its foundation in the intensional logic of Richard Montague,
and a semantics explainable in terms of Kripke's possible worlds.  Horn
clauses in InTense have temporal and spatial contexts associated with
them, which are specified using indexical prefixes to predicates.

Temporal prefixes are: prev, first, and next.
Spatial prefixes are:  prior, initial, and rest.

Logical variables are "wrapped" in the context of the predicate in
which they are used, and not explicitly associated with possible worlds.

InTense does provide an "alias" operator to create new indexical prefixes,
allowing a style of programming similar to that used in Lucid.

I have a version of InTense given to me by Bill Mitchell, it does
work, but is rather slow.  On the other hand, the concepts are very elegant,
and the continued improvements in Lucid argue that efficient implementations
are possible.  Requests for the InTense interpreter can be directed to me,
and I'll forward them to Faustini.  Or you can try directly:
faustini@asuvax.eas.asu.edu

ok@goanna.oz.au (Richard O'keefe) (02/20/90)

In article <36219@iuvax.cs.indiana.edu>, jwmills@iuvax.cs.indiana.edu (Jonathan Mills) writes:
> In article <2512@cs-spool.calgary.UUCP> kaushik@cpsc.ucalgary.ca (Vinit Kaushik) writes:
> >	I am currently looking for literature/code regarding available
> >temporal/constraint-based languages. Any references/suggestions would be
> >most welcome.

There is (or at any rate, was) a project at the London School of
Economics under Ronald Stamper working on a language for expressing
legislation and business rules.  The language is called LEGOL.  Some
of the people at Imperial College explored the relationship between
LEGAL and Prolog.  If you look back through the last 10 years of
The Computer Journal you should find a couple of papers on LEGOL.