The objective of the project is to develop a novel programming model for IoT services and applications,
and the associated supporting platform, engineering methodologies, and tools, to ease the development
of flexible and robust large-scale IoT services and applications.
In particular, starting from previous findings
in the areas field-based coordination, collective systems, stream computing
and aggregate computing, this project will address the complexity of building
modern, large-scale IoT systems, by a full-fledged engineering approach
revolving around a new notion of distributed programming.
The key innovative
idea of Fluidware is to abstract the devices of the IoT fabric as sources and
possibly digesters of flows of contextualized events (where events includes
those related to data production along with the associated data).
Accordingly,
programming services and applications implies declaratively specifying sets of
“funnel processes” to channel and direct such flows as a mean to coordinate
the activities of devices, and let the supporting platform automatically deploy
and properly distributed/replicate such processes.