Agent Societies to Design and Implement Complex Systems