Constraining Objects as Logic Theories

   page       BibTeX_logo.png       attach   
Department of Electronics, Computer Science and Systems (DEIS), Università di Bologna
DEIS Technical Reports 2(DEIS-LIA-95-002)
1995

The aim of this work is to present a computational model based on logic programming where constrained computations can be performed over application domains described through an object-oriented data model. This model is essentially based on two kind of constraints: provability constraints and hierarchical constraints. Provability constraints concern the truth value of a formula with respect to a given logic theory, which is bounded to satisfy the formula. Message passing is then re-interpreted in a declarative way as a relation constraining specific object properties. Hierarchical constraints make it possible to define an object taxonomy in terms of a hierarchy of theories. Relationships such as class/instance and class/superclass can then be uniformly handled as constraints, which can be either statically defined in the text of a program, or dynamically inferred during a computation. This suggests a new notion of logic program, which is no longer statically defined once for all, but may instead grow dynamically in a declarative way, as a result of a constrained computation. Examples of constrained object-oriented computations are presented by using two simple multi-theory logic languages. Their operational semantics is finally given in form of a transition system, by extending the typical CLP semantics characterisation.

parole chiaveConstraints, Object-Oriented Programming, Multi-Theory Logic Languages