Issues in Reactive Constraint Solving

Markus P.J. Fromherz and John Conley

Abstract

Reactive programs are programs that react continuously with their environment, computing responses in bounded time whenever they receive an input from the environment. Examples of reactive programs are controllers and signal-processing systems. Constraint programming has much to offer such programs, both for modeling the controlled system and for implementing sophisticated control strategies.

We present a constraint solver design suited for embedded, constraint-based reactive computing. We are particularly interested in reactive control problems that involve repeated, incremental constraint processing. Starting from an analysis of such programs, we identify a set of requirements at the application level and map those to appropriate constructs at the solver level. Based on a well-defined variable life cycle, these constructs allow the program to guide the solver in a natural way when managing time and memory resources.

Postscript file

Back to the top.