Promote work in the area of behavioral simulation for purposes of “what if” types of analyses, learning/training regarding behavioral principles, entertainment, etc.

To make such simulation software more accessible to non-programmers via systems that support graphically editing neural networks, defining experimental procedures, defining data collection, running of experiments, and display/analysis of data.

To make such simulation software available for those with software development skills so that they may create their own simulations.

To facilitate sharing of any information relevant to such simulations.


Too many variables to count. Want to help?

Short Term Goals

Basic software tools for study of neural networks and simple behaviors, and for building of higher level tools. These lower level tools are for behavior analysts, and others, with some programming skills. The outputs would be textual data dumps, or export to common databases.

Medium Term Goals

Stand alone software applications for the creation of small scale neural nets and experiments based on them, primarily appropriate for researchers. These tools would have an interface akin to the BGL2015 Visualizer demo, but greatly expanded.

Long Term Goals

Higher level simulations, perhaps with game-like qualities, aimed at helping users learn how to analyze behaviors, their controlling variables, how to modify behaviors using behavioral techniques, etc.

Very Long Term Goals

Tools to allow behavior analysts to create targeted simulations without programming.

An Anytime Goal

Turn BASimulation.org into a collaborative community. The creator of the site, Tom Donaldson, is an old fart who has limited time, energy, and could drop dead at any time. If BASimulation.org becomes useful, it would be a shame if it died just because I did.

BASimulation.org: “Behavior Analytic Simulations”

Computer simulations based on the principles of Behavior Analysis, the scientific study of learning and behavior.

The simulations will exhibit behavioral effects such as autoshaping, reinforcement, punishment, extinction, stimulus control, schedule induced aggression. Someday.

Biobehavioral Selectionist Neural Network


Interaction of behavior and biological processes. As applied here to behavioral simulations this means:

“Acceptable biobehavioral simulations must generate all, but only all, of the complex environment – behavior relations that organisms evince.” (Donahoe, 2002, p 256)

It also means that the functioning of the simulation must be based on relevant biology.


Fig. 3. Overview of a biobehavioral approach to experimental and simulation research. (Donahoe, Palmer, Burgos, 1997, p 271)

Chapter 18. Selection Networks: Simulation of Plasticity through Reinforcement Learning (Donahoe, Dorsel, 1997, pp 336-357)


Selectionism should be familiar from Darwin’s account of evolution based on natural selection. The environment essentially selects the features of organisms based on localized reproductive success.

As applied to the behavior of organisms, the environment selects behaviors based on localized consequences of the behaviors.

A selectionist simulation changes behavior based on localized consequences of its behavior, and the underlying data structures and values change in a manner consistent with the biology being simulated.


Donahoe, Burgos, Palmer, 1993

Neural Network

A neural network in this context is software that in some way simulates the structure and function of a biological central nervous system.

There are many types of neural networks. The focus here is on one particular type, first described (as far as I can tell) by Donahoe & Palmer (1994, pp 133-135) and later fleshed out by Donahoe & Palmer (1989)

This model is referred to variously as:

  • The Donahoe-Palmer model.
  • Donahoe-Palmer-Burgos model.
  • Biobehavioral Selectionist Neural Network
  • Selectionist Neural Network
  • SelNet

As far as I know, the only remaining researchers working with the network model are José Burgos and his students.

Open Source

All computer source code will be released under the Apache Version 2 license.

Initial development will be done by the creator of this site (see History). As interest develops, the project will become a collaborative one.

Source will be available via GitHub.com.

Simulation Software

The simulations will be written in Apple’s Swift language.

The software will follow the Model-View-Controller (MVC) design pattern which keeps the main simulation logic (i.e., the model) separate from the user interface (i.e., the views and controllers).


The core simulation model is being developed as generically as possible to run on any Apple hardware, though initial versions will only be tested on MacOS (Macintosh hardware) and iOS (iPad and iPhone hardware). Swift is now open source and is becoming available on other hardware, so over time, the SelNet model will become available on other platforms.

The model is embodied as an Application Programmer Interface (API) distributed as a framework. One version will ultimately be developed for each hardware platform (MacOS, iOS, tvOS, WatchOS). These different versions will all be the same software source code with small tweaks to get them to build and run on each platform. But the API stays the same.


User interfaces are very different across platforms. Where the same model can quickly and easily (relatively speaking) be moved across the target platforms, each user interface is a complete redesign.

Initial applications (user interfaces) will run on MacOS and iOS.

As user interface components are developed that might be reusable, they will be packaged as frameworks. These frameworks will facilitate development of other user interfaces on the relevant platforms.

For example, the BGL2015 Visualizer implements an animated, interactive, network diagram that is used for playback of a neural network session. This facility, or one like it, will eventually be distributed as a framework that could be incorporated into your own application.

But Why?

See the History page.


Donahoe, J.W. (2002). Behavior analysis and neuroscience. Behavioral Processes, 57, 241-259. Paywalled at: https://www.ncbi.nlm.nih.gov/pubmed/11948001

Donahoe, J.W., Burgos, José E, Palmer, David C. (1993) A Selectionist approach to reinforcement. Journal of the Experimental Analysis of Behavior, 60, 17-40. Free from: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1322144/

Donahoe, J.W., Palmer, David C., Burgos, José E. (1997). The Unit Of Selection: What Do Reinforcers Reinforce? Journal of the Experimental Analysis of Behavior, 67, 259-273. Free from: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1284606/

Donahoe, John W., Palmer, David C. (1989). The interpretation of Complex Human Behavior: Some reactions to Parallel Distributed Processing, edited by J.L. McClelland, D.E. Rumelhart, and the PDP Research Group. Journal of the Experimental Analysis of Behavior, 51, 399-416. Free from: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1338934/

Recommended Reading

This is the “go to” source regarding biobehavioral selectionist neural networks, both for the neurological and the behavior analytic underpinnings.

Donahoe, J.W., Dorsel, V.P., (editors, 1997). Neural Network Models of Cognition: Biobehavioral Foundations. Print version: North Holland, September 26, 1997. E-book version: https://www.amazon.com/Neural-Network-Models-Cognition-Biobehavioral-ebook/dp/B00R17NXI6/


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s