See also Project Lirec
YARP is a framework for abstracting the implementation of a robotic system in a modular fashion.
During the development of humanoid robots, the scale of development required has created a need to reuse code and work in a more modular fashion.
Modules communicate via network messages, and are therefore free to be written in any language, or spread processing across different machines. YARP also makes use of swig for helping with language agnosticism.