Esprit ’89 pp 604-616 | Cite as

Loco, a Logic-based Language for Complex Objects

  • E. Laenens
  • D. Vermeir
  • B. Verdonk
Conference paper

Abstract

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.

Keywords

Logic Program Logic Programming Complex Object Event Handler Nonmonotonic Reasoning 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Lieberman, “Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems,” OOPSLA’86, pp. 214–223,1986.Google Scholar
  2. L. Stein, “Delegation is Inheritance,” OOPSLA ’87, pp.138–146,1987.Google Scholar
  3. D. McDermott and J. Doyle, “Non-monotonic logic I,” in Artificial Intelligence, vol. 13, pp. 41–72, 1980. Also in’Readings in nonmonotonic reasoning’, M.L. GinsbergCrossRefMATHMathSciNetGoogle Scholar
  4. D. Nute, “Defeasible reasoning and decision support systems,” Decision support systems, vol 4.pp. 97–110, 1988.CrossRefGoogle Scholar
  5. E. Laenens, D. Vermeir, B. Verdonk, and A. Cuyt, A logic for objects and inheritance, Submitted in 1989.Google Scholar
  6. S. NaqviandR. Krishnamurthy, Database Updates in Logic Programming, 1988.Google Scholar

Copyright information

© ECSC, EEC, EAEC, Brussels and Luxembourg 1989

Authors and Affiliations

  • E. Laenens
    • 1
  • D. Vermeir
    • 2
  • B. Verdonk
    • 2
  1. 1.Advanced Information Technology BuildingPhilips Applications & Software ServicesEindhovenThe Netherlands
  2. 2.Dept. of Math, and Computer ScienceUniversity of Antwerp, U.I.AWilrijkBelgium

Personalised recommendations