Second USENIX Conference on Object-Oriented Technologies (COOTS), 1996
Highly Concurrent Distributed Knowledge Objects
K.L. Clark and T. I. Wang
Department of Computing, Imperial College, London
Abstract
This paper introduces a distributed object oriented logic programming
language, DK Parlog , in which each object, in addition to the normal
procedural methods for accessing and updating state components, also
has knowledge methods in the form of Prolog rules. The language is an
OO extension of a distributed, multi-threaded, logic programming
system. Encapsulation is by class definitions linked via single
inheritance. Procedural method invocation is via asynchronous message
send to the unique object identifier. Knowledge method invocation is
via synchronous remote procedure call. Classes are also objects - they
have their own state components and methods. An application in D
Parlog consists of a collection of concurrently executing
objects(classes and instances) distributed over a local area network.
The knowledge methods can be public or private, and can be dynamically
modified by the procedural methods of the object using Prolog style
knowledge base manipulation primitives. The dynamic knowledge of an
object can be used as a declarative representation of part of its
state.
This paper assumes some familiarity with concepts of concurrent object
oriented programming and logic programming, ideally concurrent logic
programming, but familiarity with Prolog will probably suffice.
|