Scientific research and practice in multiagent systems focuses on constructing computational frameworks, principles, and models for how both small and large societies of intelligent, semiautonomous agents can interact effectively to achieve their goals. This article provides a personal view of the key application areas for cooperative multiagent systems, the major intellectual problems in building such systems, the underlying principles governing their design, and the major directions and challenges for future developments in this field.