CMU Artificial Intelligence Repository
BeBOP, bp, and pnp: Parallel Object-Oriented Logic
The BeBOP language combines the features of sequential and parallel
Logic Programming (LP), object oriented programming and meta-level
programming. The goal of the system is to support the construction of
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 behavior
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
An interactive interpreter named BP is included in the distribution.
It supports incremental compilation and execution, and allows the
communication links within an object network to be specified
dynamically. BP also includes a history mechanism, allowing
syntactically correct goals to be repeated, listed, and modified.
Variables from previous queries can also be reused in later queries.
BP is a superset of NU-Prolog's interpreter NP and so can seamlessly
combine objects and prolog goals.
BeBOP programs are compiled into NU-Prolog, and its parallel
extension, PNU-Prolog (PNP). An unusual aspect of this is the way in
which object IDs are utilized as a communication mechanism between
objects. Code for the PNP preprocessor is included in the distribution.
NU-Prolog (AKA MU-Prolog) is a prolog interpreter implemented in C for
BSD Unix available from the University of Melbourne. Source licenses
are available for educational institutions. For more information,
write to University of Melbourne, MU-Prolog Distribution, Department
of Computer Science, Parkville, Victoria 3052, Australia, call
+61-3-344-7270, or send email to firstname.lastname@example.org or email@example.com.
Version: 1.0 (13-SEP-93)
Requires: ANSI C (e.g., GCC), NU-Prolog, Yacc (or Bison) and Lex
pnp preprocessor (included in the release)
Copying: Copyright (C) 1993 The University of Melbourne
Use, copying, modification, and distribution permitted.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): BeBOP: Jason Lee
BeBOP: Andrew Davison
PNP: Lee Naish
Contact: Andrew Davison (BeBOP and bp)
Dept. of Computer Science
University of Melbourne
Parkville, Victoria 3052
Telex: AA 35185
Lee Naish (PNP)
Authors!Davison, Authors!Lee, Authors!Naish, BP, BeBOP,
Interpreters!Prolog, Logic Programming, OOP!Prolog, PNP,
Programming Languages!Parallel Prolog,
Prolog!Implementations, Univ. of Melbourne
The following user manuals and papers are included in the distribution:
Jason Lee and Andrew Davison, "The BeBOP Reference Manual", Tech
Report 93/20, Department of Computer Science, University of Melbourne,
September 9, 1993.
Jason Lee and Andrew Davison, "The BeBOP System", August 1993.
Lee Naish, "Parallelizing NU-Prolog", in Kenneth A. Bowen and Robert
A. Kowalski, editors, Proceedings of the Fifth International
Conference/Symposium on Logic Programming, Seattle, WA, pages
1546-1564, August 1988. [Also appears as Technical report 87/17,
Department of Computer Science, University of Melbourne.]
Other relevant papers include:
Andrew Davison, "The Deductive and Object Oriented features of BeBOP",
Technical Report 93/6, The University Of Melbourne, 1993.
"NU-Prolog Reference Manual", Technical Report 86/10, The
University of Melbourne, 1986.
Last Web update on Mon Feb 13 10:34:46 1995