He first developed hybrid computer programs to run on our DEC PDP15 and Electronic Associates 580 digitally controlled analog computer system. This allowed extraordinarily fast and accurate propagating impulse simulation but it could not handle branching. By then digital computers had become much faster and had larger memories. Mike began to use FORTRAN first on DEC's PDP15 but then rapidly progressed to using the "C" language on DEC's PDP11s under a Unix operating system.
INTERPRETER/COMPILED SYSTEMS. One of the first projects that he tackled was to rewrite, in C, a Focal interpreter for use in control of lab experiments as well as simulations. This beautiful tool allowed simple high-level programming of the whole process but without the normal penalty of slowness in processing interpreter code because it allowed control of parameter setting and plotting to be carried out by the interpreter while the number crunching routines could be compiled after testing. This system was not only very useful on a variety of problems on PDP11s but was transported to PC's when C compilers became available for it. Because simulation of postsynaptic facilitation often seen at neuromuscular junctions required consideration of intracellular gradients, we used this tool to simulate intracellular diffusion of Ca in a patch of nerve terminal (Stockbridge & Moore, 1984; Moore & Hines, 1986). However, even the power of this system met its limit when I found it necessary to add diffusion of Ca to simulations of impulse propagation into the presynaptic terminal.
DEVELOPMENT OF CABLE (now called NEURON 1) Because these just noted simulations were intolerably slow, Mike decided to make a major improvement in our simulation tools and devised a powerful simulation package which he called CABLE (Hines, 1989).
CABLE allowed assignment of several standard channel types (Hodgkin & Huxley Na, K, leak, Ca channel, and Ca-sensitive K channel) to a branching net- work of compartments representing a single cell. Additional features included Na/Ca exchange, a metabolically driven Ca pump, and intracellular binding - which drastically affects the concentration of free Ca and its rate of diffusion. CABLE was designed to speed simulations by compiling all of the membrane and intracellular processes and solving these equations with an algorithm which sped the computation by an enormous factor. This remarkable algorithm ("Efficient computations of branched nerve equations") allowed him to convert a normal N*N matrix to a much more compact tri-diagonal form. This reduced the computation time enormously - from being proportional to N squared to simply proportional to N! Convenience for the user was maintained by providing interpreter control of running the simulation, setting parameters, and controlling the generation of output (plots, etc). Included in CABLE was an interpreter (called "Hoc" for a high order calculator which Mike had developed and expanded from the example of Kernighan & Pike). A very powerful and convenient aspect of CABLE was the built-in editor for Hoc which allowed the user to make changes in the underlying Hoc program. These changes became effective as soon as the editor was closed. As we employed CABLE for the simulation of a variety of systems, it became clear how to improve its power while simultaneously making it simpler for the user to maintain conceptual control of the simulation.
Thus NEURON has evolved into a general purpose simulation tool focused on neural components & systems.
Recently it has been even further enhanced in NEURON version 3.0 featuring:
THE SIMULATION COMMUNITY. The availability of a tool such as NEURON in the public domain is of utmost importance to us and we want it to remain so; that is why a "freely available" graphic interface was chosen. At first this limited its use to a Unix environment, usually found on workstations. Now that Mike Hines has succeeded in porting NEURON 3.0 to the MS Windows environment, that constraint has been removed and we expect that NEURON's use will expand to a much larger community. We expect and hope that this will continue to attract new users from neuroscience and computer science who will the continue the present practice of users offering their new contributions such as channels, mechanisms, etc. to the simulation community. Mike plans to implement the next version of NEURON with a superior graphic interface, "Fresco" (also "freely available"), which will allow it to run on all machines, including Mac computers.