Fuzzy classes in object-oriented logic programming
J.F. Baldwin, T. Patrick Martin · Proceedings of IEEE 5th International Fuzzy Systems · 2002
Object-oriented programming has been widely adopted as a powerful programming paradigm, enabling software engineers to design systems using structures which map naturally onto the problem domain. Using ideas from logic programming, a class definition can be treated as a logic theory, making it amenable to formal reasoning. Each class corresponds to a set of objects in the problem domain. We extend this idea, so that an object may have a degree of membership in more than one class, i.e. each class represents a fuzzy set of objects in the problem domain. Uncertainty is also allowed in data values and computational methods associated with objects. The problem of multiple inheritance is addressed by including methods for resolving conflict in class definitions. A system is being implemented in Fril, to allow development of fuzzy object oriented knowledge-based applications. This system is known as Fril++. The ideas are also applicable to other logic programming systems, assuming a method can be programmed at the object or meta-level to deal with uncertainty in terms, relations, and inference.