CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

BeBOP, bp, and pnp: Parallel Object-Oriented Logic Programming

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 multi-agent systems. 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 messages. 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 or
Origin: []

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 Australia Fax: +61-3-348-1184 Tel: +61-3-287-9172/9101 Telex: AA 35185 Lee Naish (PNP) Keywords: Authors!Davison, Authors!Lee, Authors!Naish, BP, BeBOP, Interpreters!Prolog, Logic Programming, OOP!Prolog, PNP, Programming Languages!Parallel Prolog, Prolog!Implementations, Univ. of Melbourne References: 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