Multi-agent architecture