Knowledge Representation, Reasoning, and the Design of Intelligent Agents