Design of Intelligent Multi-Agent Systems