BETaaS – Building the environment for the Things as a Service

The BETaaS platform is an open-source platform developed under the activities of the project BETaaS, Building the Environment for the Things-as-a-Service, a European project co-funded by the European Commission under the 7th Framework Programme. The project aims to overcome the limitations of cloud-centric IoT architectures through the design and development of a horizontal platform that leverages a distributed architecture to move the intelligence to the edge, i.e., close to the physical environment where sensors and actuators reside, in order to ensure timely application processing. The BETaaS platform, is designed to run on heterogeneous devices, called gateways, such as home routers or set-top boxes. The execution of M2M applications is then supported through a tight interaction among multiple gateways that form a distributed runtime environment called a local cloud. On top of the local cloud, the platform offers M2M application developers a content-centric service-oriented interface, named Things-as-a-Service (TaaS), exposed to access smart objects connected to the platform regardless of their location and technology, cutting software development time and enabling code reusability. The platform offers built-in support for several non-functional requirements: Context Awareness, Quality of Service, Security, Big Data Management and Virtualization. The software is based on Java OSGi, a framework specifically designed to build modular platforms with a highly dynamic structure.
  • Tags: , , , , , , , , , ,
  • Latest update: April 30, 2015
  • Developed by: BETaaS consortium
  • Contact name: Enzo Mingozzi (University of Pisa), Javier Nieto (ATOS)
  • Contact email: [email protected]
  • Source code repository: https://github.com/BETaaS/BETaaS_Platform-Tools

Intellectual property rights (IPR)

BETaaS software is licensed under the Apache License, Version 2.0 (the "License").

betaas-img1

 

BETaaS platform architecture is based on a distributed runtime environment made of a so-called local cloud of nodes that allows accessing smart objects connected to the platform regardless of their technology and physical location. The distributed environment can be installed on devices such as network gateways, home routers, set-top boxes, RSU, etc. characterized by heterogeneous storage and computational capabilities, generically referred as gateways.
The logical steps bringing forth a converged M2M service platform starting from a number of already existing systems are shown in the picture (steps are illustrated from bottom to top of the image). M2M systems composed of different smart objects (1) are integrated through a set of gateways, each one providing access to its locally connected M2M system (2). Gateways then cluster together through a tight mutual interaction so as to logically form a local cloud of gateways, which provides the distributed runtime environment hosting the BETaaS platform (3). On top of the local cloud of gateways, a number of extended services can be further deployed (4), in addition to basic ones, in order to expose to applications the underlying sensing and actuating infrastructure as a service.

 

The BETaaS architecture  is based on the layered structure shown in the picture to ease the integration of existing systems and platform expandability.
Transparent integration of existing systems is achieved through platform-side adapters installed at the adaptation layer, which provides a uniform interface to the layer above and converts requests from the latter to access existing systems according to their respective technology.betaas-img2
On top of the adaptation layer there is the TaaS layer, which is at the core of the BETaaS platform. This layer implements the Things-as-a-Service model, which defines a common interface to access things as a service regardless of their specific technology, communication protocol and location. For each smart thing, one or more thing service(s) are derived in a content-centric manner and exposed to applications. In order to provide also abstraction from physical location, i.e., allow applications to transparently access thing services irrespectively of the gateway, the TaaS layer is implemented in a distributed fashion to cooperatively share resources among gateways, thus realizing the concept of local cloud previously introduced.
On top of the TaaS layer, the platform implements the service layer, which defines the interface to external applications. By default, this layer exposes all thing services available in a running instance of the platform as basic services that enable applications to interact directly with smart objects. In addition, the service layer also allows the dynamic deployment inside the platform of custom services, named extended services, possibly developed by a third party. Extended services can be used to extend the functionalities of the platform by implementing complex logic tailored to a specific running in-stance, or can be exploited by applications to push functionalities, such as real-time control, close to the platform, where they can run independently of the status of the remote application.
Eventually, the Service Layer exposes a unified RESTful interface, exploited by external applications running on external devices to interact with smart objects and extended services.

As an example of use case, consider a smart home environment with a set of already deployed vertical M2M systems: an alarm system equipped with presence sensors for surveillance, an environmental control system including temperature sensors for heating and cooling control as well as light switch actuators, and a garden watering system with humidity sensors. In this scenario, the BETaaS platform can be deployed on four gateways that cooperates to implement an all-in-one horizontal IoT system that enables the development of applications leveraging on smart objects working in isolation in the original design. For instance, an extended service that enhances the environmental control system can be installed to exploit humidity and presence information, e.g., turning down the air-conditioning when a window is opened as evidenced by the magnetic sensor part of the alarm system. External applications interacting with the platform and running on external devices can be deployed on a smartphone to expose a uniform control interface to end users.

betaas-img3

Service level

Technology Readiness Level

5 - technology validated in relevant environment

Reuse Readiness Levels

5 - Reuse is practical; the software could be reused by most users with reasonable cost and risk

Webinars
A set of webinars have been realized to present the platform and to provide practical guidelines for developers.

  • BETaaS: a horizontal platform for IoT

  • Instant BETaaS and CoAP Adaptation Plugin

  • How to setup security environment in BETaaS

  • Running apps BETaaS enabled proprietary devices

Getting started

Tutorials

Demo Applications

Things integration