A Study to Design Computer Aided Programming System |
This paper describes a computer-aided constraint programmingsystem. Traditional Constraint Programming Languages have been built on top ofhost languages such as Prolog, Lisp, C++. This means that the user must havereasonable knowledge of the syntax and semantics of the host language beforebeing able to use the constraint technology effectively. On top of this, theuser may also be required to specify the heuristics and, or algorithm to solvethe constraint problem. This leads to a bottleneck in the amount of people whohave the necessary expertise in both constraint programming and the hostlanguage to implement practical systems, which use constraint satisfactiontechniques. Our aim is to abstract out as many of these details as possible, toproduce a high level system, where the problem specification is the focus. Wehave defined a simple, intuitive, high level, declarative (the order in whichconstraints are specified has no significance) language called EaCL forspecifying constraint satisfaction problems. We propose an open architecture inwhich future constraint solvers can reside. The architecture also allowsmultiple flexible interfaces. In this paper we present as an example, an examtime tabling system built on top of our system, using Visual Basic andAutomation.