May 23, 2006
You Say Ubiquitious, I Say Embedded
Call it what you want--pervasive computing, ubiquitious computing, mobile computing, sentient computing. Whatever. It's still embedded systems to me.
And with advances in small-footprint hardware devices, the chances of pervasive computing being the real deal is becoming more and more of a reality. Like German Puebla, a researcher at Madrid Technical University, recently said, "hardware development has reached a stage where it is possible to have a fully-fledged computer with processor, memory and operating system on a board the size of a sliver of chewing gum." The problem, as Puebla goes on to say, isn't in the hardware, but in developing the software.
For the most part, researchers have used low-level languages like C, which can be efficient but also complicated to code and platform specific. Because pervasive computing involves multiple different distributed platforms communicating among themselves, the software needs to be interoperable. Moreover, because of the limited processing and power resources of battery-operated pervasive devices, software must be as efficient as possible
Enter the ASAP project. Short for "Advanced Specialization and Analysis for Pervasive Computing," the ASAP project is an open source analysis and optimization toolkit for pervasive computing systems. Based on the use of Constraint Logic Programming (CLP) languages and jointly developed by the Technical University of Madrid (UPM), Heinrich-Heine University of Düsseldorf, and Roskilde University (RUC), ASAP is based on Ciao Prolog, a high-level declarative language optimized to reduce resource consumption.
According to Puebla, "software created with the toolkit is comparable in terms of resource demands to code written in C if it is designed to do the same thing. But Ciao programs can also do much more complex tasks, and with our toolkit it is feasible for them to run on pervasive systems," Puebla explains. "Ciao is also much easier to use--programmers don't have to reinvent the wheel every time they need to create or adapt a program."
Self-tuning and resource-aware analysis and specialization algorithms let the toolkit, dubbed CiaoPP, produce specialized programs that are automatically optimized to meet particular processing and resource constraints. The analysis and transformation tools can also act as a meta-language between a broad range of high and low-level languages to optimize and verify programs for pervasive computing. Because of the automatic nature of the tools and the limited need for hand coding, the risk of errors in the code is also reduced.
All of this stuff is important because pervasive computing is about more than an iPod or cell phone stuck in your ear. In industry, pervasive systems will be able to monitor hazardous materials or be part of the protective clothing of workers to improve safety and security. In healthcare, ubiquitous devices could check on patients' health remotely. And in the home, embedded devices could turn on the heating, dim the lights, and the like. "The uses for pervasive systems are almost infinite, and the market is potentially huge," Puebla notes.
Posted by Jon Erickson at 09:34 AM Permalink
|