OLDA 2013

Open Local Data Applications (OLDA) is an activity in the Smart Spaces Action Line of the EIT ICT Labs.

Partners

Context: M3

M3 provides a platform allowing the integration of devices from various vendors on the semantic level. It consists of Knowledge Processors (KP) and a Semantic Information Brokers (SIB). A SIB stores and communicates information received from KPs in RDF triples format. It allows the KPs to subscribe for certain information and will notify them when this information is published or modified. The KPs are deployed on top of the devices and provide an abstract software interface to the devices' functionalities. There can be virtual KPs, which generate new information from the information already present in the smart space, or which act as a gateway between different smart spaces. The M3 architecture can therefore be regarded as an active black board where data is stored and communicated in the RDF triples format.

Goal

The goal of the OLDA activity is to show that M3 and open information sharing have a true commercial potential and real added value to different kinds of smart spaces.

The goal of the Eindhoven University of Technology task within OLDA is to investigate how to translate lighting preferences provided by the user, or inferred by the smart space, into policies in RDF format, so that they can be utilized by Knowledge Processor nodes in our M3 enabled SmaCS (TU/e) lighting testbed.

Deliverables

Our deliverables consist of a report and software packages described below.

M3 Start Kit

Devices in an M3 enabled smart space communicate via a central repository called a SIB. We have created a VMWare virtual machine which contains an Ubuntu 10.04 server with a preinstalled SIB, allowing to quickly jumpstart with M3 development. You can download the latest version of the virtual machine here:

A SIB is started by starting two processes: sibd and sib-tcp (e.g. in two screens).

A KP provides the software layer allowing a device to communicate with a SIB. We created KP libraries for iOS and Tcl, which provide basic M3 communication primitives simplifying the development of application specific KPs. We have used these to implement our SmartLight iOS app, as well as the Tcl based the light policy and virtual light KPs described below. You can download the latest version of the KP library for iOS here:

You can download the latest version of the KP library for Tcl here:

SmartLight

SmartLight is an iOS application (for iPhone with iOS 6.0 or higher) for controlling the lights in an M3 enabled smart space. It allows to define lighting policies which can then be enacted by the app itself or via a device with limited UI capabilities (e.g. a smartwatch). You can download the latest version of the SmartLight app here:

Support for light policies is added to a smart space by means of a light policy KP. You can download the latest version of the LightPolicy KP here:

Virtual lights simplify the development of smart lighting applications, avoiding the need for real lighting testbeds, or facilitating rapid prototyping for smart lighting applications. You can download the latest version of a virtual light KP here:

The LightPolicy and Light KPs are distributed as TclKits. A TclKit contains the source code, which can be extracted using SDX. A TclKit can be run using a tclkit executable (Windows, Linux, Mac).

The LightPolicy KP is started by executing in a terminal e.g.:

tclkit policykp.kit X 192.168.30.131 10010 'p1 Work mike p2 Rest mike'
where X is the space id, 192.168.30.131 is the SIB ip address, 10010 is the SIB port number, p1 Work mike p2 Rest mike is a list of policies, where each policy is comprised of policy URI, policy name and user (in this example there are two policies).

The Light KP is started by executing in a terminal e.g.:

tclkit lightkp.kit X 192.168.30.131 10010 light1 'Discrete light' discrete
where X is the space id, 192.168.30.131 is the SIB ip address, 10010 is the SIB port number, light1 is the light URI, Discrete light is the light name, discrete is the light type.

Contact

For any questions regarding the above contributions do not hesitate to contact Mike Holenderski