Computation nowadays is becoming inherently concurrent, either because of
characteristics of the hardware (with multicore processors becoming
omnipresent) or due to the ubiquitous presence of distributed systems
(incarnated in the Internet). Computational systems are therefore typically
distributed, concurrent, mobile, and often involve composition of heterogeneous
components.