Programming self developing blob machines for spatial computing.

Authors Fréderic Gruau, Christine Eisenbeis

Thumbnail PDF


  • Filesize: 0.65 MB
  • 15 pages

Document Identifiers

Author Details

Fréderic Gruau
Christine Eisenbeis

Cite AsGet BibTex

Fréderic Gruau and Christine Eisenbeis. Programming self developing blob machines for spatial computing.. In Computing Media and Languages for Space-Oriented Computation. Dagstuhl Seminar Proceedings, Volume 6361, pp. 1-15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2007)


This is a position paper introducing blob computing: A Blob is a generic primitive used to structure a uniform computing substrate into an easier-to-program parallel virtual machine. We find inherent limitations in the main trend of today's parallel computing, and propose an alternative unifiying model trying to combine both scalability and programmability. We seek to program a uniform computing medium such as fine grain 2D cellular automata, or more generally coarse grain 2D grids of Processing Elements, using two levels: In the first "system level", a local rule or run time system is implemented on the computing medium. It can maintain global connected regions called blobs. Blobs can be encapsulated. A blob is similar to a deformable elastic membrane filled with a gas of atoms. (elementary empty blobs). Blobs are interconnected using channels, which act as a spring to bring connected blobs closer to each other. The system implements in a distributed way: movement, duplication and deletion of blobs and channels. It can also propagate waves to communicate signals intra-blob, or inter-blob. In the second "programmable level", each blob and channel contains a finite state automaton, with output instruction triggering duplication or deletion. Execution starts with a single ancestor blob that duplicates and creates channels repeatedly, thus generating a network of automata. It installs a higher level virtual machine on top of a low level uniform computing medium. This "blob machine" is an example of "self developing automata network". We present in detail, the blob machine, and how to program it using a higher level language called blob ml. We illustrate the execution of many examples of small programs They all exhibits optimal complexity results, under some reasonable hypothesis concerning the -not yet finished to implement – system level, and considering the model of VLSI complexity.
  • Cellular automata
  • amorphous computing
  • blob machine
  • blob computing
  • massive parallelism
  • graph rewriting
  • parallism
  • parallel langage


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads