1. Variations on agent-oriented programming