An immune network approach for self-adaptive ensembles of autonomic components: a case study in swarm robotics