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 of the computation takes time in
tccp, and avoiding interferences with the intended overall behavior of
the (reactive) 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 on 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.