  Timed Concurrent Constraint Programming (tcc) is a declarative model for
concurrency offering a logic for specifying reactive systems, i.e. systems that
continuously interact with the environment. The universal tcc formalism (utcc)
is an extension of tcc with the ability to express mobility. Here mobility is
understood as communication of private names as typically done for mobile
systems and security protocols. In this paper we consider the denotational
semantics for tcc, and we extend it to a "collecting" semantics for utcc based
on closure operators over sequences of constraints. Relying on this semantics,
we formalize a general framework for data flow analyses of tcc and utcc
programs by abstract interpretation techniques. The concrete and abstract
semantics we propose are compositional, thus allowing us to reduce the
complexity of data flow analyses. We show that our method is sound and
parametric with respect to the abstract domain. Thus, different analyses can be
performed by instantiating the framework. We illustrate how it is possible to
reuse abstract domains previously defined for logic programming to perform, for
instance, a groundness analysis for tcc programs. We show the applicability of
this analysis in the context of reactive systems. Furthermore, we make also use
of the abstract semantics to exhibit a secrecy flaw in a security protocol. We
also show how it is possible to make an analysis which may show that tcc
programs are suspension free. This can be useful for several purposes, such as
for optimizing compilation or for debugging.
