DEIS - Università di Bologna - L I A - Laboratorio d'Informatica Avanzata

Constraint Languages

A Meta Constraint Logic Programming Scheme
Object-Based Constraint Languages and Models

A Meta Constraint Logic Programming Scheme

General Description
Constraint Logic Programming (CLP) is a class of programming languages based on the Logic Programming paradigm. CLP combines the declarative semantics of Logic Programming with the efficiency of constraint solving. CLP has the possibility of specializing the CLP general scheme in a specific domain. Associated with each domain, there are primitive operations and relations (constraints) on the domain itself.

However, there are some problems and applications where the expressive power of CLP does not suffice. For example, qualitative reasoning needs a tool which is able to reason and infer information on constraints such as the determination of the tighter constraint which holds between two variables.

We are currently working on a Meta Constraint Logic Programming scheme which can be specialized on particular domains and applications where the expressive power of CLP does not suffice. Each level of the meta CLP scheme is a constraint solver reasoning and propagating constraints of the underlying solver (see the Technical Report DEIS-LIA-95-005) The scheme inherits all the advantages of a multi-level meta architecture such as modularity, expandibility and flexibility.

The most attractive feature of the architecture concerns the very easy implementation of specializations of the system.

We propose two different specializations of a meta CLP(FD) architecture: the first concerns the possibility of embedding in a CLP framework the capability of performing qualitative reasoning. In this specialization, the object level is a constraint solver on finite domain of integers, while the meta level is a constraint solver on finite domain of sets of constraints (see Technical Report DEIS-LIA-95-001) We have developed a prototype version of this specialization by using an extension of the ECLiPSe finite domain library.

The second specialization concerns a multi-level architecture for reaching different degrees of consistency by using weaker algorithms. The different levels are CLP(FD) solvers adopting a k-consistency propagation algorithm. By adding levels, we are able to reach higher degrees of consistency by using algorithms with a lower degree of consistency (see Technical Report DEIS-LIA-95-004)

Current and Future Works
  • We are currently investigating specializations on real numbers, boolean, sets and Herbrand Universe. In addition, we will integrate hierarchical CLP in our framework.
  • We are currently investigating specializations on real numbers, boolean, sets and Herbrand Universe. In addition, we will integrate hierarchical CLP in our framework.
  • We are developing another specialization of the scheme for qualitative temporal reasoning by using a CLP(Intervals) as object-level and the Allen's Interval Algebra as meta-level.
  • An interesting research field concerns the possibility of embedding in the meta constraint solver the capability of making some recovery actions on the lower level system. In fact, the meta level is able to detect some inconsistencies of the low level system, and can therefore restore some previous consistent situations in order to recovery from a failure. We will investigate the possibility of using some Truth Maintenance System techniques for handling this kind of problems.
Keywords
  • Constraint Logic Programming
  • Meta Programming
Participants
About this Server
About this Server
Mail to DocMaster
DocMaster
Mail to WebMaster
LIA WebMaster
[LIA Research] [LIA Home] [DEIS Research] [DEIS Home] [Alma Mater Home]