by Dave Raggett
Advances in electronics and communication technologies are stimulating the growth of low cost connected sensors and actuators. There are many potential application areas, for instance: home automation, security, healthcare, smart grids, integrated transport systems, and next generation manufacturing. To date, research in the area of the Internet of Things (IoT) has largely focused on the sensors, actuators and the communication technologies needed for long battery life and efficient use of spectrum etc. rather than on what’s needed to encourage applications and services. Current IoT products exist in isolated silos. To fully realise the benefits, we will need scalable solutions for managing the vast of amounts of data, and open standards that enable open markets of connected services.
The COMPOSE project is developing a open source cloud-based platform for IoT services. The run-time is highly scalable and implemented on top of CloudFoundry and Couchbase. This is complemented by the developer portal which supports discovery, registration, composition and deployment of services.
COMPOSE models services in terms of message streams, where each message corresponds to either a sensor reading or an actuator update, and is structured as one or more data channels. Sensors and actuators are virtualised in the COMPOSE platform as ‘service objects’. These define the message streams obtained from the sensors, or passed to the actuators associated with a given service object.
Figure 1: The COMPOSE platform.
COMPOSE applications are able to access message streams via a RESTful interface over HTTP or WebSockets. This gives developers a choice of implementation technologies, e.g. HTML5 for the Open Web Platform, or as native applications on iOS or Android. OAuth2 provides the basis for application users to grant access to their data on the COMPOSE platform.
The COMPOSE developer portal supports a graphical authoring tool based upon an extended version of Node-RED The portal enables developers to search for services and streams matching the query provided by the developer. Developers can also solicit recommendations based upon rankings provided by other developers.
The COMPOSE project is conducting a number of pilots to evaluate the utility of the framework in real world settings. The smart retail pilot features sensors within a supermarket that track the location of shopping trolleys as customers move about the store, and which can later be combined with information on purchases. This data can be used to assist product positioning on supermarket shelves. The smart city pilot focuses on tracking free parking spaces at the Rovira i Virgili University in Catalonia. The smart territory pilot focuses on supporting skiers in the Trentino region of Italy. It combines sensor data with crowd sourced information covering the length of lift queues, the quality of ski centre facilities, and points of interest. Users can see their friends’ locations and exchange notifications with friends, which facilitates social interaction.
Chrome V8: https://developers.google.com/v8/intro
WebSockets protocol: https://tools.ietf.org/html/rfc6455
Dave Ragett, W3C