40
Abstract A variety of approaches are available for using computational models to help under- stand neural processes over many levels of description, from sub-cellular processes to behavior. Alongside purely deductive bottom- up or top-down modeling, a systems design strategy has the advantage of providing a clear goal for the behavior of a complex model. The order in which biological details are added is dictated by functional requirements in terms of the tasks that the model should perform. Ideas from engineering can be mixed with those from biology to build systems in which some constituents are modeled in detail using bio- logically-realistic components, while others are implemented directly in software. This allows the areas of most interest to be studied within the context of a behaving system in which each component is constrained both by the biology it is intended to represent as well as the task it is required to perform within the system. The Catacomb2 modeling package has been devel- oped to allow rapid and flexible design and study of complex multi-level systems ranging in scale from ion channels to whole animal behavior. The methodology, internal architec- ture, and capabilities of the system are described. Its use is illustrated by a modeling case study in which hypotheses about how parahippocampal and hippocampal structures may be involved in spatial navigation tasks are implemented in a model of a virtual rat navigating through a virtual environment in search of a food reward. The model incorpo- rates theta oscillations to separate encoding from retrieval and yields testable predictions about the phase relations of spiking activity to theta oscillations in different parts of the hip- pocampal formation at various stages of the behavioral task. Index Entries: Computational neuroscience; simulation software; modeling; spatial naviga- tion; hippocampus; theta rhythm. 3 Neuroinformatics Copyright © Humana Press Inc. All rights of any nature whatsoever are reserved. ISSN 1539-2791/03/01:3–42/$20.00 Original Article From Biophysics to Behavior Catacomb2 and the Design of Biologically-Plausible Models for Spatial Navigation Robert C. Cannon, *,1,2 Michael E. Hasselmo, 3 and Randal A. Koene 3 1 Theoretical Neurobiology, Born-Bunge Foundation, University of Antwerp, Universiteitsplein 1, Antwerp, Belgium; 2 Institute for Adaptive and Neural Computation, Division of Informatics, University of Edinburgh, 5 Forrest Hill, Edinburgh, UK, EH1 2QL; 3 Department of Psychology and Program in Neuroscience, Boston University, 64 Cummington Street, Boston, MA 02215 * Author to whom all correspondence and reprint requests should be sent. E-mail: [email protected]

Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

AbstractA variety of approaches are available for

using computational models to help under-stand neural processes over many levels ofdescription, from sub-cellular processes tobehavior. Alongside purely deductive bottom-up or top-down modeling, a systems designstrategy has the advantage of providing a cleargoal for the behavior of a complex model. Theorder in which biological details are added isdictated by functional requirements in terms ofthe tasks that the model should perform. Ideasfrom engineering can be mixed with thosefrom biology to build systems in which someconstituents are modeled in detail using bio-logically-realistic components, while others areimplemented directly in software. This allowsthe areas of most interest to be studied withinthe context of a behaving system in which eachcomponent is constrained both by the biologyit is intended to represent as well as the task itis required to perform within the system. TheCatacomb2 modeling package has been devel-

oped to allow rapid and flexible design andstudy of complex multi-level systems rangingin scale from ion channels to whole animalbehavior. The methodology, internal architec-ture, and capabilities of the system aredescribed.

Its use is illustrated by a modeling casestudy in which hypotheses about howparahippocampal and hippocampal structuresmay be involved in spatial navigation tasksare implemented in a model of a virtual ratnavigating through a virtual environment insearch of a food reward. The model incorpo-rates theta oscillations to separate encodingfrom retrieval and yields testable predictionsabout the phase relations of spiking activity totheta oscillations in different parts of the hip-pocampal formation at various stages of thebehavioral task.

Index Entries: Computational neuroscience;simulation software; modeling; spatial naviga-tion; hippocampus; theta rhythm.

3

NeuroinformaticsCopyright © Humana Press Inc.All rights of any nature whatsoever are reserved.ISSN 1539-2791/03/01:3–42/$20.00

Original Article

From Biophysics to BehaviorCatacomb2 and the Design of Biologically-Plausible Models for Spatial Navigation

Robert C. Cannon,*,1,2 Michael E. Hasselmo,3 and Randal A. Koene3

1 Theoretical Neurobiology, Born-Bunge Foundation, University of Antwerp, Universiteitsplein 1,Antwerp, Belgium; 2 Institute for Adaptive and Neural Computation, Division of Informatics, Universityof Edinburgh, 5 Forrest Hill, Edinburgh, UK, EH1 2QL; 3Department of Psychology and Program inNeuroscience, Boston University, 64 Cummington Street, Boston, MA 02215

*Author to whom all correspondence and reprint requests should be sent. E-mail: [email protected]

Page 2: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

4 ________________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

IntroductionTwo tasks at which the capabilities of com-

puters far exceed those of human researchersare the management of very large homoge-neous volumes of data and the numerical cal-culation of the behavior of complex systemsbased on precise and complete formulationsof their constituent parts.

Both of these capabilities are of great poten-tial benefit to research in neuroscience, yet theuptake of database technology and the growthin the use of models has been much slowerthan in many other sciences. On one hand, thismay be ascribed to the extreme heterogeneityof the information to be stored and processed,and on the other to the total absence of “pre-cise and complete formulations” of the behav-ior of elementary constituents of neural sys-tems. That is, heterogeneity is as much a prob-lem in computing collective behavior as it is instoring and handling data. Indeed, ambitiousrecent developments such as CellML(www.cellml.org) or Neurospaces (Cornelisand De Schutter, 2003) intentionally blur thedistinction between representations of the bio-logical structure and of the mathematicalproperties of a system. They treat the mathe-matical formulation simply as more first-orderinformation to be processed along with a sys-tem’s logical and spatial structure, in order toderive higher level properties.

The impact of heterogeneity on the feasibil-ity of modeling studies has often been under-estimated, as characterized by the view that ifwe just work a little harder and make a bitmore effort, then the methods that are so effec-tive in, for example, theoretical physics, willyield equally fruitful and compelling resultsin neuroscience. This view neglects, or denies,a fundamental difference between physicsand life sciences that Schroedinger (1956)describes as the difference between “hot” and“cold” systems. In a “hot” system (almosteverything treated by theoretical physics) as

you include more and more elementary units,their collective behavior begins to be indepen-dent of the detailed properties of the unitsthemselves. Consequently, mathematicalapproximations get better and better for larg-er and larger systems. Cold systems (all livingthings) behave in the opposite manner, moreanalogous to a machine than to a statisticalequilibrium, with the variety of realizablebehaviors growing with increasing size.

A consequence of this is that althoughabstract mathematical models and detailedphysics-style bottom-up models can both beuseful, there is a whole domain of computa-tional applications in neuroscience that is sim-ply not represented in other scientific fields.These are the techniques appropriate to thestudy of complex “cold” systems in terms ofinformation management and software engi-neering. They form a major constituent of theemergent field of neuroinformatics.

Because of the closer analogy of neural sys-tems to machines (mechanical, computationalor economic) than to perturbations of statisti-cal equilibria, it is to be expected that much ofthe methodology and technology of neuroin-formatics should owe more to engineering orcommerce than to applied mathematics andtheoretical physics. Thus, for example, thesoftware systems of choice in computationalneuroscience, as well as in the business com-munity, include C++, Java, and XML(Goddard et al., 2001a,b; Forss et al., 1999),whereas these systems have only achievedminimal penetration among physicists, pre-sumably because they are not particularly use-ful for most research problems in physics.Likewise, neuroscience database technologies(Cannon et al., 2002) are more closely relatedto distributed shopping systems than to theirhighly centralized, astronomical counterparts(Wenger et al., 2000). One exception to the cor-respondence with business software is theextensive use of Lisp, the preferred languageof artificial intelligence research, in the Surf-

Page 3: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation ______________________________________________________5

Hippo Neuron Simulation System (Borg-Graham, 2001). The motivation for this choiceincludes features such as platform indepen-dence and access to the interpreter, which havebeen present in Lisp for many years. The even-tual appearance of these features in the C-fam-ily of languages is a large part of the appeal ofJava for neuroinformatics applications.

Good sources of inspiration in using com-puters to study the integrative behavior ofneural systems can be found in variousdomains of software and hardware engineer-ing, including computer-aided design, e-com-merce applications, computer games (Funge,1999) and, indeed, almost any modern appli-cation of object-oriented design (Gamma et al.,1995). In conjunction with more conventionalareas of numerical analysis, these have beenprimary influences in the development of thepresent modeling system via various interme-diate stages (Cannon, 2001a; Cannon et al.,1998; Hasselmo et al., 2002b).

The next subheading explores the advan-tages of the design-based approach to model-ing in comparison with conventional deduc-tion-based methods. It is followed by anexamination of how best to represent multi-level biological models (“Model Structure”).Each subheading begins with an analysis ofthe problem and works through possible solu-tions, ending with the details of the particularchoices made in Catacomb2. The softwarearchitecture of the system is described under“Catacomb2 System Architecture,” and themain biological and non-biological compo-nents that are currently available for use inmodels are presented in “SoftwareComponents.” “Model Execution and Meta-Modeling,” “Publication, Dissemination, andArchiving,” and “Extensibility and Interactionwith Other Modeling Systems” cover three ofthe most important requirements of the cur-rent generation of modeling systems: meta-modeling facilities such as sensitivity analysisand optimization; infrastructure for model

sharing and publication; and mechanisms thatallow the system to be extended or used in conjunction with other tools. Throughoutthe text, concepts are illustrated with examplestaken from the first major model built withCatacomb2. This model involves spatial navi-gation by a virtual rat in a virtual environmentguided by spiking activity of populations ofcells representing parahippocampal and hip-pocampal structures (Hasselmo et al., 2002a,b).Scientific and technical aspects of these modelsare presented as a case study in “Case Study:Modeling Spatial Navigation.” Finally,“Discussion and Future Directions” reviewsrecent progress and discusses future directionsfor the software and modeling work.

Modeling PhilosophyNeural systems have functionally impor-

tant features on a wide range of spatial andtemporal scales: from spine morphology tosystem connectivity, and from receptor kinet-ics over a period of milliseconds to permanentmorphological changes. Building an artificialsystem which encompasses all, or even somepart, of this range involves constructing a paththrough the space of possible models that con-nects structure at the smallest scale present tothat at the largest scale via all the intermediatelevels (Kotter et al., 2002; Borg-Graham, 1999).In some respects, this can be likened to solvinga differential equation where constraints, orboundary conditions, are imposed on thesolution at both ends of the domain. The his-torical development of numerical methods forsolving differential equations can therefore beused to frame corresponding ideas about howto tackle multi-level modeling problems.

Neither Top-down Nor Bottom-up

One of the earliest and simplest approachesto solving two-point boundary value prob-lems is known as the “shooting” method. Ittakes the known conditions at one end, guess-es any unknown quantities that are needed,

Page 4: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

6 ________________________________________________________________________________ Cannon et al.

Fig. 1. Component-based single cell models.The components on the left are used for stimulation, either byimposing a transient conductance change on the membrane (A, B, and C) or by sending a train of events toa population of synapses (D and E).The right-most component shows the membrane potential of the cell.Allfigures are generated directly from the software and appear much as they do through the user interface. A.Simple integrate-and-fire cell with a leaky integrator compartment and a spike generator which fires an eventwhenever the cell exceeds a threshold. The spike generator reads the potential of the cell and causes thepotential to be reset when it fires an event (link going back to the “reset” port on the integrator compart-ment). B. As case A, but with the addition of two spike response functions that are triggered by events from

Page 5: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Catacomb2 and Models for Spatial Navigation ______________________________________________________7

and propagates the solution across thedomain to the other end. In general, the result-ing path will not meet the desired boundaryconditions, so the initial guesses are modifiedand the process is repeated. If the equationsare well-behaved such that the point at whichthe path meets the far end varies systematical-ly with the initial guesses, then the right solu-tion can eventually be found by judiciousadjustment of the initial guesses. Both the bot-tom-up (working up from biophysics) andtop-down (working down form behavior)methodologies of computational neuroscienceare analogous to shooting methods.Unfortunately, it is a well-established result ofnumerical analysis that shooting is only a suc-cessful strategy for relatively simple systemscomprising no more than a few nicely-behaved equations. Therefore it is unsurpris-ing that these methods are very difficult toapply successfully in neuroscience, where theboundary conditions are complicated and theintegrative behavior even between adjacentlevels rarely obeys simple rules. Fortunately,the differential equation literature containsmany methods that have been developed towork in more complex environments. Theseform the basis of much day-to-day numericalwork in theoretical physics (e.g., Eggleton,1971; Lattanzio et al., 1997) and suggest thatanalogous methods may prove useful in neu-roinformatics.

Among the approaches developed for two-point boundary value problems, perhaps themost widely used and generally useful arerelaxation methods (Press et al., 1993). The

strategy here is to start with a complete pathacross the domain, that, of course, is not asolution, but does meet the desired conditionsat the two ends. The path at least provides avalue, albeit wrong, for the function at allintervening points. An iterative procedure isthen used to gradually adjust all these pointstogether in order to bring the path closer andcloser to the correct solution—a processtermed “relaxation.” An alternative versionhas the starting configuration serve as the cor-rect solution to a different, simpler, problemand then gradually move towards the realproblem in small steps such that the solutioncan be kept up to date for each change(Cannon, 2001b). The challenge in this methodis to find an acceptable starting solution, orsimple equivalent problem, and then to comeup with an iteration scheme which doesindeed bring it nearer to the desired result.Relaxation methods have been applied tomany problems which are intractable by theshooting method, and are responsible for thevast majority of our knowledge about certaintypes of systems including, for example, theinternal structure and evolution of stars (e.g.,Faulkner, 1968; Eggleton, 1971; Lattanzio,1986).

Based on these observations from numeri-cal analysis, one of the design goals in devel-oping Catacomb2 has been to facilitate modeldevelopment by relaxation, rather than onlyby shooting. It should be stressed that the cor-respondence to numerical analysis is strictlyan analogy. Internally, models often requirethe solution to differential equations by a vari-

the spike generator. One is set to produce a rapid after-hyperpolarization, and other to give a slow after-depo-larization that causes the cell to continue firing periodically after the stimulus finishes. C. As B but without theconnection from the spike generator to the compartment reset port. The cell is repolarized by the spikeresponse function and has slightly more realistic spike shape. D. A simple integrator with complex synapticinput.The component on the far left delivers a sequence of events to the synapse population, each of whichcauses a bi-exponential conductance change on the compartment. E. Spikes generated by ion channel models.There are two populations of ion channels loosely representing sodium and potassium channel kinetics.Together they generate a wide spike in response to input from the synapse population. [CFO]

Page 6: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

8 ________________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

ety of implementation-dependent methods,which may indeed involve relaxation methods,but this is a choice of a particular implementa-tion. The intended analogy with relaxation isthat it can also guide the way a modeler inter-acts with a modeling package. The modeler’sgoal is to achieve a plausible computationalequivalent to a biological system, and therelaxation approach is to start with an implau-sible model that at least covers several parts ofthe problem domain and then graduallyrefines its internal components. Thus,Catacomb2 aims to help build approximatemodels which show complex behaviors,rather than very biologically-realistic modelsthat only reach simple integrated behaviors. Itdoes this by allowing a wide variety of soft-ware components in the chain linking bio-physics to behavior; some implemented withbiologically realistic components, others withalgorithmic “black boxes.” So, for example,besides models of cells, it also has logical com-ponents capable of performing tasks such ascomputing a direction of motion from a cur-rent and desired position. A behaving modelcan contain any mixture of high-level logicwith plausible neural circuitry. The aim is firstto build a system which performs the task inquestion, then gradually to refine (relax) itsimplementation to use more realistic compo-nents. The advantage is that at every stagethere is input from both ends-what natureactually uses to achieve particular functionalgoals, and what algorithms these componentsmay be implementing. Intuitively, this is alsothe reason why relaxation methods are so suc-cessful in numerical analysis: they allow theupdate step at a particular point to be influ-enced by information propagating from all theconstrained points of the system.

A correlate to this approach is that there areno pre-defined “correct” structures to use inan intermediate model—any structure thathelps the model work is legitimate, and is apotential basis for subsequent refinement by

the relaxation process. Models can exploitconcepts from a variety of domains, includingcontinuous-time and discrete-time processes,as in the growing field of “heterogeneousmodeling”(e.g., www.ptolemy.org). This elim-inates many of the somewhat arbitraryboundaries that sometimes appear in themodeling literature, such as the distinctionbetween channel-based cell models and inte-grate-and-fire cell models. In Catacomb2, forexample, there is no barrier to constructing acell model which fires a spike and is reset afterreaching a specified threshold, but which alsocontains membrane ion channels to generatesubtle sub-threshold behaviors. Indeed, thereare many numerical advantages to separatingout the spiking behavior as an all-or-noneevent while working with the channel kineticsat a slower time scale appropriate to othersub-cellular processes. Five examples of cellmodels at different levels of complexity areshown in Figure 1. The first behaves as a sim-ple integrator. Features are added one by oneto create a range of models: any model can beused in a network according to the functionalneeds in a particular context. Further exam-ples of cells designed to play specific roleswithin a network are presented in “CaseStudy: Modeling Spatial Navigation.”

Constraining Possible Models

One of the first problems in using a generalpurpose differential equation package tomodel a biological system is that it providestoo much freedom both in the choice of math-ematical formulation and in parameter values.A central goal of domain-specific softwaresystems is therefore to restrict this freedom sothat the parameter space reflects the plausibil-ity of particular models in the domain. Userswish to be presented with options that allowthem to build working systems, not optionswhere the vast majority of configurationsyield meaningless results.

Page 7: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation ______________________________________________________9

Script-based modeling systems such asNeuron (Hines and Carnevale, 2001) andGENESIS (Bower and Beeman, 1994) improveon general-purpose packages by providing aset of biologically meaningful constructs thatcan be augmented, where necessary, with gen-eral purpose code. The approach taken inCatacomb2 has been to accentuate this distinc-tion by providing a wide range of predefinedcomponents that are intended to work togeth-er in almost any configuration that the systemlets the user assemble. More complex logic canbe implemented by writing new code mod-ules or scripts, but for many applications thisshould not be necessary. It encourages theview that script or module writing is a slowone-off activity that should be carefullyplanned and revised, whereas model con-struction, testing and modification is aneveryday activity to be made as quick and aseasy as possible.

The design of a system that permits onlyinteresting models to be built, or rather, onewith a parameter space which is at leastdensely populated by useful models, remainsa major challenge in computational neuro-science. With such a system, for example,genetic algorithms or other optimization tech-niques could be used on points in the modelspace itself. At present, a certain part of theinstantaneous structure of biologically plausi-ble models is captured, but there is no mecha-nism for describing the slower regulatory pro-cesses that would govern many of the quanti-ties in a real system. The resulting models suf-fer the same fragility with respect to theirparameters as is familiar from many other sys-tems. In effect, although the parameter spacedoes contains interesting models, it fails to sat-isfy the natural corollary that it should also berelatively smooth and that each model shouldoccupy at least some minimal volume of thetotal space. There is a simple mechanism fortesting this with a perturber component thatgoes through any model and introduces ran-

dom changes, according to specified probabil-ity density functions, in all the parameters.Ideally, if a model covers a significant part ofthe space, then introducing random multi-plicative changes of a few percent should notchange the gross behavior. Perturbation ofcomplex models, however, generally changesthe behavior substantially, indicating thatthere is scope for improvement in the choice ofparameterizations. This is considered furtherin “Discussion and Future Directions.”

Model Development

Computers are often used to performnumerical calculations in physics in a singlestep: a program is written that incorporatesthe physical constants and input conditionsand generates results. In some cases, wherethe program is used repeatedly, there are twosteps: first the numerical method is imple-mented, then it is run repeatedly on differentdata sets. Increasingly, it is now a three stepprocess, with the first step being the imple-mentation of a set of general-purpose mathe-matical procedures by professional softwareengineers as in MATLAB (www.matlab.com)or Yorick (ftp://ftp-icf.llnl.gov/pub/Yorick/doc/index.html). Researchers then use thesein much the same way as they would use alow-level programming language. Meth-odological development is clearly in the direc-tion of multi-layer systems where complexproblems are divided according to the avail-able expertise. While the efficiency gains, andtherefore design pressure in this direction,remain modest in many areas of appliedmathematics, the complexity of implementingbrain-like systems makes it an absolute neces-sity in neuroinformatics. Indeed, the idealnumber of levels in neuronal modeling maybe many more than three, and systems whichallow this separation and specialization maymake more effective research tools than thosethat do not. For example, a single modelingproject may involve writing an efficient

Page 8: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

10 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

numerical implementation of an ion channel,building a biologically plausible single-cellmodel, designing a network to implement agiven algorithm and setting up a realisticbehavioral experiment. These tasks requirequite different expertise and can best be doneby different researchers working together.

At present, Catacomb2 tries to achieve thisseparation first by starting with the constructsprovided by Java, an object-oriented languagewith extensive libraries for managing datastructures, building graphical user interfaces,and accessing the Internet. It then has hard-coded modular implementations of manybasic constructs from neuroscience includingion channels, synapses, isopotential compart-ments, projection patterns, and populations.These can be assembled into functional unitsthrough a graphical interface, and such unitscan then be treated as single components forreuse in more complex models and so on up tothe level of modeled behavior. In addition, lay-ers can be represented as coarsely (using sim-ple algorithmic components) or finely (withdetailed biologically-oriented models) asrequired so that a complete multi-layer systemis available early in the development process.This allows a single layer to be refined withinits wider functional context, even before realis-tic implementations of other layers are avail-able. This approach does achieve part of thegoal of multi-layer modularity, but neverthe-less it remains purely structural. A more effi-cient and robust development strategy mightallow even coarser implementation of someparts of a model by defining the tasks a sectionshould perform, or the concepts it implements.This would broaden the range of possiblemodels and make a more direct connectionwith much current top-down modeling work.

Model StructureThe development of NeuroML (Goddard et

al., 2001b) and of similar “MLs” (MarkupLanguages) in other domains has occasionally

been misunderstood as an almost magicalsolution to problems of compatibility betweenmodeling systems, as though it would oneday be sufficient to click “save as neuroml” toexport a GENESIS model in a form whichcould be read by Neuron. This seems veryunlikely to happen for any but small parts ofexisting models, primarily because of funda-mental differences in the ways in which thesesystems describe models internally. The realadvantage to community agreement on a stan-dard such as NeuroML is that it carries with ita particular way of describing models of bio-logical systems. If there is agreement at thislevel, then the details of taxonomy and file for-mats are no more than a software problemthat can easily be overcome.

There is little dissension to the idea thatpurely declarative model descriptions are agood thing (Beeman et al., 1997). That is, adescription of a model should contain onlystatements of the model structure and param-eter values, essentially a set of grouped“name=value” statements. This is to be con-trasted with procedural model descriptionswhich resemble a computer program, possiblywith conditional statements and looping con-structs. Only by following through the pro-gram can the full model be reconstructed. Theadvantages of a declarative descriptioninclude readability, since each statementshould be meaningful on its own, and porta-bility, since it is not dependent on any particu-lar execution environment. The distinction,however, is not always clear. Consider forexample describing a neuron with spines dis-tributed along its dendrites. A declarativedescription of such a cell might include theindividual positions of all the spines. Thiswould be fine if the spine positions came froma detailed morphological reconstruction, but ifthey were allocated according to some statisti-cal rule, then storing the positions is typicallynot what is required. The underlying model ofinterest is a combination of the dendritic mor-

Page 9: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________11

phology with a statistical distribution ofspines. A procedural description of the modelmight include a fragment of code for generat-ing spine positions perhaps as a function of segment diameter—effectively a mini-program for sampling a probability densityfunction. This is also not what is required,because it might be rather hard to deduce thedensity function from the procedural descrip-tion. Moreover, code for sampling fromimplausible or ad hoc distributions can lookvery similar to code for sampling from a stan-dard distribution which imposes the fewestunfounded assumptions. A declarativedescription, on the other hand, would simplystate what the spine density function is andleave the process of sampling from the distri-bution up to the software that runs the model.The density function is made explicit and theextent to which it departs from minimalassumptions is immediately apparent fromthe number of statements required to define it.

There is also widespread agreement thatobject-based descriptions, where parametersare grouped within conceptual units that canthen be used as a whole, are an obviouschoice. Opinions vary, however, about wheresome of the boundaries should be drawnbetween objects, and most importantly, aboutthe global structure of a biological model. Oneobvious possibility is to use an object tree,where the objects are described where they areneeded. So, for example, a model with twobranched cells might have two nodes at thefirst level, one for each cell. Then each nodewould have a number of children, represent-ing the different segments of the cells. Eachsegment could have a number of children rep-resenting the ion channels on that segment.The difficulty here is that the same ion channelmodel probably occurs many times, so theparameters have to be copied into every casewhere it is needed. Where then are the defini-tive parameters if the channel models are to bechanged? Is it legitimate to change them on

one segment but not on others? What happenswhen the model is saved—do you get multi-ple descriptions of the same thing?

Various solutions to this problem are cur-rently in use, mostly based on storing theparameters in a single place and making refer-ence to them when needed. The approachtaken here, also the one adopted forNeuroML, is that almost all objects should bestored in top-level sets, and where one object“contains” objects of another type, it should infact just contain a set of very simple objects(unique to itself) each of which makes a refer-ence to the corresponding descriptive object.Thus, in the above example, there would betop-level sets of cells and of ion channels. Eachcell object might contain a set of channel-reference objects. And each channel-referenceobject would point to an ion channel model inthe top-level set. Channel-reference objectsmight contain other information, such as thedensity of the ion channel in the context ofthat particular cell, but would not contain anychannel properties also required elsewhere.This principle of minimal redundancy, wherean object should be stored in a top-level list if it is ever likely to be used in more thanone place, eliminates problems of changing a model in one place but not in others, andallows graphical user interface tools to oper-ate effectively on the models. In practice, it is also an excellent way to decide how models should be dissected into objects andreferences.

One feature discussed for various ML’sincluding NeuroML and SBML (SystemsBiology Markup Language) is the ability touse expressions in a model to define how aparticular subcomponent is to be used in agiven context (Hucka et al., 2001). For exam-ple, the channel model might contain (as inthe NeuroML draft [Goddard et al., 2001b]) aparameter, Gmax, which is its maximal con-ductance per square micron. But this dependson the context of the channel. Each time the

Page 10: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

12 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

channel is used, there is then a need for somestatement in the cell model to set Gmax for thechannel in that particular context, perhaps asa function of the radius and length of a den-dritic segment. Catacomb2 contains no mech-anism of this sort, and instead takes the appar-ent need for an expression in this context asevidence that the boundaries have been mis-drawn and Gmax should not, after all, be partof the channel model. So far, all cases wheresuch requirements arise have been settled thisway with careful consideration of whatparameters should or should not be part of aparticular object. Often the apparent need forexpressions and functions results from adesire for conciseness that can instead be set-tled by introducing more objects and makinga genuinely declarative statement about whatthe model is. For example, in the above case,the only conductance parameter present in aCatacomb channel is the single channel con-ductance. A cell model has a set of channel ref-erence objects each of which contains thename of the channel to be used, and the den-sity (expressed as the number of channels persquare micron) at which it is to be used in thecell. That is, there is a whole new layer ofobjects essentially just to hold references anddensities. It should be stressed that the struc-tures used to represent models do not imposeany constraints on the internal representationof those models in a particular system.Nevertheless, because the requirements of agraphical user interface and of a modeldescription system are so similar, Catacomb2uses the standard structures for its user inter-face. These structures are not, however, well-suited to numerical calculations, so there is acompletely separate representation for themodel implementation (“Numerical Imple-mentation”).

The model description is the only part of amodel which the system can save to a file.There is deliberately no journaling facility andno facility for saving the internal state of a cal-

culation. Anything that needs to be reinstatedwhen the model is reloaded must be made anexplicit part of the model description. Thisincludes, for example, statements that specifysuch things as which file should be used toread in weights of the synapses in a particularpopulation. Models are therefore forced to bepurely declarative, with all the potentialadvantages of robustness, visibility and porta-bility that it entails. This also makes it naturalto store models as XML (www.w3c.org/XML)which is now the default in preference to anearlier file format which used C-like structuredefinitions to store models.

Note that in this context, “models” are staticdescriptions of the properties of a system.They make no mention of the state informationthat will eventually be associated withinstances of models when their behavior iscomputed, except occasionally to specify ini-tial values where there is no other unambigu-ous way of assigning them. As far as Catacombis concerned, state information remainsimplicit in the model, and only appears withinnumerical implementations. This is a compro-mise between completeness of description andimplementability. As mentioned in the intro-duction, other systems (Cornelis and DeSchutter, 2003; www.cellml.org) are attempt-ing to expose more of this information. Theapproach presented here can also be seen asemploying the layering principles mentionedabove: numerical implementation and stateinformation is handled by programmers andimplemented in source code; model structureand parameter values are handled by modelbuilders and implemented in model descrip-tions. Although it would be conceptually ele-gant and theoretically powerful to providecomplete system descriptions at the modellevel, this option has been sacrificed in the pre-sent system in favor of ease of implementation,on the assumption that very few users wouldexploit such a possibility.

Page 11: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________13

Data Structures for Model Description

The “objects” into which a model descrip-tion is broken down will here be termed“frameworks” to avoid confusion with objectsused in software implementations. A frame-work defines a structure—field names andtypes—but does not set any field values.Models can be made from a framework byadding information on the parameter values.Technically, a framework is no more than a setof parameter definitions wherein each defini-tion specifies the name and the type of aparameter. Most of the allowed types comefrom a subset of those available in many pro-gramming languages comprising the primi-tive types boolean, int, double, String, andone-dimensional arrays of these primitivetypes. There are also two complex types, heretermed Set and Reference following theNeuroML convention (Goddard et al., 2001b).

The present framework definition system israther vague about two important modeldescription issues: the units in which valuesare expressed, and the additional informationabout a parameter which is often required inorder to build an effective user interface. Thelatter may include, for example, whether alogarithmic or linear scale should be used forfloating point values and what the defaultrange should be. Currently, the units are fixedby the framework, and the rest of the informa-tion is provided as optional hints to the userinterface. This removes any danger of unitincompatibility, since the user has no choiceabout the units.

Besides the primitive data types and arrays,models are built exclusively from the twohigher-level data structures—Set and Ref-erence. A Set can contain any number of mod-els but they must all be of the same type. Whena Set is constructed, it is told the base frame-work to which its contents belong. AReference simply holds a string referring to amodel by its framework (hard-coded) and

Fig. 2. Set and reference structure for describingaqueous solutions. Slanting text indicates sets, boldnormal text model components, and plain text fieldsand their values. Parts of the description have beenomitted as indicated by rows of dots. Each specie isdefined only once, in a top-level set of species.Likewise compounds and solutions are kept in toplevel sets. Each compound needs to refer to thespecies it contains, but with each reference it alsoneeds to specify the number of occurrences.Therefore each compound has a local set ofCompoundElement objects which are not visibleelsewhere. Each element contains a number and areference to the corresponding specie (dashedlines). Similarly, solutions contain a local set ofobjects to combine the concentration of a com-pound with a reference to its content (dotted lines).

Page 12: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

14 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

name (user-defined). It is the responsibility ofthe system to find the model being referred towhen necessary by a closest-first tree searchuntil it finds a set containing models with theright framework, and then by looking up the model name within that set. This is howthe previously discussed minimal-redundancyprinciple is implemented in practice. Anymodel component that is likely to be reusedcan be parameterized just once and stored ina Set somewhere. Whenever it is needed itcan then be referred to simply with aReference of the appropriate type mention-ing the object by name.

The extensive use of references results in rel-atively shallow tree structures for models,with most objects living in top-level sets, or asthe children of elements in top-level sets, andreferring to other top-level components byname. This also means that almost any compo-nent which can meaningfully be reused isdirectly available without any duplication ofthe parameters. As an example of this struc-ture, the representation of a simple aqueoussolution is shown in Figure 2. A solution con-tains a variety of compounds, each at a differ-ent concentration, and each compound is com-posed of charged species. Compounds andspecies are likely to be reused in many differ-ent contexts, so they should live in top-levelsets. Each compound must then contain a setof private objects indicating the species it uses.Similarly each solution contains a set of“SolutionElement” components which com-bine a reference to a compound with localinformation on its concentration.

Hierarchical AssembliesBesides the primary frameworks which con-

tain parameters for setting properties of partic-ular types of model, there is one general pur-pose framework which covers almost all therest of the model description problem—theAssembly framework. An assembly holds aset of other models, each of them an instanceof a primary framework or of another assem-

bly. Typically the elements of assemblies willmake references among themselves encodingthe structure of the model as a graph. In thispicture there is no distinction made betweenedges and vertices since all elements have thepotential to show both vertex-like and edge-like properties. Moreover, there is also norestriction that elements with edge-like prop-erties should have only two ends, so, forexample a catalyzed reaction component mayconnect three or more distinct pools—thereactants, the products, and the catalyst.

Connections between models are definedby attaching ports on one component to thoseon another. The input and output ports aredefined by the framework in terms of the data,events, or properties they mediate. An outputport of a given type can only be connected toan input port of the same type. Ports arealways accessible to other components in thesame framework and, optionally, to compo-nents one layer up in the hierarchy. The mainport types and their uses are shown in Table 1.

Almost all run-time interactions are han-dled by the spike and vector ports. The formertransmit discrete events, and the latter pro-vide read-on-demand access to a vector ofdouble values from one component to anoth-er. The attachment and redirection ports arethe two main referencing mechanismsbetween objects within an assembly. Attach-ment ports provide a means to specify thatdistinct objects are physically connectedtogether (as in the components of an animatfor example). Redirection ports are used in avariety of contexts where objects are repre-sented by distinct frameworks but where oneis somehow located inside another, as in achannel being inserted in a membrane, or a ratbeing placed in a maze. Finally, the Objectand Stream components provide flexible datatransfer between cooperating componentssuch as reading files or transporting a connec-tivity matrix from the projection pattern thatgenerated it to a display component.

Page 13: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________15

Fig. 3. Catacomb2 system architecture is divided into two distinct parts: Catacomb itself, which is concernedwith the description, construction and visualization of models of biological systems; and Toucan, a numericalcalculation package designed for memory-efficient calculation of model behavior. Toucan is a free-standingpackage which can be used entirely independently of the model description tools. Catacomb comprises modeldescription components, a generic user interface system which can construct any model consistent with thedata structures employed, and as large set of domain-specific user interface components for the explorationof certain types of models.The only part of the whole system which is persistent (can be saved to files andrestored) is the description of the active model.

Table 1—Principal Connection Types Between Objects

Page 14: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

16 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

Catacomb2 System Architecture

The main components of Catacomb2 areshown in Figure 3, grouped into sections forthe user interface, model description packageand a stand-alone numerical implementationpackage called Toucan, which is currentlyused for all the calculations. For each primaryframework (iso-potential compartment, syn-apse population, projection pattern, etc.), thereis a single class in the model description treewhich defines the parameters of a model andhandles its interaction with other items in themodel description if necessary. In most casesthe system generates a default user interfacefor these objects, but for some of them there isalso a dedicated component in the user inter-face branch that provides more convenient orintuitive access to the parameters.

Internal Representation of Models

The internal representation of models is anexact parallel to the structures described in“Data Structures for Model Description” and“Hierarchical Assemblies.” For each frame-work, there is a corresponding class definitionwith fields for the parameters and for any setor reference items defined for the framework.References are stored externally by the typeand name of the model element to which theyrefer. Dereferencing (finding a model compo-nent given its name) is performed by a localclosest-first search, looking first among thechildren of an item’s parents, then the descen-dents of its grandparents, and so on. Thisallows models of the same type and name toexist at different places in the model hierarchywithout any ambiguity as to which one ismeant by a particular reference. Although it isobviously inadvisable to give distinct modelsthe same name, one consequence of construct-ing complex declarative models through auser interface is that a great many objects arecreated implicitly by the system with defaultnames. Since these objects only ever occur

within the context in which they are created, itis unnecessary to give each one a globallyunique name or a unique ID. The local deref-erencing rules prevent any ambiguity.

User Interface

A primary objective has been to ensure thatall models that the system is capable of com-puting should be constructible with the userinterface alone, and conversely, that the sys-tem should be capable of computing thebehavior of any model which it allows to beconstructed. This, rather than the more tenu-ous promises of inter-compatibility throughXML and related technologies, has been themain motivation for using the highly restrict-ed data structures and purely declarativemodel structure described above.

The user interface incorporates a dynamicinterface builder which can examine theframework used by any model and producea default set of interface components to dis-play and change parameter values. This cov-ers all single-valued fields. For referencefields, all possible referents within the currentmodel are located and presented to the user inmenus. These default interfaces are augment-ed in some cases with framework-specificinterface components which provide a moreintuitive or convenient way to interact withcertain types of models. For example, theassemblies mentioned above are simply setsof components with references between them,but the user interface presents this as a graphwhere nodes can be added and connectionsmade between them by dragging icons withthe mouse.

Numerical Implementation

The behavior of models is computed with anumerical modeling package called Toucanthat is extensively referenced from Catacombbut which makes no backward reference toanything on the model description or user

Page 15: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________17

interface side. It can therefore be used on itsown from programs, scripts, or from othermodeling tools. Just as Catacomb containsmodel description frameworks optimized forefficient and convenient model construction,Toucan contains corresponding model

description frameworks optimized for effi-cient computation. The first step when amodel is run therefore involves mapping themodel description into the correspondingToucan components. These components arethemselves only a model description: there is

Fig. 4. Stages in the preparation of an executable Toucan model instance. Solid arrows show direct referencesin the final data structure; dotted ones indicate which component is responsible for creating each reference.Numbers show the order in which references are created.There is a network of two cells of the same type(A and B at the top) with a single connection between them (C).The cell model has three components withtwo connections. First the references by name are looked up, giving the solid arrows in the middle section.Then the network creates an executable instance.The first cell reference calls the cell description to create astate instance. Each of the first three components in the cell description spawns a state instance; the last twomake connections between them.This process is repeated when the second cell reference in the network callsfor an executable instance. Finally the third component of the network, the connection between the two cells,finds and connects the appropriate subcomponents of the two cell instances.

Page 16: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

18 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

then a de-referencing stage where each component finds the Toucan versions of theother items it needs, and finally a “compila-tion” stage in which each Toucan descriptioncomponent spawns and connects up one ormore state components which actually containthe state variables and numerical code of themodel.

The process of building an executable sys-tem from the model description is illustratedschematically in Figure 3 and with a more con-crete example in Figure 4. It is only in the com-pilation phase that the model is expandedfrom the minimally redundant version usingreferences wherever possible, to the completestate space of the system. Even at this stage,the supplied parameters themselves are neverduplicated: a model description component inCatacomb which is referred to by other com-ponents maps into a corresponding structurein Toucan, still with multiple incoming refer-ences. After compilation there is only oneToucan representation of the parameters, butit delivers a new instance of the state variablesfor each incoming reference. These spawnedstate objects keep a reference back to theparameter object to compute their evolutionbut otherwise make reference only to otherstate objects to which they are connected in

the compilation process. This structure is away to minimize unnecessary memory usesince the state variables frequently occupymuch less space than the parameters. Forexample, a four-state ion channel may easilyhave twenty or thirty parameters, but to rep-resent its state only takes a single integer(which state it is in) when modeled stochasti-cally, or a four element vector in the ensemblelimit.

Toucan uses a combination of event-drivenand fixed-timestep calculations, with eachdelaying component managing its own eventqueue. At each step in the calculation, the top-level object instructs all its children to advanceby one timestep. They do the same to theirchildren and so on down to the elementarycomponents. Components fetch informationfrom each other as necessary to update theirstate and any events which are generated arepropagated and acted on immediately. Thismay typically involve being queued if there isa delay involved, changing state variables ofanother component, or, in some cases, settingoff a long chain of event-driven updates.

This approach to numerics is quite differentfrom that adopted in Neuron (Hines andCarnevale, 2001) which casts the whole modelinto a system of algebraic differential equa-

Table 2—Connectors and Network Projection Patterns

Page 17: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________19

tions to be solved by a sophisticated differen-tial equation package. Such packages havethe advantage of being very reliable and ableto achieve high accuracy. They can write effi-ciency improvements such as adaptivetimestepping. One disadvantage is that thereis frequently domain-specific knowledgeabout the model which gets lost in the map-ping to algebraic differential equations, andtherefore cannot be used to improve efficien-cy. This occurs, for example, where the differ-ential equation package must re-deduce thesparse matrix structure (Hines, personal com-munication) of a branching cell even though itwas known, by construction, to conform tothe Hines numbering system (Hines, 1984).Perhaps the main reason for the differentapproach, however, is that the current systemis easier to implement: the export ofCatacomb models to a Neuron-like solutionpackage, or even to Neuron itself would beuseful in many contexts.

Software ComponentsMost of the components available in

Catacomb2 (version 2.034) are shown inTables 2 through 7. For all except the connec-tors in Table 2, the small image shows how thecomponent is represented in the user inter-face, and can be used to read the diagramspresented in “Case Study: Modeling SpatialNavigation” and elsewhere. The filled squaresaround the edges represent the ports on thecomponent and are color-coded according tothe type of information which they accept orprovide. These correspond to markers on theconnectors themselves and the user interfacewill only allow markers of matching modali-ties to be connected (spike senders to spikereceivers, etc.). Components are grouped intotables according to their primary use whichcan be building cells, generating and record-ing signals, specifying logical operations, con-structing animats, or building networks. Theconnectors can be used between components

Table 3—Sub-cellular Components

Page 18: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

20 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

of any groups. The names of components areshown as they appear in the user interface.Each name is a concatenation of words wherethe first is in lower case, but subsequent wordsare capitalized. This is in line with the mostcommon naming convention for Java in whichclass names are concatenations of capitalizedwords, and instances use the same name butwith the first letter changed to lower case.

In addition to the items shown in the tables,for most sets, the user interface supplies anempty box called a ...CaptureBox (where theprefix could be neuron, device, network, oranimat). These are not persistent items in amodel description, but serves to constructassemblies of the corresponding type whichcan then be used as components in othermodels. The box is dragged around the com-ponents to be grouped and then captures them

within an assembly. This can be done to partof a larger model: all the connections arererouted through the assembly as required sothe model behavior remains unchanged.Although there are several different flavors ofcapture box, they all work the same way.Indeed, the difference is purely conventional.Internally, the treatment of an assembly isindependent of its type or name except thatassemblies captured by the neuron-CaptureBox are put in a set of neurons,whereas those captured by the device-CaptureBox are put in a set of devices. Thisbecomes significant when they are reused: acomponent expecting a neuron will only beoffered items out of the set of neurons; oneexpecting a device will only be offered itemsform the set of devices. As yet, the only com-ponents which do make such references are

Table 4—Lab Components

Page 19: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________21

the population sockets in Table 7 as discussedat the end of this section.

The components for making cell models areshown in Table 3. As remarked in “ModelingPhilosophy,” there is no single-cell componenthere: all single-cell models are instances ofhierarchical assemblies. The core of any cellmodel is an integratorCompartment whichrepresents a closed iso-potential area of mem-brane. It has an internal potential and onlyaccepts inputs in the form of conductancesand reversal potentials. The threshold-SpikeGenerator reads a continuous value andemits discrete events whenever the valuecrosses a specified threshold. All the other cellcomponents are conductance providers whichcan be inserted into a membrane and provideconductance or driving potential changes in

response to the arrival of discrete events or tothe evolution of their own internal state.

Table four shows general purpose lab com-ponents for generating and recording signalsand for directing the progress of a calculation.The components in this set are distinguishedfrom other groups because they are unlikely tobe used within compound assemblies andbecause most of them require some form ofaccess to the internal state of the model after ithas been compiled. That is, they are part of themodel description, but are also used to pro-vide access points to the running model. Thus,for example, the vectorRecorder specifies arecording interval as part of the modeldescription, but also receives and displays therecorded data as the model is running.Likewise, the spikeButton and vectorSwitch

Table 5—Logic Components

Page 20: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

22 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

allow events to be sent into the compiledmodel as it is running. This contravenes thepurely declarative modeling principle, whichcan be rescued by, for example, driving theswitch programmatically from a pre-definedevent sequence.

At present the logic components form thelargest set, so only a selection of the most com-mon ones is presented here (Table 5). Theycover a wide variety of data processing andsignal processing functions, all acting on dis-crete events or vector-valued data. Comp-

onents are intended to implement relativelysimple functionality but in a few cases theycover complex algorithms such as the featurediscretizer (see “Case Study: Modeling SpatialNavigation” for examples of its use) or pathlinearizer. Such components represent a rela-tively large chunk of a final model, and can beseen as a compromise between explicitdescription of a model in simple units, andrapidly getting a model to work when it is nototherwise clear how to achieve the desiredfunction.

Table 6—Animats and Virtual Environments

Page 21: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________23

Table six shows the components availablefor modeling animats and virtual environ-ments. There is no sharp distinction betweenthe two—an automated maze in which foodsupplies are replenished in response to leverpresses is very close to an animat which press-es levers to receive food. The componentsinclude a variety of sensors and effectorswhich, unlike all other components, commu-nicate without any explicit connection in themodel description. Instead, they rely on a con-cept of physical space which is provided byincorporating a scale bar item in a maze orattaching a spatial location object to the clusterof sensors and effectors which constitutes ananimat. Internally, these two components reg-ister all the items they are associated with ashaving the possibility of long range interac-tions. At the compilation stage, real connec-tions are established according to the proper-ties of the components (sound sensors tosound sources, etc.).

Finally, Table 7 shows components whichcurrently belong in sets of their own. In par-ticular, it includes the neuronSocket whichcovers the whole field of populations of cells.The term socket indicates that it does not, ofitself, specify any connections: these are allderived from the particular component itrefers to. It does, however specify the layoutof the population, as a grid or a single row. No distinction is made between items which

represent a single cell, and those for a wholepopulation. Internally they are both regardedas populations. All the ports within a neuronassembly which have been marked as exter-nally visible also appear as ports on the popu-lation and are accessible for inputs from spikeor vector connectors as well as the more specific spike and conductance projectioncomponents.

Model Execution and Meta-ModelingThe discussion so far has centered on repre-

senting the static properties of a biological sys-tem, and the ability to compute its evolutionover a short interval (seconds or minutes).Most scientific applications also require waysto study other properties of a model, such asits correspondence to existing data or the sen-sitivity of particular behaviors with respect touncertain parameters. Frequently this infor-mation is acquired by tweaking and re-run-ning a model and the whole process is neverformally laid down. It involves developing afeel for the model construction process andconstitutes a sizable and inaccessible body ofknowledge. As such, it is a considerable barri-er to new users of many modeling tools. As faras possible, therefore, tools should allow theuser not only to compose the biological modeldescription, but also to compose, in an equal-ly declarative form, the description of the dataand processes which gave rise to the model,

Table 7—Network Construction and Miscellaneous Componets

Page 22: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

24 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

how it was tested, and how well it can beexpected to perform. This “meta-modeling”should be described within the same contextas the model itself, with the distinction thatthe subject is now a model, not a biologicalsystem. In the case that the meta-model repre-sents a procedure for generating models fromexperimental data, it should ideally be suffi-ciently detailed that the model can be recreat-ed from the source data alone without any ofthe procedural component normally presentin complex modeling tasks.

Sensitivity Analysis

One of the most accessible forms of meta-

modeling is to assess how sensitive the resultsof a model are to uncertainties in the parame-ters. In Catacomb2 this is accomplished withcircuitry like that in Figure 5. TheparameterExposer gives access to parametersto be varied, in this case the transition rates ofan ion channel model. The difference-Calculator evaluates how far apart the behav-iors of two models are in some predeterminedspace. The sensitivityAnalyzer first runs themodel once with the fixedStepRunner to con-struct the result set to which subsequent runswill be compared. It then changes the selectedparameters over specified ranges, rerunningthe model each time. The output of the

Fig. 5. Meta-model for computing parameter sensitivity.The model under study is a kinetic scheme ion chan-nel in a voltage-clamped membrane.The membrane potential is driven through a predefined profile with thesignal generator at the bottom left, and the resulting current profile forms the argument of the difference cal-culator. The four components at the top define the structure of the analysis. The parameterExposer can bedirected at any part of a model, and makes any parameters it finds accessible to other components. TheparameterSelector picks one of the parameters as an argument for the analysis. This is then varied by the sensitivityAnalyzer which reruns the model for each value in a selected range.The results are read fromthe differenceCalculator for display by the unit at the far right. [CFO]

Page 23: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________25

differenceCalculator is recorded for each run,giving a simple view of how the measuredbehavior varies with respect to a singleparameter.

This example illustrates many of the con-cepts that are needed for more subtle forms ofmeta-modeling. As elsewhere, the objective isto eliminate procedural definitions of the algo-rithm. Although it is described above as asequence of operations, which matches theway in which it is calculated, the order ofoperations is unimportant. The nth point inthe results is a function of the derived proper-ties of the model at two different parametervalues, independent of any of the other pointsin the results. The model description thereforemakes no mention of this order, opening upthe possibility, for example, that all pointscould be calculated in parallel. This possibilityof processing model definitions in new and unanticipated ways is one of the keyadvantages of eliminating spurious procedu-ral information and using only declarativestructures.

Parameter Optimization

Software libraries for parameter optimiza-tion are often large and sophisticated (see e.g.,Portlib [Fox et al., 1978] or the survey of meth-ods for channel density optimization byVanier and Bower [1999]). It is not the inten-tion here to represent the algorithmic contentsof these declaratively, only the way in whichthey are applied. The main aim is to allow the transfer of an optimization procedurebetween users in the same way that modelscan be exchanged, without requiring any extraknowledge about how the optimizationshould be performed.

The description of an optimization shouldtherefore include the names and initial valuesof parameters which are optimized, the errormeasures used to test convergence, the nameand source of the algorithm used and anyflags or parameters required by the particular

implementation of the algorithm. Most of thisis possible with the same components as areused for the sensitivity analysis, with theexception of specifying a choice of optimiza-tion algorithm. Presently only the conjugategradient method (Press et al., 1993) is avail-able within Catacomb2 itself through thecGOptimizer component which uses an inde-pendent NeuroML-compatible optimizationlibrary. Other algorithms can be implementedvia the optimizerScript component, whichworks in very much the same way as theJython script extension mechanism, but withhooks and call-backs appropriate to generaloptimization problems.

Robust Model Developmentand Database Access

A criticism of many cell and network mod-els is that they have been tweaked by themodel builder in order to show particularbehaviors, and have therefore lost much oftheir predictive power. The modelingapproach advocated in “Introduction,” andemployed in the examples presented here,sidesteps this issue by focusing on design, inthe way that engineers design circuits, ratherthan pretending to do bottom-up prediction ofintegrative properties. That is, the models canbe shamelessly tweaked, because there is anindependent test: do they perform the task forwhich they have been designed? Sensitivityanalysis can then be used to check how muchtweaking has been required—does the modelstill perform successfully when parametersare changed by 1%, 5%, 10%, or more?Nevertheless, it is clearly of interest to incor-porate empirical data where possible, and thisremains a major challenge to systematic androbust model creation. Sensitivity analysisand parameter optimization are part of thesolution, but a great deal remains to be donebefore a procedure can be laid down, thesource data provided, and the software left tocome up with the most plausible models. For

Page 24: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

26 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

the output to be useful, it should also includeparameter confidence estimates and error tol-erances. At present, this is not possible withinCatacomb2, but the modular design doesallow models and numerical implementationcomponents to be used from external scriptinglanguages such as MATLAB or from withinindependent robust modeling systems.

Publication, Dissemination,and Archiving

Unlike empirical or analytical studies, theresults of modeling work are very ill-suited toconventional text-only publishing methods.Complete model descriptions are often large,with many parameter values that are neces-sary within the context of the model, but thatare not intrinsically interesting in the wayexperimental measurements of real biologicalquantities are. But the greatest difference isthat whereas in an experimental study, anyonecan readily get hold of the type of tissueclaimed to give rise to the observed data,(even though the experiments may be veryhard to repeat), in a modeling study, the rawmaterial—the model itself—is rarely madeavailable, except in a highly condensed formfrom which it would often take weeks ormonths to recreate.

This situation has been allowed to persistbecause of the recognition, first, that mostusers would not know what to do with it evenif they had access to the model and second,that the authors would probably be willing togrant such access if requested. However, onegoal of any new modeling tool must be tomake model sharing as straightforward aspossible, both for the benefit of users, andbecause publishers are unlikely to carry ontolerating the current situation indefinitely.The transition from highly personal modelimplementations which are rarely, if ever,used by others, to widely and routinely acces-sible models is likely to be a gradual process

involving sociological changes, and facilitatedby incremental technological shifts. The socio-logical issues are clearly not insurmountable,since they have been effectively overcome inmany areas, including public-domain soft-ware engineering (Raymond and Young, 2001)where, for example, the source code ofNeuroML or Catacomb itself is normallyfreely available on the web within days ofbeing written.

The first step towards easily shared modelsis the use of purely declarative structuresinstead of scripts. This makes it easy for read-ers to see what is in a model, and easy formachines to search and catalog them.Declarative model descriptions are also mean-ingful in the absence of any implementation,unlike scripts which depend on a particularinterpreter. Other features likely to help thedissemination of models include single-filestorage, documentation and annotationschemes, mechanisms for providing tutorialsand, in some cases, making models directlyaccessible through a web browser (cf.www.virtualcell.com).

Self-Contained Model DescriptionsOne immediate disincentive to using anoth-

er group’s models is the need to install orupdate a whole range of ancillary librariesand software components before the modelcan be run. This problem has considerablyeased with the development of cross-platformstandards such as Java, and the relaxation ofconstraints on disk and memory usage.Although Catacomb2 is able to use modelcomponents from external sources, by default,whenever a model or subcomponent of amodel is saved, all references are followed andeverything necessary to reconstruct the modelis put in a single file. The resulting modeldescription is therefore completely self-con-tained. Anyone with that file who hasinstalled the software should be able to runthe model.

Page 25: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________27

This policy does have a number of draw-backs: in particular, the duplication of modelsubcomponents. For example, many cell mod-els may use exactly the same model for partic-ular ion channels, but every file will containits own copy of the channel description.Loading multiple cell models will also thenload multiple models of the same ion channel.Because of the internal storage conventions(that ion channels should all go in a top levellist and have unique names) this problem iseasily spotted, and, by comparing serializa-tions (turning the model description into astring of characters), the system can work outwhether two models are in fact the same andthrow out redundant copies. In practice, thispolicy works fairly well despite seemingrather delicate and vulnerable to serializationconventions. Nevertheless, it seems likely thatin the future some system involving theassignment of unique model identifiers whichchange with every modification as in SBML(Hucka et al., 2001) or the Modeler’sWorkspace (Forss et al., 1999) will be required.

Internal and External Documentation

Early versions of Catacomb (Cannon,2001a) experimented with the idea of internaldocumentation for all model components.That is, one of the parameters of every objectwas a text document in which the creator ofthe model could provide whatever informa-tion they saw fit. This text would then be aninextricable part of the model. The immediateadvantage is that anyone who has the modelalso has the documentation. The disadvantageis that the information provided this way isunstructured. Adding further fields such as“author,” “date,” and “keywords” to everyobject would be very wasteful since only asmall fraction of model components ever needdocumenting separately.

This option has now been replaced by a more structured external documentationmechanism based on the Axiope (www.axiope.

org) non-curated distributed database project(Cannon et al., 2002). This allows completemodels or subcomponents such as individualion channel models, to be documented accord-ing to external or user-generated templates.The information can be exported as both a col-lection of web pages and as XML files, consti-tuting a self-contained website. This can bekept locally as a data-management system, orexposed on the web as part of a distributedmodel database. In the latter case, the softwarecan request one or more Axiope servers tovisit and catalog the site. They then providecollective indexes and search services wherethe provided models appear among similaritems from other participating sites. Thisapproach to model documentation and publi-cation is still very much in its infancy but ishoped to overcome many of the hurdlesinvolved in submitting models to centralizeddatabases. With the Axiope scheme, it is madevery clear that authors retain complete physi-cal and intellectual control over their work,while still making it accessible through collec-tive access points.

Interactive Tutorials

Online help is provided as a set of localweb pages which can be viewed from anystandard web browser or from a simplifiedbuilt-in HTML browser. The latter has theadvantage that it also understands Catacomb-specific links built into the web pages whichcan be used to issue commands to the inter-preter. These may typically be used to loadexample model files, open display windowsfor particular subcomponents, or performactions such as running a model. The presentimplementation of such links is to use a pseu-do-URL which includes a command nameand optional arguments. Current commandsinclude “show,” “run,” “load,” “press,” and“set.” What is required for subsequent argu-ments depends on the action being applied,but in most cases there is a single argument

Page 26: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

28 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

which is the fully qualified name of a modelcomponent.

Extensibility and Interactionwith Other Modeling Systems

Software capable of computing the behav-ior of models of biological systems, is neces-sarily complex and there is a continual driveto be able to accommodate larger and morecomplex models. It is therefore essential tofind mechanisms for widespread collaborativework both in building model descriptions andin developing software implementations. Thisproblem is shared with many parts of the soft-ware industry and solutions have been underdevelopment for many years. The situation inneuroscience differs from many commercialapplications however, because of the completelack of hierarchical organization, and the con-sequent need for structures which correctlyapportion academic credit and intellectualproperty rights to all participants.

Perhaps the closest parallel to academicsoftware may be found in the free softwarecommunity (Raymond and Young, 2001)which has developed working structuresbased largely on conventions. The history offree software would suggest that widelyaccepted solutions are indeed likely to emergegiven time, but that there may be substantialduplication of effort in the process. In themeantime, Catacomb2 provides a number ofmechanisms for users to extend its capabilitiesaccording to their needs, ranging from the useof its built in model definition structure, tocutting parts out for use in quite separate soft-ware packages.

Component GroupingA simple, yet versatile, way of making new

components that show functionality notfound in the standard set of frameworks isprovided by the component grouping mecha-nism. As discussed in “Model Structure,”

primitive components can be connectedtogether and encapsulated as a single item forfuture use. Since the primitive componentscan come from any of a wide variety of logicaland biological components, as well as othergrouped components, it is possible to imple-ment models this way that bear no relation tothe problem domains of the constituents. Avery common case of extension by componentgrouping, is the construction of single-cellmodels, which are nowhere represented in theelementary components, as discussed in“Modeling Philosophy.”

Scripting

The jythonScript component mentioned inTable 5 provides an interface from a model toarbitrary logic implemented as a script writtenin Jython (www.jython.org), the Java flavor ofPython (www.python.org). Any number ofsuch scripts can be incorporated in a model.They can communicate with other compo-nents through vectors or discrete events. Thisapproach to model extension is provided forflexibility and prototyping but is deprecatedas part of any permanent model descriptionbecause it breaks the convention about purelydeclarative model descriptions. The internalworking of a script is generally opaque toarchiving systems or search engines, and diffi-cult for other users to understand.Functionality that is initially implemented inscripts should be migrated to new modelframeworks if it proves to be widely used.

Writing New Frameworks

The dynamic nature of Java class loadingand instantiation allows Catacomb to be veryliberal about what constitutes a modeldescription framework. Indeed, any publicclass with a default constructor can be used.Any fields that are declared public and arewithin the set used in the software (“DataStructures for Model Description”) will be

Page 27: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________29

made accessible through the user interface.Furthermore, if models use Catacomb’s ownset and reference objects, or those declared inthe NeuroML development kit, then the fullfunctionality of the model description frame-work will be available on the imported class.Adding a framework for the model descrip-tion does not involve adding any numericalcode for implementing a model. Models thatuse external class definitions can still be creat-ed, modified stored and retrieved. In general,adding numerical code so that a model couldalso be run would involve writing corre-sponding classes in the model implementa-

tion package. This type of extension, however,is very specific to one software package andtherefore wastes much of the generalityafforded by the technology. Instead of requir-ing package-specific extensions, Catacomb2also supports a system-neutral extensionmechanism at the code level that is beingdeveloped in the wider context of NeuroMLas discussed in the next section.

Interfaces for Runtime InteractionOne of the most attractive ways to enable

distinct software packages to work togetherwhen neither is strictly dependent on the

Fig. 6. T-maze, virtual rat and network as it appears in Catacomb2. The symbols correspond to the items inTables 3–7. Larger boxes with a ladder down the left hand side are populations of cells, and double lines rep-resent 1-1 or all-all projection patterns between populations. [CFO]

Page 28: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

30 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

other, is to establish a small area of commonground in some neutral space between themvia which all communications should pass.Each package must then know about the com-mon ground, but can be insulated from anychanges in the other package. In softwareterms, this common ground should be part ofthe global namespace which is not associatedwith either package. Much software written inJava now uses globally unique names depen-dent on ownership of particular domains. Forexample, the full names of classes developedby Sun Microsystems often begin com.sun. asin com.sun.j3d.loaders.Loader. By convention,this name is unique to Sun because they ownthe domain sun.com.

One natural piece of common ground forinteraction between modeling packages is theneuroml.org domain which is already exten-sively used by various packages because of thefacilities it provides for working with XMLfiles. However, before sufficient agreement isreached as to exactly what such middle groundshould contain, Catacomb uses an alternativeneutral area under compneuro.org which is co-hosted with neuroinf.org. Amongst otherthings, this site holds documentation and inter-faces which can be used to build Catacomb-compatible components without needing toread or use any of the source code. This pro-tects developers from changes that may takeplace to the software itself, and guarantees thattheir work is genuinely system independent. Italso allows Catacomb developers to modifyand refactor the internal architecture at will,without the risk of breaking dependent codebecause they only need to ensure that the inter-face definitions remain unchanged. At present,these interfaces cover everything needed forcompatibility with the event send/receive andvector read/provide mechanisms. That is, pro-vided objects from an external package imple-ment the right interfaces from the org.comp-neuro package then it is possible to instantiatethem through the user interface, connect them

to other components with the spike and vectorconnections, and run the resulting model.

Case Study: Modeling SpatialNavigation

Much of the development effort behindCatacomb to date has been directed at build-ing increasingly effective models of spatialnavigation and food seeking behavior in orderto explore the role of theta rhythm in hip-pocampal function. The development andstructure of these models has been describedelsewhere (Hasselmo et al., 2000, 2002a,b):here the focus is on how they have beenimplemented and refined using Catacomb2.First a brief overview is given of the problemsunder study and the hypotheses to beexplored. Then the structure of the model isexamined with reference to two key designissues: how to separate encoding and retrievalwithin the network so they do not interfere;and how to make the virtual rat move towardsthe food. The full model, as it appears on firstloading in Catacomb is shown in Figure 6.Only a few aspects will be considered here.

A Mechanism for Environment Learning

Behavioral data suggest a role for parahip-pocampal regions in memory guided behavior(Hagan et al., 1992) and the patterns of activi-ty in particular regions have been extensivelyrecorded during spatial navigation tasks(Yound et al, 1997; Suzuki et al., 1997; Frank etal., 2000). Cellular physiological propertieshave also been isolated which could be impor-tant for memory function (Klink and Alonso,1997; Fransen et al., 2002). The model consid-ered here is based on the idea of place fields inwhich patterns of neural activity are related tospecific locations in the environment (O’Keefeand Dostrovsky, 1997; McNaughton et al.,1983; Muller et al., 1987). A number of modelshave addressed both the formation of placefields (Sharp, 1991; Kali and Dayan, 2000) and

Page 29: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________31

the conversion of place information to turningdirection (Sharp et al., 1996; Burgess andO’Keefe, 1996; Redish and Touretzky, 1998).Instead of this, the current example focuses onthe learning and use of a representation of theenvironment. The creation of place fields is ofcourse necessary, but is handled here by a sin-gle algorithmic component.

The idea to be implemented is that as the ratmoves around its environment, place fieldsare created which map an area in the environ-ment to spiking activity in a group of cells.When the rat moves between place fields itlearns an adjacency association between thecorresponding groups of cells. Eventually,when it reaches a food reward, it also learnsan association between the presence of food

and the place field in which the food wasfound. Now, when the rat is placed in any partof the explored environment, a mechanism isrequired for it to find the food. This involves adiffusion-like process where the desire forfood excites the pattern of the place field cor-responding to the location of the food. Thelearned adjacency relations are then used topropagate the activity into patterns for placefields one step removed from the food. Theprocess is continued until the diffusing signalreaches a place field which is adjacent to therat’s current place field. The rat then movesinto this place field, and so on until it gets tothe food. In effect, there is a signal diffusingback through its internal representation of theenvironment and it heads to the point where

Fig. 7. Physical and logical components implementing a virtual rat and its interaction with a maze.The animatitself is composed of the two components to the upper left which confer on it the property of having a phys-ical position and size relative to the walls of the T-maze (“spatial location”), and the ability to eat from the dis-penser (“ingester”).The straight arrows from the spatial location component indicates where it is placed inthe maze. In this case, the arrow goes through a switch, allowing the animat to be moved between predefinedtracks and free running mode according to the event sequence object on the left.The position output goes toa feature discretizer component which creates place fields as required when the rat moves around.The out-put of the feature discretizer forms the input to the biologically motivated parts of the model. [CFO]

Page 30: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

32 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

this signal meets a short range signal movingout from its current location.

Just as with the design of software,although this scenario may seem plausible, itis next to impossible to find its flaws or weak-nesses without actually implementing it. Forexample, one problem with the above whichmay not be immediately obvious is that theassociation learning mechanism is still activewhile recall is taking place, causing thestrengths of learned associations to change inthe absence of new information, and rapidlycorrupting the internal representation of theenvironment. But this soon becomes apparentin the process of building a model to performthe task. The first step is to decide which fea-tures should be implemented with biological-ly plausible mechanisms, and which onesshould be done with higher level components.Because the main interest is in the learningand use of representations of the environment,motor control and the formation of placefields will be handled by logical componentsas described in the next subsection. Pop-ulations of spiking cells will be used for thehippocampal regions as described in “AFramework for Studying Interaction BetweenNetwork Models and A Simulated Environ-ment” through “Goal-Directed Behavior andAction Selection.”

A Framework for Studying InteractionBetween Network Models and a Simulated Environment

The components used to represent the envi-ronment and to make contact between the vir-tual rat and the hippocampal network areshown in Figure 7. The meanings of the iconscan be read with the aid of Tables 2 to 7. Seethe figure caption for a detailed description oftheir internal connections. There are two areasof interaction between this part of the modeland the rest: definition of the experimentalprotocol; and closing the sensory to motorloop through the network model. In this case,

the experimental protocol is very simple,defined by a sequence of events controllingthe insertionSwitch which moves the animataround. More complex protocols might usethe ports on the dispenser and other devices toencode, for example food delivery in responseto lever presses. The access points that makecontact with the network are the ports on theingester and the feature discretizer. Theingester sends periodic events when the ani-mat is within range of food, and can beinstructed to eat by sending events to its inputport. The feature discretizer acts as a single-component solution to the problem of creatingplace fields, which is not the focus of the pre-sent study. It keeps a list of known feature vec-tors, and continually reads the position of therat. When the rat is far enough from any pre-vious features, it creates a new one and adds itto the list. The index of the current feature isthe main input to the rest of the model. Thefeature discretizer also works in reverse, tak-ing a feature index provided by the hip-pocampal network, and converting it back to afeature vector. This is combined with the cur-rent position of the rat in the direction calcula-tor in order to produce a command signal forthe motor system.

Buffering Sensory Input

The algorithm outlined above requiresinformation about the environment, essential-ly adjacency relations among place fields, to becoded in the synaptic weights of projectionsbetween patterns corresponding to differentfields. For convenience, the present model usessingle element patterns, so this involvesstrengthening a single selected recurrent con-nection within a fully connected network ofplace cells. The source of the adjacency infor-mation is the environment itself—the rat mov-ing from one place field to the next providesthe information that they are adjacent. But therat moves between fields relatively slowlycompared to the pre-to-post synaptic spike

Page 31: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________33

intervals of well under 100 ms over whichsynaptic potentiation is experimentallyobserved to occur (Markram et al., 1997; Bi andPoo, 1998). There is therefore a need for somesort of buffering to provide persistent activityin one place field which overlaps with activityin the next field that the rat enters.

There is extensive physiological data sug-gesting that persistent action potential firingcan occur in certain cells of the entorhinal cor-tex in response to activation of muscarinicreceptors which results in prolonged calciumsensitive cation currents (Alonso and Klink,1993; Klink and Alonso, 1997). This has alsobeen implemented in detailed biophysical

models (Hasselmo et al., 2000; Fransen et al.,2002). In the current model, persistent firing isachieved with a slow after-depolarization, asin part B of the examples in Figure 1. Once acell in the buffer population fires, it initiates aslow after-depolarization (ADP) which, in theabsence of other input, is sufficient to bring itback to threshold in about 50 ms. Connectionsbetween cells and through an inhibitory net-work allow for this persistent firing to be sup-pressed in the presence of other activity.

Using Theta Oscillations to SeparateEncoding and Retrieval

The next step in implementing the outline

Table 8—Summary of Synapse Population Properties.Synapse populations are among the most complex single components in Catacomb, and mix biophysical proper-ties with logical properties, such as direct plasticity modulation, to capture a wide range of possible functions.

Page 32: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

34 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

design is to introduce the synapses in whichthe adjacency relations are to be encoded. Thebuffering network provides temporally over-lapping activity patterns so it is sufficient touse a one-one projection to transfer these to apopulation of cells with recurrent connectionswhich implement a long term potentiationrule. The parameters of synapse populationcomponents can be set to implement a widerange of spike timing dependent plasticitylaws. The possible features are shown in Table8. First, the spiking output of the cell mustbe connected to the backward propagatingspike port on the synapse population. This isnecessary because the normal insertion con-nection between a synapse population and amembrane works in only one direction: thesynapses affect the membrane conductance,but the membrane has no effect on the synaps-es. Once a synapse is receiving both afferentand back-propagating spike information, it issufficient to specify the weight modificationprofile, normally by linear interpolation forthe pre-to-post or post-to-pre time differencein a set of points.

Using recurrent connections with an LTPwindow of 40 ms, the network readily learnsthe adjacency relations as increased synapticweights, and the properties of the bufferingpopulation prevent any learning of second-neighbor relations. However, problems arisewhen the model is extended to make use ofthe weights, because the LTP mechanismmakes no distinction between firing whichresults from supplied information and firingwhich results from internal recall. The encod-ed information risks being swamped by spuri-ous connections learned during recall, whichwill typically involve more network activitywithin the LTP window than during encod-ing. In software terms, some sort of clockingor gating mechanism seems to be necessary toswitch between the two modes. Possible bio-logically-based solutions can be found in anumber of experimental studies which have

tested the relationship between theta oscilla-tions (4–12 Hz) in the hippocampus and theinduction of long term potentiation (Pavlideset al., 1998; Holscher et al., 1997; Orr et al.,2001; Wyble et al., 2000). These experiments allshow the strongest long-term potentiation atthe peak of the theta cycle, which correspondsto the weakest synaptic transmission. This isexactly the function required here: when theinformation is internal, propagated by strongsynaptic transmission, there should be nopotentiation, but when the synaptic transmis-sion is weak, indicating that spiking activity isdriven externally, then the synapses shouldpotentiate. Although it would be possible toimplement this mechanism with biophysicalunits, Catacomb2 also allows direct modula-tion of plasticity and transmission at synapsesas described in Table 8. Using this mechanismit is sufficient to attach a signal generator withthe right waveform directly to the synaptictransmission port, and for the same signal tobe sent to the plasticity modulation port afterpassing it through a delay buffer componentwhich induces a half-cycle delay. This allowsthe network to operate in two distinct modes,performing one encoding frame and one recallframe on each theta cycle. This illustratesanother feature of the modeling philosophydescribed in “Modeling Philosophy”: a possi-ble mechanism is implemented rapidly withalgorithmic components to see if it fulfills thedesired function. Only now that it has provedto be useful is it worth looking further for bio-logical correlates and refining the model toincorporate biophysical mechanisms such ascalcium-dependent gating of transmissionand modulation.

Goal-Directed Behavior and Action Selection

The second design issue to be considered ishow information about the goal and the cur-rent location can be used to generate motorsignals for the virtual rat. As discussed in “A

Page 33: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________35

Mechanism for Environment Learning,” thefeature discretizer component works in bothdirections, so it is sufficient for the network tosend spikes of the right index (coming fromthe right cell in a population with place fields)into the feature discretizer, which will recon-struct the locations in the environment. Thedirection calculator then computes a directionfor the virtual rat, which advances at a default

speed in the absence of any other signals fromthe network.

Although the discussion of encoding andretrieval focuses on a single recurrent net-work, the algorithm outlined in the introduc-tion requires several populations, each withcells corresponding to place fields in the maze.In the current model region CA3 encodes anepisodic memory of paths taken during explo-

Fig. 8. Illustration of visualization features during the T-maze task. All images are captured directly from thesoftware as the model is running at the point when the rat has just chosen to turn left instead of right.Thecamera (A) view shows the position of the rat in the maze as the model runs. A combined spike and vectorrecorder (B) shows the points visited by the rat during environment learning. A new point is added each timea spike arrives, at the position given by the current vector input.The place fields that were created by the fea-ture discretizer are shown by the color coding of points.The spiking activity of the buffer population of placecells is shown as recorded by a standard spike recorder (C).The synaptic weights (D) of recurrent connec-tions in the CA1 population are shown as a connectivity matrix. Darker shading indicates stronger weights:strong connections only exist between place cells for adjacent locations. [CFO]

Page 34: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

36 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

ration, learning adjacency relations betweenplace fields in the direction of the rat’s motion.During the navigation task, activation of aCA3 cell corresponding to current locationthen recalls known neighboring place cellsthrough the strengthened recurrent connec-tions. The activity of recalled neighbors prop-agates to the CA1 population, where the affer-ent input elicits a persistent sub-thresholddepolarizing response.

In the ECIII population, afferent input isreceived from a second oscillatory buffer(hypothesized to involve pre-frontal cortex)that maintains the activity of a place cell cor-responding to the location at which the foodreward was discovered. This afferent inputcauses recall along strengthened recurrentconnections that encode associations betweenplace fields in the reverse of the direction ofmotion during learning. Activity thereforespreads backwards through the ECIII repre-sentation of the environment via fast synapticresponses. Just as with CA3, the cells in ECIIIprojects onto CA1 with synaptic weightswhich induce sub-threshold depolarizations.

Both signals therefore combine in CA1: nei-ther is strong enough on its own to activateany CA1 cells, but when a cell receives inputfrom both ECIII and CA3, then it reachesthreshold and fires an action potential. Thefirst such spike on a cycle constitutes thedesired next location signal which is sent backto the virtual rat. It is important that thespread of activity is greater in ECIII than inCA3, because the next desired location select-ed by the network should to be adjacent to thecurrent location, not somewhere further afieldor the virtual rat would try to head for aremote location and would be stopped by thewall. This is just one example of how using thesimulated environment helps motivate andstructure solutions to the network design. Thebroader spread of activity in ECIII than inCA3 is consistent with experimental data fromrecordings of the entorhinal cortex (Barnes et

al., 1990; Quirk et al., 1992; Frank et al., 2000)that show much larger place fields in ECIIIthan in CA3.

A variety of views of the final model areshown, for illustrative purposes only, inFigure 8. These are all captured directly fromthe user interface at the point where the rat isdeciding to turn left, towards the food insteadof right. The most recent full model is avail-able for download and examination alongwith the software at askja.bu.edu.

Further Model Development

Although discussion of the model has beenbased entirely on the T-maze task, the modu-lar construction allows the same virtual rat tobe inserted in other mazes and tested on othertasks. The maze-building components havebeen designed to allow representation of awide variety of experimental configurations,with interacting levers, lights, sounds, andfood rewards. One direction of developmentis therefore to build increasingly robust virtu-al rat models which use the same network toperform a variety of tasks. An essential com-ponent of this work is the generation of explic-it predictions about spike timing in particularcell populations during navigation tasks.Comparison of these predictions with experi-mental results drives the next step of iterativerefinement. Another direction for the model isto replace some of the algorithmic parts, suchas the synaptic modulation, with more realis-tic biophysical components that allow directcomparison with electrophysiological orimaging data. At the same time, however, anequally fruitful direction may be to replacesome of the features currently implementedby populations of cells with higher level com-ponents that capture the desired function butcan be computed more efficiently. This keepsthe running time down (the present modeltakes about a minute to learn the environmentand then find the food reward on a fast PC)and allows attention to be focused on the

Page 35: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________37

areas of the model that are intended to bedirectly comparable to experimental data.

Discussion and Future DirectionsCatacomb2 is a highly modular software

system for modeling neuronal processes overa wide range of scales from ion channel kinet-ics to animal behavior. It has graphical compo-nents for setting up purely declarative modeldescriptions and an independent set of numer-ical components for evaluating and studyingmodel behavior. The emphasis throughout ison modeling by design rather than modelingby mimicking biology as closely as possible.Features are added to the model only where itis found that particular behaviors are neededin order to achieve functional goals. This con-trasts with the kitchen-sink approach whereextra detail is added to a model simplybecause the real system is known to have suchdetail, irrespective of whether it is sufficientlywell constrained to improve the predictiveperformance, or only adds more noise. Inorder for the design approach to work, it isessential to have a well defined task for themodel to perform. It is also necessary that themodel should succeed, in a loose sense, at thetask in an early stage of model development inorder to provide realistic feedback to internalcomponents so that they can be iterativelyimproved to achieve a closer match to the sys-tem under study. This is achieved by allowingmodels to contain an eclectic mix of compo-nents capturing both biologically realistic andpurely algorithmic behaviors.

One criticism of the design-based approachis that it provides no guarantees of arriving atthe same solution to a particular problem ashas been adopted by nature, either globally, inthe overall structure of the model, or locally inthe properties of individual components.Indeed, the use of components working at dif-ferent levels of description may exacerbate theproblem of the solution settling into an artifi-cial local minimum created by the unbiologi-

cal properties of higher level components. Aswith any optimization process, there is atrade-off to be made between the smoothnessof the error function and the time it takes toevaluate the function and pick a new point inparameter space. If the error function has aguaranteed unique minimum, then it is worthinvesting heavily in a slow but sure iterativeprocedure. If the function is irregular withmany local minima, then examining pointsand generating new guesses should be muchquicker, because many more guesses will berequired to arrive at the right answer. In thepresent context, evaluating the error functioncorresponds to the two part question: does themodel perform the task, and does it do it thesame way as a real system? Picking a newpoint in parameter space corresponds to gen-erating a new model. The design ofCatacomb2 is focused on the second of thetwo optimization scenarios: the optimizationsurface is sure to be complex, so it should bequick and easy to generate and test models.The single most important point is simply thatthe error function should exist. That is, thereshould be a way to examine and test a modelindependent of the empirical data on which itis based. Moreover, this test should be readilyaccessible to any interested researcher withminimal effort (“Publication, Dissemination,and Archiving”). Essentially, exhibiting amodel that does something interesting by thewrong mechanism so it can be shot down canbe a much more fruitful step in research thanproviding a collection of correct mechanismsthat do nothing very much.

The case study presented in “Case Study:Modeling Spatial Navigation” highlights anumber of directions in which future develop-ment is required. Some of these depend main-ly upon exploiting recent progress in the soft-ware industry to make new applications pos-sible. Others require further research work inthe application of computational methods tobiological problems.

Page 36: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

38 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

Technology-Driven Development

The growth of application libraries andprogress in software engineering technology,make many technical problems much moreaccessible today than they have been in thepast. Creating complex, multi-author softwaresystems in a distributed academic environ-ment requires mechanisms whereby eachauthor can work in their own area, with mini-mal dependence on others and yet where theirresulting software is useful outside the origi-nating lab. The development of tools andinterface standards within the NeuroMLframework promises to make this much easierthan has hitherto been the case. Even beforesuch tools are mature, projects such asCatacomb2 can be both providers, and usersof such modules. For example, Catacomb2already relies on the XML parser provided bythe NeuroML project and it provides visual-ization facilities for a variety of NeuroMLmodels. These interactions currently work ona somewhat ad-hoc basis, but form one of themany cases to be considered in the develop-ment of NeuroML standards. In the same way,the Neosim (Goddard et al., 2001a) discreteevent simulator is being incorporated as anoptional layer between the model descriptionand execution stages. It will add the ability torun network models on parallel machines andworkstation clusters, and the parallelizationshould be almost transparent to the user.Neosim handles all issues related to the con-figuration of a particular machine, and themodel description is completely independentof how it is to be run.

Another area of substantial recent invest-ment is what is being known as “e-science”(www.escience-grid.org.uk), which encom-passes “grid computing” (www.gridforum.org) and the “semantic web” (www.seman-ticweb.org). These are technologies for turn-ing the web from a browsable data storagemedium into a distributed computing and

knowledge management platform. One corefocus is on facilitating collaborative workthrough shared databases, ontologies, andcomputing resources. The modularization ofmodeling systems envisaged by the NeuroMLproject, and the Axiope (www.axiope.org)model publication and sharing system clearlyfall within this framework, along with manyrather more nebulous concepts. The utility ofthese technologies to the neuroscience com-munity should become clear as they take onmore concrete forms.

Models and Modeling Strategies

One of the goals in the development ofCatacomb2, as outlined in “ConstrainingPossible Models,” has been to structure mod-els so that the parameter space is rich in bio-logically plausible models, and excludesimplausible models as far as possible. Theprovision of large sets of standard compo-nents makes it much easier to construct mod-els based on these than models using differentformalizations. Thus, for example, even thesimplest cell and synapse models are based onconductances and reversal potentials, insteadof additive currents or potentials, becauseconductance-based models are both morerealistic and intrinsically more stable.However, fragility and excessive sensitivity tocertain parameters remains a major weaknessof many models. There are at least two waysof tackling this problem: increasing the cer-tainty about the properties of the systems onwhich a model is based by using database andontology resources in model construction; andchanging the parameterization so as todescribe slow processes such as neuronaldevelopment and self-regulation instead ofthe instantaneous state of a system.

One example of how database access couldwork is present in Catacomb2 as a graphicalbrowser for the CoCoMac (Stephan et al.,2000) database of connectivity in the Macaque

Page 37: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________39

brain. This is able to query the database acrossthe web for connectivity data between regionsin selected brain maps and presents the resultssuperimposed on the maps with color codedconnection information. At present the infor-mation is extracted from the database accord-ing to user generated queries and presentedthrough the graphical interface. But it is a rela-tively small step from here to allowing queriesto be generated automatically by the software.One could ask, for example, whether the pro-jection patterns built into a model are backedup by anatomical data. A further step wouldsee the modeling process begin with databasequeries in order to set up the connectivitystructure of the model. This structure wouldthen be fleshed out by providing single-cellmodels for populations in different regions(perhaps coming from some other database),and by refining the details of the connectivitypatterns. Following a recurrent theme of thispaper, the model construction process wouldthen be broken down from being one long sin-gle-user procedure into many smaller declara-tive steps in which existing resources aredrawn together and combined in a novel wayto construct the next layer.

But perhaps the biggest single problem ofthese and other models is their fragility. Thiscomes mainly from the sensitivity of modelbehavior to uncertain parameters as discussedin “Constraining Possible Models.” From theperspective of applied mathematics, when thenumerical calculation of the behavior of aphysical model is very difficult to implementor requires very high accuracy to be repro-ducible, it often means that the methods orequations are inappropriate, not that the sys-tem is genuinely delicate. This is even morelikely in biology where the real systems areknown to be robust to changes in temperatureor chemical composition. Models whichrequire parameters to be expressed to morethan a couple of significant figures are there-

fore intrinsically implausible (Borg-Graham,1999). Since this applies to at least some partof most models, there is scope for reformulat-ing many models with more robust structures.One of the first aims of future Catacombdevelopment is to move away from staticdescriptions of the instantaneous state of amodel (such as actual ion channel densities forexample) towards artificial or, where possible,more realistic parameterization of slow self-regulatory processes which govern thesequantities. In general, systems are far less sen-sitive to the parameterization of regulatorymechanism than to their instantaneous state.In modeling biochemical cascades, for exam-ple it has even been argued that the onlyessential information is the presence orabsence of reactions between particularspecies, not the details of their rates at all.Allowing the design of systems where thestructure of what is possible, and perhapsorder-of-magnitude parameter values are allthat matters is therefore central to the devel-opment strategy.

Finally, the most realistic, and perhaps alsothe most reliable way of constructing workingmodels of neural system, is to model the pro-cesses of growth and development which giverise to the real systems. The complete separa-tion between the model description and com-putation leaves open the possibility of addingfurther layers of processing between themwhich would make changes in the executablesystem itself according to rules expressed in amodel of growth and development. Althoughit is within the overall design, much furtherwork is required in order to make such mod-eling readily accessible in Catacomb2.

Acknowledgments

This work was supported by grants NSFIBN 9996177, NIH MH 60013, NIH 60450, andNIH MH 61492 to Mike Hasselmo, a visiting

Page 38: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

40 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

postdoctoral fellowship to Robert Cannonfrom the FWO, Belgium and the UnitedKingdom Medical Research Council. RobertCannon is particularly grateful to HugoCornelis for numerous valuable discussionsand for his careful reading of the manuscript.The authors also thank the two reviewers fortheir thoughtful commentary on the originalversion.

ReferencesAlonso, A. and Klink, R. (1993) Differential elec-

troresponsiveness of stellate and pyramidal-likecells of medial entorhinal cortex layer II. JNeurophysiol 70:128–143.

Barnes, C. A., McNaughton, B. L., Mizumori, S.,Leonard, B. W., and Lin, L. H. (1990)Comparison of spatial and temporal characteris-tics of neuronal activity in sequential stages ofhippocampal processing. Prog Brain Res83:287–300.

Beeman, D., Bower, J. M., De Schutter, E.,Efthimiadis, E. N., Goddard, N., and Leigh, J.(1997) The GENESIS simulator-based neuronaldatabase. In: Neuroinformatics: An Overview of theHuman Brain Project. Chapter 4. (Koslow, S. H.and Huerta, M. F., eds.) Lawrence ErlbaumAssociates, Mahwah, NJ.

Bi, G. Q. and Poo, M. M. (1998) Synaptic modific-tion in cultured hippocampal neurons: depen-dence on spike timing, synaptic strength andpostsynaptic cell type. J Neurosci 18(24):10,464–10,472.

Borg-Graham, L. (1999) Interpretations of data andmechanisms for hippocampal pyramidal cellmodels. In: Cerebral Cortex Vol. 13—CorticalModels, (Jones, E., Ulinski, P., and Peters, A.,eds.) Plenum Publishing Corporation.pp.19–138.

Borg-Graham, L. (2001) The surf-hippo neuronsimulation system, v3.0. (http://www.cnrs-gif.fr/iaf/iaf9/surf-hippo.html).

Bower, J. M. and Beeman, D. (1994) The Book ofGENESIS. Teleos Publishing, Los Angeles, CA

Burgess, N. and O’Keefe, J. (1996) Neuronal com-puting underlying the firing of place cells andtheir role in navigation. Hippocampus6(6):749–762.

Cannon, R. C. (2001a) CD-ROM. ComputationalNeuroscience-Realistic Modelling for

Experimentalists. (De Schutter, E., ed.) CRCPress, Boca-Raton, FL.

Cannon, R. C. (2001b) Eggleton ‘71 revisited. In:ASP Conf. Ser. 229: Evolution of Binary andMultiple Star Systems, pp. 15+.

Cannon, R. C., Howell, F. W., Goddard, N., and DeSchutter, E. (2002) Non-curated distributeddatabases for experimental data and models inneuroscience. Network, in press.

Cannon, R. C., Turner, D. A., Papyali, G., andWheal, H. V. (1998) An on-line archive of recon-structed hippocampal neurons. Journal ofNeuroscience Methods 84(1–2):49–54.

Cornelis, H. and De Schutter, E. (2003)NeuroSpaces: New approaches in neuronalmodeling software. Neurocomputing, in press.

Eggleton, P. P. (1971) The evolution of low massstars. Monthly Notices of the Royal AstronomicalSociety 151:351.

Faulkner, D. J. (1968) The evolution of heliumshell-burning stars. Monthly Notices of the RoyalAstronomical Society 140:223.

Forss, J., Beeman, D., Bower, J. M., and Eichler-West, R. (1999) The Modeler’s Workspace: a dis-tributed digital library for neuroscience. FutureGeneration Computer Systems 16:111–121.

Fox, P. A., Hall, A. D., and Schryer, N. L. (1978) ThePORT mathematical subroutine library. ACMTrans Math Software 4:104–126.

Frank, L. M., Brown, E. N., and Wilson, M. (2000)Trajectory encoding in the hippocampus andentorhinal cortex. Neuron 27(1):168–178.

Fransen, A., Alonso, A., and Hasselmo, A. E. (2002)Simulation of the role of the muscarinic-activat-ed calcium-sensitive non-specific cataion cur-rent I(NCM) in entorhinal neuronal activity dur-ing delayed matching tasks. J Neurosci22(3):1081–1097.

Funge, J. D. (1999) AI for Computer Games andAnimation: A Cognitive Modeling Approach. JD Peters.

Gamma, E., Horn, R., Johnson, R., and Vlissides, J.(1995) Design Patterns. Elements of ReusableObject-Oriented Software. Addison-Wesley.

Goddard, N., Hood, G., Howell, F., Hines, M., andDe Schutter, E. (2001a) NEOSIM: Portable large-scale plug and play modelling. Neurocomputing38:1657–1661.

Goddard, N. H., Hucka, M., Howell, F., Cornelis,H., Shankar, K., and Beeman, D. (2001b)Towards NeuroML: model description methodsfor collaborative modelling in neuroscience.

Page 39: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

Volume 1, 2003 _________________________________________________________________ Neuroinformatics

Catacomb2 and Models for Spatial Navigation _____________________________________________________41

Philos Trans R Soc Lond B Biol Sci 29(352):1209–1228.

Hagan, J. J., Verheijck, E. E., Spigt, M. H., andRuigt, G. S. (1992) Behavioral and electrophysi-ological studies of entorhinal cortex lesions inthe rat. Physiol Behav 51(2):155–266.

Hasselmo, M. E., Bodelon, C., and Wyble, B. P.(2002a) A proposed function for hippocampaltheta rhythmn: Separate phases of encoding andretrieval enhance reversal of prior learning.Neural Computation 14(4):792–812.

Hasselmo, M. E., Fransen, E., Dickson, C. T., andAlonso, A. A. (2000) Computational modeling ofentorhinal cortex. Annals NY Acad Sci911:418–446.

Hasselmo, M. E., Wyble, B. P., and Cannon, R. C.(2002b) From spike frequency to free recall:How neural circuits perform encoding andretrieval. The Cognitive Neuroscience of Memory:Encoding and Retrieval (Wilding, E., Parler, A.,and Busey, T. J., eds) Psychology Press.

Hines, M. (1984) Efficient computation of branchednerve equations. Int J Bio Med Comput 15:69–76.

Hines, M. L. and Carnevale, N. T. (2001) NEURON:a tool for neuroscientists. The Neuroscientist7:123–135.

Holscher, C., Anwyl, R., and Rowan, M. J. (1997)Stimulation on the positive phase of hippocam-pal theta rhythm induces long-term potentiationthat can be depotentiated by stimulation on thenegative phase in area CA1 in vivo. J Neurosci17(16):6470–6477.

Hucka, M., Finney, A., Sauro, H., and Bolouri, H.(2001) Systems Biology Markup Language(SBML) Level 1: Structures and Facilities forBasic Model Definitions. (http://www.cds.cal-tech.edu/erato/sbml/).

Kali, S. and Dayan, P. (2000) The involvement ofrecurrent connections in area CA3 in establish-ing the properties of place fields: a model. JNeurosci 20 (19):7463–7477.

Klink, R. and Alonso, A. (1997) Muscarinic modu-lation of oscillatory and repetitive firing proper-ties of entorhinal cortex layer II neurons. JNeurphysiol 77:813–1828.

Kotter, R., Nielse, P., Dyhrfjeld-Johnsen, J.,Sommer, F. T., and Northoff, G. (2002) Multi-level neuron and network modeling in compu-tational neuroanatomy. In: ComputationalNeuroanatomy: Principles and Methods. (Ascoli,G., ed.) Humana Press, Totowa, NJ.

Lattanzio, J. C. (1986) The asymptotic giant branchevolution of 1.0–3.0 solar mass stars as a func-tion of mass and composition. AstrophysicalJournal 311:708–730.

Lattanzio, J. C., Frost, C. A., Cannon, R. C., andWood, P. R. (1997) Hot bottom burning nucle-osynthesis in 6 M stellar models. Nuclear PhysicsA 621 (1–2):C435–C438.

Markram, H., Lubke, J., Frotscher, M., andSakmann, B. (1997) Regulation of synaptic effi-cacy by coincidence of postsynaptic APs andEPSPs. Science 275(5297):213–215.

McNaughton, B. L., Barnes, C. A., and O’Keefe, J.(1983) The contributions of position, directionand velocity to single unit activity in the hip-pocampus to freely-moving rats. Exp Brain Res52(1):41–49.

Muller, R. U., Kubie, J. L., and Ranck Jr., J. B. (1987)Spatial firing patterns of hippocampal complex-spike cells in a fixed environment. J Neurosci7(7):1935–1950.

O’Keefe, J. and Dostrovsky, J. (1997) The hip-pocampus as a spatial map. Preliminary evi-dence from unit activity in the freely-movingrat. Brain Res 34(1):171–175.

Orr, G., Rao, G., Houston, F. P., McNaughton, B. L.,and Barnes, C. A. (2001) Hippocampal synapticplasticity is modulated by theta rhythm in fasciadentata of adult and aged freely behaving rats.Hippocampus 11(6):647–654.

Pavlides, C., Greenstein, Y. J., Grudman, M., andWinson, J. (1998) Long-term potentiation in thedentate gyrus is induced preferentially on thepositive phase of theta-rhythmn. Brain Res439(2):383–387.

Press, W. H., Teukolsky, S. K., Flannery, B. P., andVetterling, T. (1993) Numerical Recipes. In C:The Art of Scientific Computing. CambridgeUniversity Press, Cambridge, UK.

Quirk, G. J., Muller, R. U., Kubie, J. L., and Ranck,J. B. (1992) The positional firing properties ofmedial entorhinal neurons: description andcomparison with hippocampal place cells. JNeurosci 12(5):1945–1963.

Raymond, E. S. and Young, B. (2001) The Cathedraland the Bazaar : Musings on Linux and OpenSource by an Accidental Revolutionary.O’Reilley and Associates.

Redish, A. D. and Touretzky, D. S. (1998) The roleof hippocampus in solving the Morris watermaze. Neural Comp 10:73–111.

Page 40: Original Article · puters to study the integrative behavior of neural systems can be found in various domains of software and hardware engineer-ing, including computer-aided design,

42 _______________________________________________________________________________ Cannon et al.

Neuroinformatics _________________________________________________________________ Volume 1, 2003

Schroedinger. (1956) What is Life? And OtherScientific Essays. Doubleday, Garden City, NY.

Sharp, P. E. (1991) Computer simulation of hip-pocampal place cells. Psychobiology 19:103–115.

Sharp, P. E., Blair, H. T., and Brown, M. (1996)Neural network modeling of the hippocampalformation spatial signals and their possible rolein navigation a modular approach. Hippocampus6(6):720–734.

Stephan, K. E., Kamper, L., Bozkurt, A., Burns, G.A., Young, M. P., and Kotter, R. (2000) Advanceddatabase methodology for the collation of con-nectivity data on the macaque brain (CoCoMac).Philos Trans R Soc Lond B Biol Sci 355(1393):37–54.

Suzuki, W. A., Miller, E. K., and Desimone, R.(1997) Object and place memory in the macaqueentorhinal cortex. J Neurophysiol 78:1062–1081.

Vanier, M. C. and Bower, J. M. (1999) A compara-tive survey of automated parameter-searchmethods for compartmental neural models.Comp Neurosci 7(2):149–171.

Wenger, M., Ochsenbein, F., Egret, D., Dubois, P.,Bonnarel, F., Borde, S., Genova, F., Jasniewicz,G., Laloüe, S., Lesteven, S., and Monier, R. (2000)The SIMBAD astronomical database: the CDSreference database for astronomical objects.Astronomy and Astrophysics Supplement 143:9–22.

Wyble, B. P., Linster, C., and Hasselmo, M. E. (2000)Size of CA1 evoked synaptic potentials is relat-ed to theta rhythm phase in rat hippocampus. JNeurophysiol 83:2138–2144.

Young, B. J., Otto, T., Fox, G., and Eiechenbaum, H.(1997) Memory representation within theparahippocampal region. J Neurosci 17:5183–5195.