Prolog is good for representing static logical structure of a problem and declarative style of knowledge programming. But, it lacks mechanisms for modularization and dynamic modeling of changing world.
To overcome the problems, we extended conventional Prolog so that we can use some object-oriented programming methologies. By adding message, class and slot concepts into Prolog, we can make up some deficiency of plain logic language. Guard that checks method applicability is also required to preserve integrity of object states on occurance of backtracking and may force some constraints on methods.
On implementation, our concept of object is based on that each object constitutes its own separate world, communicating each other by sending messages. It can be done with mata interpreter or parallel prolog but we used external instance variable database plus fast and efficient deduction power of sequential Prolog. By separating static program part and dynamic data part, we can get more clear picture of object in logic programming. We devised required mechanisms for implementing our idea and showed some translation method to utilize the mechanism.