Ebook: Analysis and Visualization Tools for Constraint Programming: Constraint Debugging
- Genre: Computers
- Tags: Programming Techniques, Software Engineering, Programming Languages Compilers Interpreters, Artificial Intelligence (incl. Robotics), Mathematical Logic and Formal Languages
- Series: Lecture Notes in Computer Science 1870
- Year: 2000
- Publisher: Springer-Verlag Berlin Heidelberg
- Edition: 1
- Language: English
- pdf
Coordinating production across a supply chain, designing a new VLSI chip, allocating classrooms or scheduling maintenance crews at an airport are just a few examples of complex (combinatorial) problems that can be modeled as a set of decision variables whose values are subject to a set of constraints. The decision variables may be the time when production of a particular lot will start or the plane that a maintenance crew will be working on at a given time. Constraints may range from the number of students you can ?t in a given classroom to the time it takes to transfer a lot from one plant to another.Despiteadvancesincomputingpower,manyformsoftheseandother combinatorial problems have continued to defy conventional programming approaches. Constraint Logic Programming (CLP) ?rst emerged in the mid-eighties as a programming technique with the potential of signi?cantly reducing the time it takes to develop practical solutions to many of these problems, by combining the expressiveness of languages such as Prolog with the compu- tional power of constrained search. While the roots of CLP can be traced to Monash University in Australia, it is without any doubt in Europe that this new software technology has gained the most prominence, bene?ting, among other things, from sustained funding from both industry and public R&D programs over the past dozen years. These investments have already paid o?, resulting in a number of popular commercial solutions as well as the creation of several successful European startups.
This book is the first one entirely devoted to the topic of constraint debugging; it presents new approaches to debugging for the computational paradigm of constraint programming. The book is based on the European research project DiSCiPl. It consists of an introduction and three parts, each of them composed of several chapters. The introduction presents the DiSCiPl debugging methodology and explains how the technical chapters are related. The three parts on correctness debugging, performance debugging, and user cases offer a total of 13 consistenly written chapters.