Vijay A. Saraswat

Vijay A. Saraswat is Member of the Research Staff at Xerox Palo Alto Research Center.

  • Principles and Practice of Constraint Programming

    Principles and Practice of Constraint Programming

    Vijay A. Saraswat and Pascal Van Hentenryck

    This collection of twenty-three original papers represents the first effort to bring together the work of constraint programming researchers scattered across multiple disciplines and across the world.

    This collection of twenty-three original papers represents the first effort to bring together the work of constraint programming researchers scattered across multiple disciplines and across the world. The collection contributes to the understanding of the common principles of this emerging general paradigm, the investigation of its theoretical foundations as well as applications to real-world computing problems. It is organized around themes of concurrency and reactive systems, languages and environments, algorithms, computer graphics, and artificial intelligence.

    Constraint programming aims at supporting a wide range of complex applications which are often modeled naturally in terms of constraints. Early work, in the 1960s and 1970s, made use of constraints in computer graphics, user interfaces, and artificial intelligence. Such work introduced a declarative component in otherwise-procedural systems to reduce the development effort. The mid-1980s have witnessed the emergence of general-purpose programming languages based on constraints, such as constraint logic programming and concurrent constraint programming, with significant applications in academia and industry. Today, an increasing number of researchers from all over the map of computing are looking at different aspects of this new computational paradigm.

    • Hardcover $75.00 £51.95
    • Paperback $40.00 £30.00
  • Concurrent Constraint Programming

    Concurrent Constraint Programming

    Vijay A. Saraswat

    Concurrent Constraint Programming introduces a new and rich class of programming languages based on the notion of computing with partial information, or constraints, that synthesize and extend work on concurrent logic programming and that offer a promising approach for treating thorny issues in the semantics of concurrent, nondeterministic programming languages.

    Saraswat develops an elegant and semantically tractable framework for computing with constraints, emphasizing their importance for communication and control in concurrent, programming languages. He describes the basic paradigm, illustrates its structure, discusses various augmentations, gives a simple implementation of a concrete language, and specifies its connections with other formalisms. In this framework, concurrently executing agents communicate by placing and checking constraints on shared variables in a common store. The major form of concurrency control in the system is through the operations of Atomic Tell—an agent may instantaneously place constraints only if they are consistent with constraints that have already been placed—and Blocking Ask—an agent must block when it checks a constraint that is not yet known to hold. Other operations at a finer granularity of atomicity are also presented.

    Saraswat introduces and develops the concurrent constraint family of programming languages based on these ideas, shows how various constraint systems can naturally realize data structures common in computer science, and presents a formal operational semantics for many languages in the concurrent constraint family. In addition, he provides a concrete realization of the paradigm on a sequential machine by presenting a compiler for the concurrent constraint language Herbrand and demonstrates a number of constraint-based concurrent programming techniques that lead to novel presentations of algorithms for many concurrent programming problems.

    • Hardcover $17.75 £14.95
    • Paperback $38.00 £30.00
  • Logic Programming

    Proceedings of the 1991 International Symposium

    Vijay A. Saraswat and Kazunori Ueda

    October 28-31, 1991, San Diego, California

    October 28-31, 1991, San Diego, California

    Previously called The North American Conference, the 1991 International Symposium complements the International Conference on Logic Programming held annually in June. Both are sponsored by the Association for Logic Programming.

    Topics covered: Foundations. Languages and Programming. Implementation. Reasoning about Programs. Applications. Logic Databases.

    • Paperback $85.00