Energy-harvesting computers might soon become a reality, as scientists develop a new method to make them reliable.
It is a dream-come-true for every programmer- the ultimate energy-harvesting computer that can charge itself and never crash an operation due to limited energy. As it stands right now, however, such computers look more like fiction high-tech than usable and reliable gadgets.
Fortunately, these same guys, who long to have such technology in their hands, are also the ones that have the highest chance of building it. A team of such creative brains at Carnegie Mellon University, might not have gotten there just yet, but they are way ahead in development. They designed a new programming language, called Chain, which is, as they claim, the first step toward reliable energy-harvesting computers.
But first, the the background story. An energy harvesting computer is one that does not need a battery or a cable. It simply captures the energy it needs from surrounding sources like radio waves, solar energy, vibrations, and/or all. Many engineers and scientists have tried to make a progress towards the development of such dream gadget, however no one has come up with a major break-through.
The main reason for the lack of progress is that these energy sources are often too weak to power computers. As a result, there are constant power failures, also known as intermittent executions. These prevent building of applications on such devices almost impossible, as most programming languages assume uninterrupted energy inflow.
So, here is where the new development comes in. The revolutionary programming language, Chain, taps into the computer memory. It requires the programmer to define specific tasks for data exchange. Chain then secures completion of these tasks even if there is an interruption in the flow of energy. This is done via a unique and highly inventive process known as channel-based memory abstraction.
This channel-based memory is, in fact, the most important feature in Chain. It prevents software errors from occurring, and makes sure that a programme is restarted immediately when power is restored. Unlike other similar languages, Chain does not need external interference. This makes it highly suitable to use in energy-harvesting applications.
The most attractive technologies that can make use of Chain, are Internet-of-Things gadgets, as well as ingestible medical devices. However, it seems the first to get gold of the invention will be the solar-powered nano satellites of the company KickSat.
The scientists, in coorperation with the makers of the tiny satellites, hope to incoorporate chain on board of two newly made nano-satellites, which will be sent to the low-earth orbit. A software written in Chain will be operating the satellites, making sure that they send reliable and continuous data, without interruptions.
In a few days from now, on 3rd of November, in Amsterdam, PhD student Alexei Colin, and his supervisor, assistant professor Brandon Lucia, will present their development at the 2016 SPLASH conference in Amsterdam, Netherlands.
Image (c) Carnegie Mellon University Electrical and Computer Engineering