Periodic Reporting for period 2 - AGILE (Adoptive Gateways for dIverse muLtiple Environments)
Reporting period: 2017-07-01 to 2018-12-31
Prototyping an IoT solution is a complex process that involves the careful selection of appropriate components, at hardware and software levels. For non-IP-based networks, there is always the need for a gateway to connect smart objects to the Internet, while commercially available gateways usually cannot be extended easily to support new protocols, being them often domain-specific and closed solutions. From a software perspective, the plethora of communication protocols and available platforms complicate the selection of the most appropriate for the need at hand. IoT vendors implement their own Cloud-based platforms that are vertical, product-oriented and closed, as there is no standardized way of creating end-to-end IoT applications and no wide acceptance of an IoT platform model.
importance for society:
The AGILE gateway plays an important role in ensuring “monitored data” to “useful information” transformation can be achieved in many application domains with minimum hardware/software/developer-manpower investments, avoiding costly vendor lock-ins and leveraging on open-source software/hardware availability and wide community support for configuring these. The importance of AGILE for society lies in ensuring that the ability to harnessing an increasing physical world monitoring capability can be rapidly exploited and brought to fruition, especially in the many domains of environmental sustainability.
AGILE builds a modular and adaptive gateway for IoT devices. Modularity at the hardware level provides support for various wireless and wired IoT networking technologies. It allows fast prototyping of IoT solutions for various domains. At the software level, different components enable new features: data collection and management on the gateway, an intuitive interface for device management, a visual workflow editor for creating IoT apps with less coding, and an IoT marketplace for installing IoT apps locally. In AGILE, data management and device control are enabled either at local gateway level (maximizing security and privacy) and/or remotely, through the support of various cloud services/platforms. Hence, both developers and end-users are free to decide where the data is stored, how device management is performed and how/if data is shared, in compliance with customizable and expressive security and privacy policies. As a result, AGILE software can auto-configure and adapt, based on the hardware configuration so that driver installation and configuration is performed automatically. IoT apps are recommended based on hardware setup, reducing the gateway setup and development time significantly. AGILE creates an open, flexible and widely usable IoT solution and puts it at the disposal of industries (startups, SMEs, tech companies) and individuals (researchers, makers, entrepreneurs).
In fact, the AGILE concept and results have been validated in a number of pilots showcasing the validity of the AGILE approach in the domains of environmental monitoring, quantified-self, smart retail and live-stock monitoring. The AGILE software and hardware elements were also evaluated by sixteen SMEs in an even broader set of application domains, enriching the ecosystem around the AGILE solution. To further support the development and adoption of AGILE and for community engagement, the Eclipse AGAIL project was created as a direct output of AGILE and is being populated with components which are then becoming available through the Eclipse Foundation to the broader developer community.
The AGILE stack is easy to deploy using a set of Docker containers on anything from a Raspberry Pi for fast prototyping to a whole fleet of remotely-managed industrial gateways. Its advanced attribute-based security framework enables users to enforce fine-grained access control on their data, and its modular support for both local encrypted storage and cloud-based storage solutions allows developers the freedom to compose IoT solutions with the public or private storage solution of their liking. The AGILE stack also includes a rich built-in development environment with features such as the graphical composition of applications, automatic offloading of computation tasks from the edge to the cloud, and an advanced recommendation engine helping the user in finding new applications, devices, or cloud services to further enrich their solution.