No Prev Next Up Home Keys Figs Search New

BeBOP and bp

Appeared in Volume 6/4, November 1993

Keywords: OOP, parallelism, meta-level.

What is BeBOP?

The language BeBOP is a unique combination of sequential and parallel Logic Programming (LP), object oriented programming and meta-level programming.

The LP component offers both don't know non-determinism and stream AND-parallelism, a combination not possible with concurrent LP languages.

BeBOP's object oriented features include object IDs, encapsulation, message passing, state updating, and object behaviour modification.

The meta-level capabilities are based on the treatment of Prolog theories as first order entities, which enables them to be updated easily, and for fragments to be passed between objects in messages.

BeBOP is implemented by translation down to NU-Prolog, and its parallel extension, PNU-Prolog. An unusual aspect of this is the way that object IDs are utilised as a communication mechanism between objects.

What is bp?

The bp interactive interpreter supports BeBOP programming by allowing the flexible invocation of objects, and offering the means for setting up communication links between objects at any time. An incidental benefit is the ability to use `global' variables in queries. Since bp is an augmentation of the NU-Prolog np system, objects and Prolog goals can be combined, and a by-product is that the floundering of Prolog queries is avoided.

Where are they?

The BeBOP system (BeBOP and bp), and the PNU-Prolog preprocessor pnp, can be found at the anonymous FTP site:
ftp://munnari.oz.au/pub/bebop.tar.Z
Remember to use binary mode when copying it.

The release comes with a user manual, several papers (in Postscript format), sample programs, and source code.

The BeBOP system requires the following:

For more details, contact:

Andrew Davison
Dept. of Computer Science
Univ.of Melbourne
Parkville, Victoria 3052, Australia
Email: ad@cs.mu.oz.au
Fax: +61 3 348 1184
Phone: +61 3 287 9172 / 9101
Telex: AA 35185
No Prev Next Up Home Keys Figs Search New