A model of computation vs an abstract machine Wikipedia says


  A model of computation is a formal description of a particular type of computational process. The description often takes the form
  of an abstract machine that is meant to perform the task at
  hand. 


What other forms can a model of computation take than an abstract
machine?
What are the difference and relation between a model of computation
and an abstract machine? I thought that they were the same, until I saw the the quote above.
An abstract machine typically defines instructions with opcodes and operands. A Warren abstract machine, a java virtual machine, a Turing machine.  A programming model defines operations at a higher level, and could be independently supported by a number of different machines.  For example the actor programming  model says that an actor can send a message, create a new actor, and define internal state for its next message to be handled.  This is said without defining specific opcodes and operands, though one could envision an abstract machine that supported that.