[ Bristol CS | Index ]
Concurrent and Constraint Logic Programming
Concurrent Logic Programming
Concurrent logic programming languages (such as Parlog and KL1) are
based on predicate logic but, unlike Prolog, have a concurrent
operational semantics. As such, they provide a particularly
high-level method of writing concurrent programs, which can be
executed on either sequential machines or, more importantly, on
multiprocessors. Recent research includes work on new debugging techniques for concurrent logic programs, and on speculative parallelism in concurrent logic programming.
We have recently designed a new declarative concurrent logic programming language, Tempo.
This is even more high-level than Parlog etc., in that the safety properties of a concurrent program are explicit in the program itself, so that Tempo programs are very close to specifications.
By raising the level of concurrent programming in this way, the likelihood of programming errors is reduced and the reliability of concurrent software increased.
Constraint Logic Programming
In many applications of computer science, a problem can be expressed
declaratively as a set of constraints on variables. Any solution
to the problem must satisfy all of the constraints; moreover, for some
applications, an optimal solution may be required. In recent years,
there has been substantial interest in constraint logic programming
languages, which combine general-purpose programming language features
with a means of expressing constraints and efficient built-in algorithms
for solving them. These languages have had a great deal of commercial
success and have been widely applied in various applications involving
combinatorial search, such as scheduling. Recent research includes the implementation of a concurrent constraint logic programming language on top of the concurrent logic programming language KL1.
We are currently working in the area of parallel optimization problem solving, using both genetic algorithms and constraint programming.
Staff and Students
Steve Gregory
Also available
Steve Gregory,
steve@cs.bris.ac.uk. Last modified on Sunday 11 November 2001 at 21:54. © 2001 University of Bristol