Context-aware, pervasive systems, mobile devices, intelligent virtual assistants activating services or controlling connected devices are pervading our everyday life. Sensors, drones and robots are becoming smarter, cheaper and available in everyday life. These systems usually rely on centralised systems provided by cloud based servers gathering all requests, performing predefined computations and involving predefined devices. However, the growth of IoT is affecting the way traditional cloud architectures work. The increased amount of data to be transferred is creating bottlenecks while increasing the latency. Furthermore, sending such a big amount of data to a cloud environment in very short periods of time is inefficient, apart from cumbersome and expensive: local data could be processed close to the area where it is produced. These data are often context-dependant in term of space and/or time.
Spatial services are a new generation of services that exploit spatially distributed data and enable smart environments. This is a new category of decentralised services based on data propagation among devices. It takes place across several geographically distributed nodes. In addition, these services are also time-related: they may just last for a very short time and for a specific purpose exploiting current contextual data, as well as space-related: these services rely on the data that they spread and become spatially distributed over a geographic area. These services are provided as the result of the collective interactions among multiple entities, involving processes and calculations.
Spatial services, built on self-organising mechanisms, are relevant in specific application contexts, particularly in open, dynamic, smart environments and for applications deployed over several nodes. Research in the engineering of collective adaptive systems provides advances in the identification of bio-inspired self-organising mechanisms and their expression as design patterns. Their performance depends on good calibration and some of them can be in competition for a specific application. In a fully distributed system, sometimes services need to cooperate together to provide a response to a request or to achieve a task. Self-organisation provides an appealing approach to design on-the-fly, also called on-demand, service composition. The next challenge is to compose on-the-fly spatial services.
The goal of this research is to dynamically compose spatial services and determine, at run-time, the most reliable and pertinent composition. On-demand services have to dynamically provide the best combination of the available services to answer to a user's request. In open smart environments, it is only at run-time that the need for a spatial service arises and it is through the collective interactions of existing spatial services, sensors or application that the requested service is provided. On-the-fly service composition will study how spatial services dynamically select themselves to respond to a request by guaranteeing pertinence, reliability and non-functional property.
Each device hosts few spatial services and contextual data or actions. Our solution relies on a learning-based coordination model providing decentralised communication platforms among agents working on behalf of heterogeneous devices, so that they collectively provide pertinent and reliable services. Through the shared coordination medium and coordination rules they provide, coordination models naturally support collective interactions among devices. We provide a coordination model enhanced with features favouring both self-composition and learning. In that manner, gents will progressively learn when to participate or refrain from participating in a composition. This will help to exclude all non-pertinent solution thanks to users' feedback.
Dynamic composition of services using a learning-based coordination model has to provide pertinent but also reliable services. Including the QoS could be a better solution to refine composition. Services should be well calibrated in dynamic situations to guarantee appropriate non-functional properties expressed as quality of service (QoS).
Results show how the learning based coordination model compose spatial services at run-time, adapt itself when a change occurs and build pertinent and reliable services.
Spatial services implemented through a learning-based coordination model provide a highly adaptive paradigm allowing the exploitation of the collective capabilities of connected objects, themselves evolving in a dynamic environment. Spatial services can prove useful in a variety of use case scenarios such as Covid-19 tracker, road routing, crisis cooperation, energy management application, etc.
Overall, this thesis presents: the spatial services paradigm; a learning-based coordination model suited for on-the-fly composition of services; its implementation as a middleware; the actual deployment of spatial services on different heterogeneous devices; and a discussion about the functioning and the performance of our solution.
We present two use cases that we deployed to emphasise the added value of the on-the-fly service composition. At the end, this research shows the effectiveness of on-demand spatial service and discusses its potential in a dynamic environment.