Cellular Automata + MIMD Parallel Computers = CAMEL and CARPET |
Cellular Automata (CA) were one of the first parallel computing abstract models. They match the parallelism paradigm with the acentrism one and therefore became a powerful tool for modeling phenomena which can be formalized in acentric terms. Conceived by John von Neumann in the 1950's to investigate self-reproduction, CA have been mainly used for studying parallel computing methods and the formal properties to model systems. However, with the rapid advances in computational resources during the 1980's, CA have become increasingly utilized for more general computer simulation and modeling. The CA model can be effectively used both as a realistic approach to define abstract parallel machines and as a programming methodology for computational science on parallel computers.
From the marriage of cellular automata and MIMD parallel computing was born CAMEL (Cellular Automata environMent for systEms modeLing) a software environment based on the cellular automata model which has been implemented on a transputer-based multicomputer.
The CARPET (CellulAR Programming EnvironmenT) language is the programming
tool by which it is possible to define cellular automata models within the
CAMEL environment. CARPET is a high-level sequential language related to C with some additional constructs to describe the rules of the transition function of a single cell of a cellular automaton.
The main features of CARPET are the possibility to describe the state of a cell as a set of typed substates each one by a user-defined type and the simple definition of complex neighborhoods, that can be also time dependent, in a n-dimensional discrete cartesian space.
The book Calcolo Parallelo, Automi Cellulari e Modelli per Sistemi Complessi published by Franco Angeli, gives a nice introduction to cellular automata and parallel computation issues. If you are interested to learn more on CARPET and CAMEL or to receive a report which describes the system send a request to talia@deis.unical.it. |