BeBOP(ID:1856/beb001)Object-oriented parallel logic programming languageObject-oriented parallel logic programming language Combines sequential and parallel logic programming, OO, and meta-levels. Both "don't know" non-determinism and stream parallelism. PROLOG theories are first-order entities and may be updated or passed as messages. Implemented by translation to NU-PROLOG and PNU-PROLOG. from CMU AI page: "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." Structures: Related languages
References: 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. Resources
|