Converting a model to use Neosim

This document is about the conversion of an existing model into a Neosim module. It explains the difference between the original source code and the new source code that uses Neosim interfaces as well as the new programming approach of the model.

The new programming approach of the model

Neosim is an environement supervising the communications between cells, enabling parallel calculation for the cells' behaviours as Neosim is able to dispatch them on different processes and processors. The cell's behaviour and structure model still have to be described using a programming language such as C++ or Java.

Using Neosim requires to write a new program simulating the cell behaviour or to make some changes in simulators already programmed.
We focus here on the conversion of a simulator already written.

We will call "user's source code" the code to be written by an user to define a new model.
With most of the stand-alone simulators, not using Neosim, the user's source code must define everything from the biological description to the software simulation's control.

With models using Neosim, the user's code is much smaller as it concentrates only on the biological description level and can benefitiate from already written modules.

Neosim is highly modular, using several independent modules in order to simulate a particular model.
The changes brought to an existing simulator will mainly be aimed at taking most advantages from Neosim's modular structure.
The various modules used in one model are :

Most of the conversion efforts will be aimed at changing the monolithic model into a modular one respecting the Neosim modularity achitecture, as shown in the figure below (fig 1.)

fig 1. Example of conversion of a monolithic model.

The Projection and Population Modules :

The Control Modules :

The Entity Modules :

Next Page