R-OSGi transparently adds distribution to modular OSGi applications. Being an OSGi bundle itself, it registers proxy services in the local framework for services that are physically installed on a remote framework. It automatically manages code dependencies of service interfaces using bytecode analysis and dependency injection and allows to offload parts of a service implementation to the client side using smart proxies. R-OSGi serves as the underlying fabric for further research in distributed, module-based applications as well as for industry applications.
The project is led by Jan S. Rellermeyer, a former Ph.D. student in our research group. I use R-OSGi as the communication fabric for XTream. Therefore, I am constantly putting it to test, debug and extend it if necessary (e.g., support for Java's Input- and OutputStream). I have also implemented the prototype of an R-OSGi service provided natively by TinyOS based sensor nodes.
Concierge is an optimized implementation of the OSGi framework. It was initially targetted at embedded devices. However, the low resource consumption and the clean and efficient implementation also make it a pleasant framework implementation on desktop and server machines.
The project is led by Jan S. Rellermeyer, a former Ph.D. student in our research group. I use Concierge as the OSGi framework implementation for XTream. Therefore, I am constantly putting it to test and debug it if necessary.
SwissQM is a research platform for sensor networks. It features a stack based virtual machines for sensor nodes, implemented on TinyOS, and an extensible gateway system. The bytecode instructions of the VM abstract from low level details of sensor node platforms as well as from high level application languages provided by the gateway system.
The project is led by René Müller, a former Ph.D. student in our research group. I have been porting the VM to a new sensor node platform (telosb) and to TinyOS version 2, which included a lot of testing in our sensor lab and implementing a harness for logging over USB to assist debugging.
More info: http://www.swissqm.inf.ethz.ch/
WinSGL is a software genlocking solution for PC clusters running under Microsoft Windows 2000 / XP. It can be used to synchronize the video signals of the nodes to an external clock. The external TTL synchronization signal is transmitted over the interrupt line of the parallel port to a dedicated driver. A user-space application performs the synchronization by inserting or removing lines to the invisible part of the image. Robustness to potential frame losses is achieved through continuous consistent timestamping. Tests yield an accuracy of up to 1/2 line deviation from the external signal and a low CPU load of 2% on Pentium III class systems. The system has been designed to be compatible with off-the-shelf graphics hardware and digital output devices based on LCD or DLP technology.
I have developed WinSGL as part of a semester project during my studies. My advisors, Daniel Cotting and Michael Waschbüsch, successfully used WinSGL in their research projects that require the synchronization of multiple displays, projectors, and cameras. We released WinSGL as open source.
More info: http://sf.net/projects/winsgl/