This book describes the benefits that emerge when the fields of
constraint programming and concurrency meet. On the one hand,
constraints can be used in concurrency theory to increase the
conciseness and the expressive power of concurrent languages from a
pragmatic point of view. On the other hand, problems modeled by using
constraints can be solved faster and more efficiently using a concurrent
system. Both directions are explored providing two separate lines of
development. Firstly the expressive power of a concurrent language is
studied, namely Constraint Handling Rules, that supports constraints as
a primitive construct. The features of this language which make it
Turing powerful are shown. Then a framework is proposed to solve
constraint problems that is intended to be deployed on a concurrent
system. For the development of this framework the concurrent language
Jolie following the Service Oriented paradigm is used. Based on this
experience, an extension to Service Oriented Languages is also proposed
in order to overcome some of their limitations and to improve the
development of concurrent applications.