  Cooperation among constraint solvers is difficult because different solving
paradigms have different theoretical foundations. Recent works have shown that
abstract interpretation can provide a unifying theory for various constraint
solvers. In particular, it relies on abstract domains which capture constraint
languages as ordered structures. The key insight of this paper is viewing
cooperation schemes as abstract domains combinations. We propose a modular
framework in which solvers and cooperation schemes can be seamlessly added and
combined. This differs from existing approaches such as SMT where the
cooperation scheme is usually fixed (e.g., Nelson-Oppen). We contribute to two
new cooperation schemes: (i) interval propagators completion that allows
abstract domains to exchange bound constraints, and (ii) delayed product which
exchanges over-approximations of constraints between two abstract domains.
Moreover, the delayed product is based on delayed goal of logic programming,
and it shows that abstract domains can also capture control aspects of
constraint solving. Finally, to achieve modularity, we propose the shared
product to combine abstract domains and cooperation schemes. Our approach has
been fully implemented, and we provide various examples on the flexible job
shop scheduling problem. Under consideration for acceptance in TPLP.
