/Glowworm

Simple neural simulation model.

Primary LanguageElixir

[WIP] Glowworm

Simple PoC of neural simulation model.

warning

This is just a model to verify feasibility and may be deprecated at any time.

简体中文

The original idea from spikingnn. This is an elixir implementation with asynchoronous format.

Recording of idea: Interactive testbed for cortical modeling? - Elixir Framework Forums / Nx Forum - Elixir Programming Language Forum

Simulation of neuron references amiryt's Erlang-project, and hierarchical architecture inspired by ThousandIsland.

Architecture of application like following graph:

graph TD
  Application --> NeuronSupervisor
  NeuronSupervisor --1..n--> Neuron["Neuron :gen_statem"]
  Application --> PortScheduler("PortScheduler")
  PortScheduler --1..m--> Port("Port")
  Port <-.simulus or record.-> Neuron
  Neuron <-.communication.-> Neuron
  Neuron --> SomaRunner("SomaRunner Task")
  Neuron --> SynapseRunner("SynapseRunner Task")
  SynapseRunner -.current.-> SomaRunner
  Models -.require.-> SomaRunner
  Models -.require.-> SynapseRunner

Installation

def deps do
  [
    {:glowworm, git: "https://github.com/GES233/Glowworm.git"}
  ]
end