Put formally, then, the research question for the subject of metacognition in computation is: what are the sets {X, Y, S, E}???where Y is a cognitive component of a computational system S, and E is its environment???such that having some X in such a relationship with Y provides benefits to the system (and what are these benefits)?