Organizational Principles for Multi-agent Architectures by