[5] The language comes with formal semantics, meaning that the execution of Jolie programs is mathematically defined.
For this reason, Jolie is used in research for the investigation of language-based techniques for the development of distributed systems,[6] and it is also used for teaching at some universities.
[7] The Jolie open source project was started by Fabrizio Montesi in 2006, as part of his studies at the University of Bologna.
The project initially began as an implementation of the SOCK process calculus, a formal model proposed by Claudio Guidi et al. at the University of Bologna[8][9] inspired by the CCS process calculus and the WS-BPEL programming language.
Jolie extends SOCK with support for, e.g., tree-like data structures (inspired by XML, but with a syntax resembling that of C and Java), message types, typed session programming, integration with Java and JavaScript, code mobility, application containment, and web programming.