What Is It?

CAM8 is the latest product of over a decade of Cellular Automata machine and modeling research by the Information Mechanics group at the MIT Lab for Computer Science. CAM8 is a parallel, uniform, scalable architecture offering unprecedented performance in the fine-grained modeling of spatially-extended systems. It provides a general-purpose instrument for the systematic exploration of a CA models.


The CAMlib library began as a loose collection of C code that programmers in the Information Mechanics Group found particularly usefull. CAM8's native programming environment is Forth based. The software that the group provided consisted of the STEP control program (a popular Forth interpreter for SunOS machines that was extended to provide a programming environment for CAM8) and the CAMlib code. Many people found it difficult to integrate their CAM8 experiments with the development and analysis environments they were accustomed to. I decided to proivide CAM8 users with a way to choose their favorate programming environment without having to recode all the functionality of the STEP program. This became the new purpose of the CAMlib library. I planned to port all of the low-level control code, contained in STEP, and most of the high-level utilities from Forth to C.

Relationship to Cellular Automata Library (CAL)

The results of my efforts to provide a foundation of C code for CAM8 users eventually evolved into a library of C++ code which could be used to write CAM8 experiments and CA experiments in general.  There are a number of software CA engines available on the net (including a CAM8 simulator). First I wanted to provide users of CAM8 with a way to run their experiments even if they didn't have the CAM8 hardware. Second I wanted to provide a set of CA tools that were not CAM8 specific, yet compatible, which could be used to explore the field of CA. Many of the high-level utilities and tools that eventually became part of the Forth CAM8 development kit are generally usefull to CA researchers. The Cellular Automata Library will encompass all of that software.


Harris L. Gilliam