Abstract

Examines and details the motivations and design of a constraint specification language (CSL) for user-defined constraints. Many approaches to constraint programming are based on, as well as extended from, the logic programming paradigm. Some of the better-known constraint logic programming languages and systems are CLP, PROLOG III and CHIP. In these languages, unification in conventional logic programming is replaced by constraint satisfaction. Numerical constraints are usually focused on. The technique of constraint satisfaction is therefore hidden from the user. The motivation for developing CSL is not in adding to the myriad of available constraint programming languages, neither is CSL a complete stand-alone package for solving constraint satisfaction problems (CSPs), though it has a mode that allows it to do so. Its main purpose is simpler: CSL serves to enhance the constraint satisfaction aspect of these languages by providing an expressive algebra for describing current definitions of general CSPs as well as extended versions. The descriptions specified in the CSL syntax are efficiently compiled into data structures that are transparently accessed by algorithms normally only associated with binary CSPs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call