In this chapter we described the production system as a method of modelling human problem solving. When trying to solve everyday problems, people may respond to an external condition with appropirate actions; they also form plans to guide their behaviour. One way to uncover a person's problem-solving strategies is to collect a protocol: the problem solver's own account of thoughts and intentions, spoken while solving the problem. From these `think aloud' protocols, the researcher tries to construct a problem space consisting of the person's states of knowledge and the operators needed to move from one state to another. A production system is one means of encoding a problem space, in a form that can be run on a computer. It has three main components: a database, called the working memory, that represents a person's current state of knowledge; a set of production rules that operate on the working memory; and an interpreter that decides which rule to fire in a particular state. Production systems have certain advantages -- flexibility, modularity, and cognitive plausibility -- over conventional computer programs that make them suitable for use in expert systems: programs that simulate the performance of human experts.