Over the past decades, coordination languages have emerged for the specification and implementation of interaction protocols for communicating software entities. This class of languages includes Reo, a platform for compositional construction of connectors. This talk comprises an introduction to Reo. It starts with an example that motivates the use of coordination languages in general and Reo in particular. We then proceeds with a more detailed explanation of Reo connectors and how we can compositionally construct them. The rest of the talk consists of a treatise of three formalisms for describing the behavior of connectors: co-algebraic models, operational models, and coloring models. In the process, we encounter and discuss the problem of context-sensitivity. The presentation ends with concluding remarks including recent and future work.