Design principles for the immune system and other distributed autonomous systems