Reactive Programming of Cellular Automata
Application to Self Replicating Loops


Cellular automata (CA) are used in various simulation contexts, for example, physical simulations, fire propagation, or artificial life. These simulations basically consider large numbers of small-sized identical components, called cells, with local interactions and a global synchronized evolution.

Reactive programming (RP) basically considers software systems made of concurrent components sharing the same global instants. In RP, all components are running at the same pace as they necessarily synchronize at the end of each instant. The existence of instants allows one to define broadcast events which are a powerful mean for modular programming.

Using RP for implementing CA has the following advantages:

One gets an efficient implementation in which cells are threads created when needed. Cell behaviors are coded at a higher level than the one of look-up tables. The example of self-replicating loops is considered, following the work of Langton and Sayama in artificial life.



For Linux and Mac OSX:The SDL graphical library must be installed (including the command sdl-config).


All animations are made of animated gif snapshots:


LOFT and CA implementation are distributed under the Gnu Public License.

Feedback welcome.


Frederic Boussinot

This Html page has been produced by Skribe.
Last update Sat Oct 21 17:47:45 2006.