Programming distributed and adaptable autonomous components—the GCM/ProActive framework. (13th May 2014)