The
timed concurrent
constraint programming language (tccp in short), was introduced
for modeling reactive systems. This language allows one to model in a
very intuitive way typical ingredients of these systems such as
timeouts, preemptions, etc. However, there is no natural way for
modeling other desirable features such as functional computations, for
example for calculating arithmetic results. In fact, although it is
certainly possible to implement such kind of operations, each
single step takes time in tccp, and avoiding interferences with the
intended overall behavior of the system is quite involved.
In this paper, we propose an extension of tccp for modeling instantaneous computations which
improves the expressiveness of the language, in the sense that
operations that are cumbersome to implement in pure tccp, are executed
by calling an efficient, external functional engine, while the tccp
programmer can focus in the pure, and usually more complex, reactive
part of the system. We also describe a case study which motivates the
work, and discuss how the new capability presented here can also be
used as a new tool for developers from the verification point of view.