Cooperative Media Lab [hide]
Internal Workspace [hide]
Online users [hide]
5 online users
Menu [hide]



Collaboration Bus - Summer Term 2005


Sensor-based infrastructures provide base technology for sensing information, for processing the captured data, and for adapting the behaviour. In the Collaboration Bus project we developed a graphical editor that allows end-users to control system behaviour by specifying information flows from selected sensors, and sensor data to the envisioned system reactions.

Pipelines of Sensors, Operators and Actuators
Each connection between sensors, operators and actuators is implemented with pipeline compositions (SensWidget). The users can easily add new of these pipeline compositions: at first, they can discover the available sensor sources (e.g., movement sensor, temperature, telephone sensor, instant messenger status) of the infrastructure and add them to the pipelines. Then they can specify rules and conditions by adding pipeline components of a set of filters and operators. For each of these processing components, the condition parameters can be selected (e.g., the event value threshold, occurred events counter, period of time, search strings). Finally, the actuators can be specified, to execute reactions at the users computer system or the real environment. Here, the editor provides the option to specify the mapping between the pipeline output and the actuator commands (e.g., display message, activate light source, send email, mute the sound volume).


Figure 1. Collaboration Bus architecture: sensors and actuators connected to the infrastructure, the personal repository, and the control and edit GUI for the user interaction.

Personal Repository and Sharing
All the pipeline compositions of the users will be stored in their own personal repository, that can either be local ore remote located on the server (cf. Figure 1). We have implemented a central interface, to let the user control each pipeline composition, especially to activate, deactivate the composite and start the editor. Furthermore, the users can use an integrated sharing mechanism, to provide the own pipeline compositions to other users. Thereby they can decide to provide them the complete pipeline composition, the template of the composition or only the final processing value. In an analogous manner they can add the composition to his own template repository, to build new compositions based on this template.

Using this functionality, the users can easily share their pipeline trajectories amongst each other, and can also benefit from the template mechanism.


Figure 2. Sharing the pipeline compositions (SensWidgets) amongst users: (1) sharing the final processed event; (2) sharing the composition as abstract template; (3) sharing the complete pipeline composition. The template repository mechanisms of the user works in a similar manner, just reusing the composition for his own pipelines.

Due to the fact that it can be difficult for the user to overlook the composition of a set of sensors, filters and actuators, the user can activate graph visualisations while editing the pipelines. They display relations between incoming and outgoing events of the pipeline in real-time, and let the user easily adjust the pipeline settings while seeing the consequences of the changes at the same time. Furthermore the user can choose between various graph visualisations, to obtain a deeper insight into the pipeline configuration (cf. Figure 3d).


Figure 3. The Collaboration Bus GUI (Release I): a) the control interface for the personal repository of the user; b) the editor window to assemble the pipelines and set the properties; c) the XML view of the current pipelines; d) the realtime visualisation graphs of the current incoming (green) and outgoing (red) events.

Application Scenarios
This control and editor software can be used for applications at the private home of the users as well as business areas. The software can easily connect sensors and actuators from remote locations and build a new envisioned application of the user in seconds.

Here are two example scenarios of the Collaboration Bus software:

  • Intelligent Telephone: The user wishes to control the sound volume of his music players and starts the calendar software in dependence of using the office telephone. A simple binary detection sensor of the telephone will be used as the first input source of our pipeline. The second input source checks whether the user is currently logged in at his office. In the second step, the condition modules check the telephone sensor state as well as the login information. Finally the user adds the desired actuators: if the pipeline detects that the phone is used, an AppleScript will be activated to mute the volume of the Mac, the ESB infrared control is used to mute the Sound-System, and another AppleScript will finally start the iCal application, so the user can input new appointments during the phone call. When the phone call ends, the application will fade in the music after a few seconds

  • Informal Awareness: In this second scenario, the user would like to get informal information about the current activity of his project colleagues and friends. The user adds the PRIMI instant messenger state sensor as the first source of the pipeline, and some further sensors of the Embedded Sensor Boards as additional sensor value sources. Then the user adds the keyword filter to check the PRIMI sensor to match his project colleagues. When the user finished appending the other filters for the ESB sensors, finally the actuators can be added to the pipeline: all events will be collected and displayed as an RSS feed in the screensaver. If the message occurrence reaches another threshold, the collaboration bus system will additionally send the user a SMS via the SMS-Gateway.

Current Status


Past Events

  • Developer Documentation and JavaDoc
  • Poster and Presentation for the CML Open House 2005
  • User Documentation as HTML
  • Release I - Final sharing mechanism, remote repository server, additional filters, multi-user, set of ready-to-use shared examples. Demo of release I at the CML Open House 2005
  • Milestone II - Visualisation, the editor GUI redesign, server connection and operators and filters.
  • Milestone I - Container objects, XML serialisation, dynamic instantiation, basic GUI


Collaboration Bus Poster. Format 594x840 mm (DIN A1). 300 dpi. CMYK. Size: 19MB.
Collaboration Bus Video, Length: 8:48 min. Format: MPEG 4. Size: 76 MB.
Collaboration Bus Release I, ZIP archive contains the JAR file for Mac OS X
Final presentation of the research project, PDF
User documentation, HTML
Internal Resources (Restricted Access)
Internal CML-BSCW workspace for this project
This project's internal Tikiwiki


Tom Gross (Supervisor)
Nicolai Marquardt

Created by: tom.gross last modification: Tuesday 07 of March, 2006 [19:24:08 UTC] by tom.gross