Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents
Artificial intelligence: A modern approach