In this talk, I will do a brief survey of a computational paradigm called "computing by observing" that tries to stress the role of an observer in computation. The idea of the paradigm is that a computing device can be obtained by combining a basic system and an observer that transforms the trajectories of the basic system into a readable output. The paradigm has been applied in several areas: natural computing, automata and formal language theory. In general, it has been shown that simple basic systems observed by simple observers can produce that which only much more complex systems can produce.

Reference

M. Cavaliere, Computing by observing. Scholarpedia, 5(1):9335.