The AbiComp project is one of the cooler things I saw at CeBit, the information and communications technology trade show in Hannover, Germany.
This is hardware and software technology for controlling multiple embedded systems that work in concert—the example on display was a couple of tiny robots that had been programmed to follow each other around a track. But it could just as well be applied to getting your toaster, microwave, and coffee maker to cooperate to fix you breakfast in the morning, or to some task a bunch of industrial controls might accomplish better if they could work cooperatively. The research is sponsored by Germany's Federal Ministry of Education and Research.
The trick is that each of the embedded systems is actually executing portions of the same program, as opposed to different programs that work together. The system is represented in hardware by Ambient Intelligence Control Units (AICUs), described as small, inexpensive, and energy efficient. Each AICU consists of one or more tiny sandwich modules, specialized for a specific task like Bluetooth or Ethernet communication.
The software environment is Java, but the researchers developed their own virtual machine that executes across multiple AICUs, supposedly without requiring developers to fuss with any of the details of distributed computing protocols, etc. If I understand right, the Java bytecode that runs in this environment is also specialized, since they've tweaked the environment to be able to operate on 8-bit processors (where Java normally requires 32-bit chips). Developers write to the Java Micro Edition version of the standards, but other than that can use the standard classes and programming techniques with only a couple of exceptions, or so I was told. The researchers have created an Eclipse plug-in for creating software targeted to this environment.
More information at http://www.ambicomp.de/ (Side Note: The website is in German, but I was able to get a pretty good translation using the Mozilla Ubiquity plug-in, which is sort of a Swiss Army knife for tapping into web services—in this case, I believe it's using Google Translate behind the scenes. Definitely worth checking out).
Dave was most recently the technology editor at Baseline, where he was one of the founding editors. He is a veteran technology journalist recognized for his in-depth features on the systems architectures of such large Internet players as Google and MySpace. In addition to writing and editing, he develops Web sites using PHP, MySQL, and AJAX.