Loco, a Logic-based Language for Complex Objects
Both object-oriented programming and logic programming have received increased attention over the last decade, due in part to their applicability to a wide variety of areas. LOCO (LOgic for Complex Objects) is a database programming language that combines the declarative elegance and power of logic programming with the advantages of object-oriented systems: object identity, inheritance, default reasoning, encapsulation etc. A LOCO program describes a knowledge base (schema and initial population) as a set of interrelated objects. We take the view that an object can be identified by its properties, i.e. relationships to other objects. The properties of an object are described using a logic program, hence, to LOCO, an object is just a set of clauses. However, the clauses in an object’s definition do not constitute the entire knowledge about that object. A specificity relation defined on the objects allows for the introduction of some rules for knowledge flow between them. This specificity relation (also called subobject relation) is sufficiently general and powerful to be useful to model e.g. delegation1,2 classification and/or generalization hierarchies, etc. Therefore, the language does not enforce a particular modeling paradigm. The core of the language is based on a nonmonotonic logic3,4 called Inheritance Logic5 which has been developed to provide a formal model for object-oriented concepts, within a logical framework.
KeywordsLogic Program Logic Programming Complex Object Event Handler Nonmonotonic Reasoning
Unable to display preview. Download preview PDF.
- H. Lieberman, “Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems,” OOPSLA’86, pp. 214–223,1986.Google Scholar
- L. Stein, “Delegation is Inheritance,” OOPSLA ’87, pp.138–146,1987.Google Scholar
- E. Laenens, D. Vermeir, B. Verdonk, and A. Cuyt, A logic for objects and inheritance, Submitted in 1989.Google Scholar
- S. NaqviandR. Krishnamurthy, Database Updates in Logic Programming, 1988.Google Scholar