A Social Semantic Infrastructure for Ambient Intelligence

(SNF 200020-105476/1)


Ambient intelligence scenarios envisage devices and software agents, running in devices, that organise themselves for the wellness of their respective users: software agents interoperate and share knowledge or experiences, they gather information (e.g., road traffic), they automatically pay amount of money from e-purses, they customise rooms lights and temperature, requests for references, or build user profiles.

These applications are supported by an unobtrusive and invisible technology, which is able to take decisions, and initiatives, make proposals to the user, and negotiate. In addition, in order to fully support human beings without overloading them with requests and information, the underlying technology (devices, and agents) needs advanced means of communication for: understanding each other, gather and share knowledge, information and experience among each other, ensure their own security (data integrity, confidentiality, authentication, access control), and resources management. In distributed and decentralised environments, as those in which ambient intelligence systems will evolve, interoperable policies are closely linked with authorisation policies, or resource management. Therefore, such a technology needs a social infrastructure enabling agents mutual understanding, and knowledge sharing for handling interoperability, security support, and resource management in an intertwined way.


This project builds on the previous Engineering Self-Organising Applications project experience on self-organising mechanisms, and intends to extend, and integrate them in order to define an infrastructure for interoperable computing entities following a human-like communication. In addition to checking each other interoperability capabilities, entities can appreciate and diffuse information about the capacities of a peer entity, the issue of an interaction, and the availability of some resource present in its environment through trust, recommendations, and evidence diffusion and gathering. Such an infrastructure integrates, in an interweaved way, checking of semantical content, support for knowledge sharing and diffusion, and for handling additional issues, such as security or environment management.

Our approach consists in proposing a meta-ontology framework coupled with a dynamic trust-based management system, in order to produce a semantical middleware for representing, and diffusing semantic information among interoperable software. This project will provide a social interaction model based on a homogeneous framework which serves for expressing and checking semantic information of different kinds: functional behaviour, non-functional behaviour, observations, recommendations, users profiles; and serve different purposes: interoperability, users customisation, resources management, authentication, or access control. This information is shared among entities. On the basis of this information, autonomous  entities decide to interact, to grant or deny access, to ask for more information, or to find other partners. The model we intend to build is based on three principles: semantical information framework based on a higher-order logic and proof checking, i.e., an entity brings the proof of its claimed functionality, or identity (expressed using specification); information and knowledge exchange; and processing of information giving rise to actual interactions, recommendations, or requests (trust-based management systems). In addition to the social interaction model, we will investigate the definition of a formal logical language incorporating the social interaction model, and defining  operators for: ontology definition (vocabulary, relations, axioms,  theorems, proofs), observation, recommendation,  information request, and processing of information. Finally, for validation purposes, we foresee an implementation of the formal language operational semantics. It will provide an evolutive distributed middleware supporting the social interaction model, the semantic information exchange, and proof-checking. In addition, it must allow easy integration of new sites, of new computing entities participating in the society of interacting devices.


The goal of this project is to provide a middleware infrastructure for programming components taking part in an ambient intelligence applications in such a way that those components will interact with each other as would do human beings. Human beings exchange different kinds of semantical information for different types of purposes: to understand each other, to share knowledge about someone or something else, to take decisions, to learn more, etc.  Uncertainty and partial knowledge are a key characteristic of the natural world. Despite this uncertainty human beings make choices, take decisions, learn by experience, and adapt their behaviour.

Similarly, software entities that will take part in ambient intelligence systems will be part of decentralised systems, and embedded in highly dynamic environments where peer entities appear and disappear permanently, and where information dynamically changes and is not permanently valid.  Interactions with peers can occur only locally, there is only partial knowledge about the entities and about the environment.

The following small example shows how  a group of computers can share a pool of printers through our envisioned infrastructure.  Before interacting with each other computers and printers exchange their respective functional as well as non-functional capabilities, e.g.  a printer claims that it is a postscript double-sided printer, and a computer asks to print a PDF file. After having interacted with a printer, the computer stores the observation related to its experience with the printer (works as expected, only one side, no impression at all, etc.).  Depending on the outcome of the interaction, or if it has been requested to do so, the computer may want to share its knowledge with some of the other computers. It will then inform the others that the printer is not actually double-sided, but only single sided, or that the printer went out of toner, and is no longer available, or that one of the  printers is faulty and has a random behaviour.

This example shows that: printers and computers can exchange information about their respective functional and non-functional behaviour; computers can exchange information among themselves about the printers and other computers state or actual capabilities (independently of their claimed functionality); the shared knowledge allows computers to efficiently use the remaining set of working printers (adaptation, resource management), as well as to correctly inform the user about the nearest well functioning printer. This example shows as well the validity of information. The faulty printer has a random behaviour, this is a long term valid information (information is not very accurate, but not volatile). However, if the printer has been able to print two minutes ago, we can almost be sure that it will be able to print in the next couple of minutes, but not necessarily later (information is accurate but highly volatile). This example raises also the question of the accuracy of a shared information. In the case of the printer, it claims that it can print, but actually it cannot.  In the case of a computer, it can claim that the printer is out of order, but it may lie. In both cases, sharing knowledge about printers or other computers helps circumvent the problem, and adapt the personals as well as the collective behaviour to the environment.

Additional Activities

This project started October 2004 and ended September 2005.

G. Di Marzo Serugendo
September 2004.