We have identified a set of industrially relevant application scenarios for edge computing, covering a large design space: sensor-based scenarios such as precision agriculture, edge-centric database applications, community networks, and embedded systems for manufacturing. For the Guifi.net community network, we define a monitoring system at the edge, a data storage system at the edge, and service provision support for the Cloudy platform, which provides services for Guifi.net. For the Scality petascale database, we define pre-indexing support at the edge. To reduce latency and improve search quality, we propose lambda functions at the edge to perform arbitrary computations, and we propose an S3 local cache of client data at the edge. For industrial manufacturing, we propose to extend a decentralized transport system based on RFID tags, so that data can be shared quickly and consistently between tags and manufacturing posts, to perform without stopping, which will significantly increase performance. For IoT sensor networks, we propose systems to do analytics directly on the edge, for precision agriculture including winery management. We also propose smart metering gateways, to enable local decision making for smart grid management.
We provide a single unified reference architecture for the cloud-edge spectrum, called LiRA (LightKone Reference Architecture), published in a white paper as an extension of the OpenFog Reference Architecture. Our architecture is practical because we focus on data and not on the cloud. Data is managed throughout the cloud-edge spectrum following two principles of data consistency, namely decentralized lateral data sharing (between devices in the same layer on the spectrum) and convergent vertical data semantics (between devices in different layers on the spectrum). In the final project period, we implement this reference architecture as three released application frameworks, AntidoteDB, Achlys, and Legion, which cover widely different parts of the cloud-edge spectrum. It is impractical and unwieldy to cover this spectrum with a single platform, since it would greatly encumber our progress with little advantage. Instead, we have three application development platforms that provide a coherent service and overlap in functionality where this is necessary. First AntidoteDB, which is a causally consistent transactional data store based on CRDTs and extended for the edge. Antidote supports a new programming methodology called Just-Right Consistency. Second Achlys, which is an application platform for edge applications that run directly on the sensor networks themselves. Achlys contains a task model for defining applications, a resilient CRDT-based data store called Lasp, and a resilient communications library using hybrid gossip called Partisan. Achlys runs on highly dynamic networks using highly resilient communication and is able to perform dataflow computation within the store while maintaining resilience. Third Legion, which is a platform for developing mobile Web-based applications based on shared objects containing CRDTs inside mobile phones. Legion uses peer-to-peer communication between mobile nodes to reduce latency, and the use of CRDTs guarantees data consistency.
In addition to the three application frameworks, we have released the GRiSP embedded programming platform and the Yggdrasil network protocol development framework. GRiSP consists of software and hardware that allows Internet-of-Things applications to run directly on embedded systems boards on the sensor networks themselves. GRiSP provides out-of-the-box support for standard Pmod sensors and actuators and the full Erlang OTP programming system, allowing the fast and efficient prototyping of robust edge applications. Yggdrasil is a software framework that allows developing efficient network protocols, including hybrid gossip communication, directly for ad hoc wired and wireless networks. Yggdrasil and Achlys are ported on the GRiSP embedded programming platform, thus providing an innovative powerful and comprehensive development platform for edge applications.