Enabling Software

The DAIS goals on developing distributed systems which are energy efficient, self-organizing and private-by design require a very capable software stack employed on the different nodes. The software stack needs to address all the types of nodes, ranging from small sensor nodes, high performance edge nodes, fog and aggregator nodes to server and cloud nodes. DAIS will develop an efficient and configurable software stack, which is efficient, and configurable, enough to be used even on very resource constrained systems.

At the most fundamental level we will develop the necessary software components, such as Board Support Packages, BSPs, operating system components and hardware drivers, to support the DAIS hardware platform. One important aspect of this is software support for power and energy management. Further, it will develop lightweight abstractions and software support for communication, security, orchestration and coordination. Enabling software includes the development of a distributed middleware spanning the DAIS System. The middleware support efficient off- and on-loading of computation so that the DAIS System can share load between nodes. A related challenge to address is self-organization, which the middleware will enable without intervention from the high-level orchestration and coordination systems. That said, the middleware will provide the abstraction and APIs allowing the systems to optimize in situations where the system is in a state where self-organization on a node level is not needed.

Privacy regulations often requires that most data processing, and indeed all processing necessary for anonymity, is performed close to sensors and before data is communicated to other nodes. Further, data transfer and communication are costly and should be kept at a minimum. Enabling software will support this by developing the necessary data analytics framework, including low-level machine learning acceleration frameworks allowing sensor data to be refined and aggregated close to the sensors.

DAIS expect a significant portion of signal processing, control, data analytics and, hence, machine learning is performed in the edge or at least at fog or aggregator nodes. Enabling software develops the necessary software components and infrastructure to support this, including efficient machine learning libraries and infrastructures, providing high level abstractions for data scientists to use. We also envision federated learning to be important for distributed AI systems. Therefore, we will develop the necessary support for federated learning.


1) Define the requirements on the software components

2) Support the platforms developed in SC1

3) Develop abstractions and interfaces useful to other DAIS technology lines and demonstrators

4) Design, develop and test software components implementing said abstractions and interfaces


Set of software components, and a middleware, for other DAIS technology lines and demonstrators  to use.


DTU (Leader), Akim, ALM, Arctos, BEV, BUT, CENT, Cosylab, DTU, XAL, Step, Gradiant, GS, IMA, Imec, ITAV, ITI, JSI, UzL, NURO, NXPGE, Octavic, PDM, SENS, SENT, Sestek, SIRRIS, UCAN, UGR, Vestel.