BRAHMS: Novel middleware for integrated systems computation

Biological computational modellers are becoming increasingly interested in building large, eclectic models, including components on many different computational substrates, both biological and non-biological. At the same time, the rise of the philosophy of embodied modelling is generating a need to deploy biological models as controllers for robots in real-world environments. Finally, robotics engineers are beginning to find value in seconding biomimetic control strategies for use on practical robots. Together with the ubiquitous desire to make good on past software development effort, these trends are throwing up new challenges of intellectual and technological integration (for example across scales, across disciplines, and even across time) - challenges that are unmet by existing software frameworks. Here, we outline these challenges in detail, and go on to describe a newly developed software framework, BRAHMS, that meets them. BRAHMS is a tool for integrating computational process modules into a viable, computable system; its generality and flexibility facilitate integration across barriers, such as those described above, in a coherent and effective way. We go on to describe several cases where BRAHMS has been successfully deployed in practical situations. We also show excellent performance in comparison with a monolithic development approach. Additional benefits of developing in the framework include source code self-documentation, automatic coarse-grained parallelisation, cross-language integration, data logging, performance monitoring, and will include dynamic load-balancing and 'pause and continue' execution. BRAHMS is built on the nascent, and similarly general purpose, model markup language, SystemML. This will, in future, also facilitate repeatability and accountability (same answers ten years from now), transparent automatic software distribution, and interfacing with other SystemML tools.

[1]  Örjan Ekeberg,et al.  Large-Scale Modeling – a Tool for Conquering the Complexity of the Brain , 2008, Frontiers Neuroinformatics.

[2]  Joshua J. Bloch How to design a good API and why it matters , 2006, OOPSLA '06.

[3]  Peter Ford Dominey,et al.  A cortico-subcortical model for generation of spatially accurate sequential saccades. , 1992, Cerebral cortex.

[4]  Marc-Oliver Gewaltig,et al.  NEST (NEural Simulation Tool) , 2007, Scholarpedia.

[5]  Jean-Arcady Meyer,et al.  Integration of Navigation and Action Selection Functionalities in a Computational Model of Cortico-Basal-Ganglia–Thalamo-Cortical Loops , 2005, Adapt. Behav..

[6]  J. Wickens,et al.  Computational models of the basal ganglia: from robots to membranes , 2004, Trends in Neurosciences.

[7]  Olivier Michel,et al.  Cyberbotics Ltd. Webots™: Professional Mobile Robot Simulation , 2004 .

[8]  S. Usui Large-scale Modeling of the Nervous System , 2006 .

[9]  Hanspeter A. Mallot,et al.  Biomimetic robot navigation , 2000, Robotics Auton. Syst..

[10]  Stephen Grossberg,et al.  How laminar frontal cortex and basal ganglia circuits interact to control planned and reactive saccades , 2004, Neural Networks.

[11]  Michael A. Arbib,et al.  The Neural Simulation Language: A System for Brain Modeling , 2002 .

[12]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[13]  D. Dennett Why not the whole iguana? , 1978, Behavioral and Brain Sciences.

[14]  Chris Melhuish,et al.  A Model of Sensorimotor Coordination in the Rat Whisker System , 2006, SAB.

[15]  Mark D. Humphries,et al.  A robot model of the basal ganglia: Behavior and intrinsic processing , 2006, Neural Networks.

[16]  Olivier Michel,et al.  Cyberbotics Ltd. Webots™: Professional Mobile Robot Simulation , 2004, ArXiv.

[17]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[18]  Anthony G. Pipe,et al.  Whiskerbot: A Robotic Active Touch System Modeled on the Rat Whisker Sensory System , 2007, Adapt. Behav..

[19]  Ricardo Chavarriaga,et al.  A Computational Model of Parallel Navigation Systems in Rodents , 2005 .

[20]  Anthony G. Pipe,et al.  Implementing Spiking Neural Networks for Real-Time Signal-Processing and Control Applications: A Model-Validated FPGA Approach , 2007, IEEE Transactions on Neural Networks.

[21]  Ben Mitchinson,et al.  Feedback control in active sensing: rat exploratory whisking is modulated by environmental contact , 2007, Proceedings of the Royal Society B: Biological Sciences.

[22]  Nigel H. Goddard,et al.  Linking computational neuroscience simulation tools - a pragmatic approach to component-based development , 2003, Neurocomputing.

[23]  Örjan Ekeberg,et al.  MUSIC – Multisimulation Coordinator: Request For Comments , 2008 .

[24]  G. Edelman,et al.  Retrospective and prospective responses arising in a modeled hippocampus during maze navigation by a brain-based device , 2007, Proceedings of the National Academy of Sciences.