Patch Panel
Brief Overview:
Ubiquitous computing environments evolve slowly over time instead of springing into existence all at once. The Patch Panel research project seeks to provide an interoperability solutions needed for incremental integration---the problem of how to incrementally add or modify behaviors to existing ubicomp environments. The Patch Panel utilizes the Event Heap interactive workspace infrastructure as a loosely-coupled communications substrate with publish/subscribe semantics. The Patch Panel employs an intermediation technique to rewrite events so that different event formats can be "patched" together enabling otherwise incompatible system components to interoperate. This technique proves surprisingly powerful in that it supports very wide range of interoperability scenarios, ranging from simple type and data conversions up to very complex relationships that can be modeled as state machine transition networks. More detailed information about the Patch Panel can be found in our publications.Installing and Running the Patch Panel:
The latest release of the Patch Panel is apart of the iROS 2.0 distribution. This is available for download as a binary installation for both Mac OS X and Windows. Once iROS is installed, the convenient GUI front-end of the iROS manager can install/run the Event Heap Server and Patch Panel using the iROS packages available for download.For those interested in pre-released updated code, the Patch Panel and Event Heap source code are available for download on sourceforge.
Configuring the Patch Panel:
Now that you have the necessary components running, you want to actually configure the Patch Panel to map events.Programmatically: The Patch Panel code base includes an "PatchPanel" class which serves as a software interface to the Patch Panel for Event Heap clients. Full details of the API's available through this interface are available in the javadoc. Sample code illustrating simple mappings are provided below:
ClientMapping.java (coming soon)
GUI: The Patch Panel also provides a GUI interface for the configuring mappings. This GUI interface has two main modes: a simple interface, and an advanced interface. The simple interface requires a great deal of administrative set up but is extremely easy for anyone to use to reconfigure the relationships between components in the room. The advanced interface requires no administrative setup, but exposes the raw event format to the user. This requires that the user have in depth knowledge of the event heap and the semantics of the events she is dealing with. Both interfaces are incorporated in the Patch Panel Manager which is available for download using the iROS Manager through the iROS website.
Script: Some interoperability relationships such as state machines are too complex to manually construct mappings. We provide a scripting language to facilitate this process. For more information, look at our quick reference guide or for more detailed information try our techinical report.