Programming distributed and adaptable autonomous componentsthe GCM/ProActive framework