Engineering Self-organising Systems with the Multiagent Paradigm