Knowledge Engineering: Artificial Intelligence Research at the Stanford Heuristic Programming Project