Computing is layered.
We have seen it in many guises.
(1) Compiling (i.e. executing the program synthesis) and executing a program
(2) Configuring the FPGA code and executing FPGA code
Some new avenues of multi-layered computing are coming with meta-materials.
On one level, we can have computing with potentially non-volatile states – for example, we can program materials by changing their most fundamental parameters, like epsilon (permittivity) and permeability). It is a configurational computing, which itself has certain dynamics. People who study materials and even devices, very rarely think about the dynamics of such state changes. They typically characterize them in static way – like I,V curves, hysteresis curves etc. What we need is to see more time domain characterization, such as waveforms, state graphs …
More standard computing is based on the stationary states of parameters. Whether analog or digital, this computing is often characterized in dynamic forms, and we can see timing and state diagrams, transients …
When these two forms of computing are combined, i.e. that the parameter changes add other degrees of freedom, we can have the two-level computing. This sort of layered computing is more and more what we need when we talk about machine learning and autonomous computing.
Meta-materials are a way to achieve that!