Towards a compiler for a constraint language

  • Authors:
  • Hans Werner Guesgen

  • Affiliations:
  • International Computer Science Institute, Berkeley, CA

  • Venue:
  • IEA/AIE '89 Proceedings of the 2nd international conference on Industrial and engineering applications of artificial intelligence and expert systems - Volume 1
  • Year:
  • 1989

Quantified Score

Hi-index 0.02

Visualization

Abstract

For many engineering tasks, constraints are a useful knowledge representation formalism to specify functional relationships. In this paper, we describe a programming language based on constraints which, unlike former approaches, enables us to handle sets of possible values (rather than single values) and to filter them until consistent subsets are obtained that satisfy the constraints.As, e.g., in technical systems, the constraint relations are of different complexity, structure, and applicability, several ways to describe a relation are provided. Different control strategies are available, computing local consistency as well as globally consistent solutions. It is sketched how to realize a compiler for the language, which optimizes constraint descriptions during definition time. As a result, combinatorial explosion can be reduced, depending on the number of variables used in a constraint description.CONSAT is used in several applications, for example, in a system for process diagnosis [Voss 1988], where constraints are applied to maintain functional relationships in physical units. For this purpose, CONSAT was incorporated into the hybrid knowledge representation system BABYLON in order to use constraints together with rules, frames, and Prolog [Guesgen et al. 1987].