What is the IoT Data-Processing Agent?
The IoT Data-Processing Agent (DPA) is a an IoT light service developed to provide stream analysis at the Edge of the Network. Built upon a Complex Event Processing (CEP) engine the DPA is able to fuse, aggregate, and annotate MQTT or REST events published in a broker, o push into DPA. The DPA was designed to be deploy at the Edge of the Network. Nonetheless, the DPA is a micro-service which can be use at the cloud, creating multiple instances of it. The creation of a DPA mesh, allows to distribute the load crating distributed processing units. The data-processing is done by rules deploy by the developers.

The IoT DPA has child project the IoT Learning Agent (LA). The LA is advance version of the DPA which allows the service to automatically learn from the events in the Edge of the Network. The LA uses rules for in (near-)real-time process the date and feed into learning models.

How it works?

The IoT Data-Processing Agent loads events through MQTT communication between different services, or the service load the events pushing them through REST. Using developer-defined statements, the DPA generates compound events based on simple ones, published by services or devices. The DPA offers 2 distributions: a basic light version with an MQTT API (provided by Paho) and a bit heavier version with a REST API (provided by Jetty) . The current CEP engine used in the Esper. The Esper syntax is a SQL-like Esper Processing Language (EPL). The payload of the events are following the OGC SensorThing Standard. Other payload standards are foreseen such as SenML.

The IoT Learning Agent relies on the DPA for the data pre-processing, and uses Weka Machine Learning implementation for the automatic learning.

Issue tracking

View all issues

Main Git Repository

This URL has access.

See other repositories