A Social Semantic Infrastructure for Ambient
Intelligence
(SNF 200020-105476/1)
Introduction
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.
Approach
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.
Example
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.