Logo[ 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