Organisational abstractions for the analysis and design of multi-agent systems