A model of computation is a model which describes how an output of a mathematical function is computed given an input.
Models of computation can be classified into three categories: sequential models, functional models, and concurrent models.