Engineering Self-Organizing Dynamics in Distributed Systems: by Jan Sudeikat