Relation between Nengo, SPA and NEF with respect to other Neural Models I'm working through How to Build a Brain and I keep getting confused on the relation between Nengo, the Semantic Pointer Architecture (SPA) and the Neurological Engineering Framework (NEF).

Are there general names and a general way to describe these components? I'm assuming the individual tasks they are performing are not unique, although I do believe that the result is unique. For example, I believe the role performed by SPA is similar to the one proposed by the Neural Blackboard Architecture, but I would really like to know if there is an equivalent to NEF and/or Nengo. Also, where does ACT-R fit into this whole thing?
I haven't read the book, just googled, so:

NEF is a mathematical model that simulates neural systems. It consists of formulae that you can use to (manually) compute the behavior of neurons.

NENGO is a software (version 1.0 in the programming language Java and is scriptable in Python, version 2.0 is pure python) that implements the NEF, so that it computes the behavior of neurons (according to the NEF) for you.

You can think of the relation between NEF and NENGO as similar to that between arithmetic (the rules for computation: addition, subtraction etc.) and a pocket calculator (which "knows" those rules and calculates for you).

SPA is another mathematical model. It uses the basic neural functionality modelled in the NEF to build a large scale cognitive model. In the book, NENGO is used to implement SPA/Spaun.

You can think of the relation between NEF and SPA as similar to that between arithmetic (the basic rules of calculation) and algebra (a more complex set of rules that uses the basic rules of arithmetics to solve more complex problems).

There are two websites explaining it all:


http://nengo.ca/
http://compneuro.uwaterloo.ca/research/spa.html


You will find the relevant pages explaining what I summarized above through Google.