=Paper= {{Paper |id=Vol-204/paper-9 |storemode=property |title=Mechanisms of Self-Organization in Pervasive Computing |pdfUrl=https://ceur-ws.org/Vol-204/P06.pdf |volume=Vol-204 |dblpUrl=https://dblp.org/rec/conf/woa/BicocchiMZ06 }} ==Mechanisms of Self-Organization in Pervasive Computing== https://ceur-ws.org/Vol-204/P06.pdf
          Mechanisms of Self-Organization in Pervasive
                         Computing
                                           Nicola Bicocchi, Marco Mamei, Franco Zambonelli


                                                                                   In our opinion, such extreme specialization is transitory and
   Abstract—The mass deployment of sensors and pervasive                           more general-purpose approaches are likely to emerge soon.
computing systems expected in the next few years, will require                     We think that future pervasive computing systems will be
novel approaches to program and gather information from such                       general purpose and users will be able to install and execute
systems. Suitable approaches will be general purpose,                              applications both on their private pervasive computing
independent of a specific scenario and sensor deployment, and
                                                                                   infrastructure (e.g., in smart home scenarios), and in publicly
able to adapt autonomically to different scales and to a number
of unforeseen circumstances. This paper focuses on the
                                                                                   available ones (e.g., citywide infrastructures offering tourist
requirements and issues of upcoming pervasive computing                            information and services) [JonG05,Sri06]. In our opinion, this
scenario, and surveys current research initiatives to deal with                    vision is motivated by the following considerations:
them. In particular researches addressing data retrieval and
aggregation, macro-programming, and data integration in                            1. Advances in the manufacturing of pervasive computing
pervasive computing infrastructures will be detailed. Overall, the                     devices (e.g., wireless sensors) will dramatically increase
paper illustrates our ideas on collecting information from both                        their performance, both in terms of computational
sensor systems and Web resources and on linking them together                          capabilities and energy resources [Chu06].
in overlay knowledge network offering applications                                 2. Advances in energy-optimized and resource-optimized
comprehensive and understandable information about their
                                                                                       algorithms will provide efficient mechanisms to perform a
computational environment.
                                                                                       number of basic services (e.g., routing), thus lowering the
   Index Terms—Pervasive computing, Sensor network, RFID                               “resource-constraint-pressure” even further [Jon01].
tags, Self-organization.                                                           3. Specialization hinders application development from a
                                                                                       software engineering point of view. To create complex,
                          I. INTRODUCTION                                              dynamic and flexible services, it is mandatory to rely on
                                                                                       general-purpose software infrastructures facilitating the
I  n the near future, computer-based systems will be
   embedded in all our everyday objects and in our everyday
   environments. These systems will be typically
                                                                                       programming task [Zam04].

                                                                                   All the above considerations show that general-purpose
communication enabled, and capable of coordinating with                            pervasive systems will be feasible in the next future, and will
each other in the context of complex mobile distributed                            be required to offer advanced, flexible, robust and
applications.                                                                      customizable services.
Current realizations of such scenarios, mainly in research labs,                   Given the extreme heterogeneity of future pervasive
focus on special purpose systems, tailored for a specific                          computing systems, their inherent dynamism and – most
application task. This specialization comes rather directly                        importantly – the incredible amount of data they will be able
from the extremely limited capabilities of pervasive devices,                      to produce, applications will have to autonomously adapt their
that impose to rule out ancillary and general properties for the                   behavior to different circumstances ranging from the scale of
sake of optimization. In sensor network scenarios, for                             the pervasive network, to the quantity and granularity of
example, in order to be compliant with the thin battery budget                     information that will be available.
of each sensor, applications rely on special purpose algorithms                    To achieve such a flexibility, applications will have to be
tailored for a specific sensors’ deployment and for a specific                     highly context-aware (to understand and meaningfully interact
set of data to be measured [WerL06].                                               with their environment) and, to this end, they will need to
                                                                                   access properly represented contextual information.
   Manuscript received July 7, 2006. This work was supported in part by the
project CASCADAS (IST-027807) funded by the FET Program of the                     In this direction, a number of recent researches try to represent
European Commission.                                                               contextual information by relying on overlay knowledge
   Nicola Bicocchi is with the Dipartimento di Scienze e Metodi                    networks [Jel05, MamZ05, NagM04, Zam04]. Overlay
dell’Ingegneria. Università di Modena e Reggio Emilia, Italy; e-mail:              knowledge networks can be regarded as distributed data
mamei.marco@unimore.it
   Marco Mamei is with the Dipartimento di Scienze e Metodi                        structures encoding specific aspects of the application
dell’Ingegneria. Università di Modena e Reggio Emilia, Italy; e-mail:              components’ operational environment. Overlay knowledge
mamei.marco@unimore.it.                                                            networks are easily accessible by the components and provide
   Franco Zambonelli is with the Dipartimento di Scienze e Metodi                  easy-to-use context information (i.e., the overlays are
dell’Ingegneria. Università di Modena e Reggio Emilia, Italy; e-mail:
franco.zambonelli@unimore.it.
                                                                                   specifically conceived to support their access and fruition).




                                                                              41
The strength of these overlay knowledge networks is that they            technologies, currently widespread in research labs and likely
can be accessed piecewise as the application components visit            to impact soon the real world, are the workhorses of this
different places of the distributed environment. This lets the           vision:
components to access the right information at the right
location.                                                                1. Sensor networks consist of several micro sensors scattered
From our perspective, “classic” overlay networks such as                     across an environment that collect environmental data (e.g.
spanning tree and mesh data structures (i.e., routing                        sound and temperature), process data (e.g., compute
distributed data structures providing components with a                      average and aggregate values) and wirelessly transmit such
suitable application-specific view of the network) are                       data to other sensors or base stations. The wireless sensor
particular examples of the more general concept of overlay                   networks of the near future are envisioned to consist of
knowledge networks [Jel05, IntG00, MadF02].                                  hundreds to thousands of inexpensive wireless nodes, each
Overlay data structures such as fields and gradients                         with some computational power and sensing capability,
[MamZ05], used in a number of macro-programming                              operating in an unattended mode. They are intended for a
mechanisms [HadM06, NagM04], are another example of                          broad range of environmental sensing applications from
overlay knowledge network.                                                   vehicle tracking to habitat monitoring. The hardware
This paper is devoted to the above concepts and its main                     technologies for these networks (low cost processors,
contribution is twofold:                                                     miniature sensing and radio modules) are available today,
                                                                             with further improvements in cost and capabilities
1. We will better illustrate the scenario of general purpose                 expected within the next decade [WerL06].
   pervasive computing showing its evolution and                         2. Radio Frequency Identification (RFID) tags are small
   highlighting requirements and issues. In particular, we will              wireless radio transceivers that can be attached
   discuss how considering the system as composed of a                       unobtrusively to objects as small as a watch or a
   “continuum” of sensors and devices, rather than a discrete                toothbrush. Tags are extremely cheap and battery-free.
   collection of them, may provide useful ideas and                          Thus, they do not have power-exhaustion problems. Each
   abstractions to deal with general purpose pervasive                       tag is marked with a unique identifier and provided with a
   computing scenarios.                                                      tiny memory allowing to store data. Suitable devices,
2. We will survey current research initiatives applying overlay              called RFID readers access RFID tags by radio for read or
   knowledge networks to several autonomic and self-                         write operations. The tags respond or store data
   organizing pervasive computing applications. In particular,               accordingly using power scavenged from the signal
   we will discuss how overlay knowledge networks could be                   coming from the RFID reader [Wan06, MamZ05]. For
   suitable to the general scenario depicted above. By means                 example, a mobile device detecting tagged objects nearby
   of this survey, we will present how different research                    can build a sort of database of the objects available. This
   fields, ranging from data mining to distributed systems, are              could have several applications in inventory and ware
   beginning to merge and complement each other to provide                   house management [LegT06].
   viable solutions to these novel scenarios.
                                                                         In our opinion, these relatively static and hard-coded
The rest of this paper will be organized as follows. Section 2           applications will be soon complemented by much more
details the upcoming scenario of pervasive computing and                 dynamic ones that will leverage sensors and RFID tags as a
sensor networks, and illustrates the current shift from special-         general, publicly-available infrastructure to “interface” with
purpose and single-owner systems, to general-purpose and                 the physical world. Sensor data and RFID tags will be
public pervasive infrastructures. Section 3 discusses issues             accessed by handheld devices we carry on everyday and will
and current approaches to program and gather information                 provide us with information such as crowded pubs nearby,
from pervasive distributed systems. In particular, it                    dynamically-computed bus time tables and customized and
emphasizes the important role of overlay knowledge network               useful information about objects and products around
in the majority of the proposals. Finally, Section 4 concludes           [MamQZ06, CurG05, Bor05, NatR06]. For example, RFID
the paper presenting some future research avenues in this area.          tags will possibly host scripts that will enable to tell how the
                                                                         data in it should be handled. This can enable forms of parasitic
                         II. SCENARIO                                    computing (the script is executed when a reader in range
As pointed out in the introduction, pervasive computing                  powers up the tag) [Rie06]. In addition, RFID tags can be
scenarios are moving toward general-purpose and widely                   coupled with sensors. A reader can power up the sensor that
available infrastructures that will enable a wide range of novel         takes a measure and returns it to the reader [Wan04].
applications. In this section we are going to present the current
setting of the scenario and its possible future evolution.               3. Localization technologies are key enablers for pervasive
                                                                             computing applications. Several mechanisms and
A. Current Setting                                                           technologies are currently proposed both for outdoor and
Recent advances in manufacturing and wireless                                indoor localization [HigB01, Sat05]. Location in the
communication are leading to the vision of pervasive and                     physical world remains the primary contextual information
ubiquitous computing [But06, JonG05, Sri06]. The following                   for almost all pervasive computing applications.
                                                                         4. The Web. Given the ever improving coverage and




                                                                    42
   bandwidth of wireless network technologies, all kind of                  yellow pages) [Cas06].
   application scenarios could benefit from the ever
   increasing information available on the Web. For example,
   it is possible can find information about the small shop
   round the corner and discover the menu and the price list                                                 Sever
   of that nice restaurant you have seen in that little village a
   few days ago. Still, the Web is missing connection with
   the physical world and with your actual physical location.
   So that a query as simple such as “where is the closest                               Base Station
                                                                                                                     Base Station RFID Reader
   Chinese restaurant?” is something that current Web cannot
   answer satisfactorily. There is a lot of work in this kind of
   location-based services, but still some general purpose
   architecture to implement the idea is missing [Esp01,
   Eag05, HarK05].
                                                                                               Mote Sensor
On the basis of the above considerations, future pervasive                 Mote Sensor

infrastructures will be hosting several services and will                                 Mote Sensor

integrate data from various sources, ranging from RFID,
sensor networks and Web resources (see Fig. 1). Users in this            Figure 1. General pervasive architecture
scenario, will be able to access – via a number of handheld              B. Future Vision
and wearable devices – several services dispersed in the
environment.                                                             The technologies described above could lead, in the next
                                                                         future, to a scenario in which sensors, actuators, memory and
                                                                         computational infrastructures will seamlessly wrap the real
x Users could query, either directly or via a proper base
                                                                         world. This will allow to collect and handle data coming from
   station, sensors in the environment to get various
                                                                         an unpredictable number of devices (sensors and Web
   information such as traffic reports, weather conditions, and
                                                                         resources) that will produce a sort of enriched perception of
   environmental parameters (e.g., temperature, light-
                                                                         the world. With such an infrastructure in place, several
   condition) [Bal06, Sri06].
                                                                         interesting applications, in which users will be able to
x Users could join profile matching services and applications.
                                                                         perceive the word beyond their five senses, will become
   Profile matching applications consist of a sensor network
                                                                         feasible. For example, while walking on a street, it will be
   composed of the smart-phones of the persons joining the
                                                                         possible to perceive (i.e., get real-time information) on how
   application (note that a Bluetooth phone can be easily
                                                                         much the restaurants nearby a crowded. In a similar way, it
   regarded as a wireless sensor, in that it can provide various
                                                                         will be always possible to “sense” where friends and relatives
   data to other devices around). Such sensors will monitor
                                                                         are located, so as to arrange for meeting on the fly.
   their surrounding environment looking for nearby
                                                                         From our perspective, there are two main streams of research
   “compatible” persons and notify their users upon positive
                                                                         fueling this vision:
   matches. [Eag05].
x Users could benefit of a number of automated pervasive                 1. Novel approaches are needed to provide human users and
   services to complete economic transaction and acquire                     application components with “extra-sensory” information
   information. For example, RFID allows the vision of                       without overloading their cognitive capabilities. With
   cashier-free retailers where a user just enters a retailer,               regard to human users, research on wearable computer is
   takes what he needs and, when exiting, RFID readers                       developing mechanisms to enable a person to see (by
   installed at the retailer door read the items being taken and             means of suitable see-through visors) computer-generated
   charge the customer credit card accordingly. RFID could                   images overlaid to the physical world. Such images can
   also allow to store information where they will be most                   augment the word by providing additional information
   useful. For example, information on goods and products                    [Dan06]. For example, they could show directions overlaid
   could be stored in RFID tags stuck at that product [Bor05,                to the actual environment, or provide personal information
   NatR06].                                                                  overlaid to the person we are actually talking with. With
x Users could complement and integrate all the above data                    regard to application components, suitable software
   and information by means of suitable Web resources. For                   infrastructures are needed to represent context information
   example, a sensor network detecting some kind of                          in a way that will be easy for the components to
   polluting agent could integrate collected data with a map                 understand and use [MamZ05].
   showing nearby industrial implants to discover possible               2. It is fundamental to actually store and manage that
   causes of the pollution, or in a map showing natural                      information at the infrastructure level. Research on RFID
   reserves to predict dangerous effects [JRDMS]. Similarly,                 tags and sensors infrastructures, is a promising approach
   a group of friends could decide to share with each other                  (complementary to the previous one) leading to this vision.
   their actual GPS locations, and to display them on a map                  In this context, the idea is to store and later retrieve
   which highlights pubs and bars (coming from Web-based                     information in the RFID tags and sensors that are likely to




                                                                    43
   populate (and saturate) our physical environment. Such an            The resulting scenario is that of a hierarchy of an arbitrary
   infrastructure could be used to enrich the world with                number of overlays representing context information at
   context information that could be retrieved properly                 different level of granularity. Application components,
   [MamQZ06]. For example, the infrastructure would allow               depending on their task, decide at which level to consider the
   to store “virtual” post-it notes across an environment to be         context. Lower-level information will be aggregated to the
   found later on.                                                      proper level of abstraction. Higher-level information will be
                                                                        possibly contextualized to that level, and all this information
It is rather clear that such a vision implies a huge amount of          will be integrated together in coherent view supporting
information and data pervading the physical world that (given           application tasks.
its scale) requires novel methodologies to be dealt with. In our        Although the above description is at the level of modeling,
opinion, a paradigm leading to the development of proper                and data aggregation, contextualization and integration
methodologies, in this context, could be based on the                   mechanisms could be realized via whatever approach, in
“continuum” abstraction [BeaB06]. Following this approach               practice the model easily support a hierarchical architecture
the system is designed having in mind a continuum of data               where higher-level servers collect and provide data at a certain
sources (rather than a discrete network of devices) and so the          level of granularity. Adopting this viewpoint, at the top level
abstraction being realized have to scale to an arbitrary number         of Fig. 2, we have globally accessible Internet server
of devices. Of course to deal with such kind of large scale             providing worldwide aggregated information. At the lower
systems, autonomic and self-organization principles are                 layers, there are servers providing more and more specific
needed [Dob07]. This is because managing the system at a                data (e.g., state-wide, city-wide, building-wide data). At the
fine-grained scale and addressing individual components will            bottom-layer there are the individual sensors offering
not be feasible (with the continuum abstraction in mind, the            extremely localized – but extremely detailed and up-to-date --
very concept of individual component tend to vanish), and so            information.
autonomic and self-organization mechanisms – where                      Whatever the architecture, in order to realize the conceptual
individual components manage themselves -- have to be                   model in Fig. 2, it will be fundamental to rely on self-
introduced.                                                             organization and autonomic principles. In fact, to guarantee
In particular, we envision an architecture, like the one                robustness and scalability, the overlay knowledge network
depicted in Fig. 2. There, a countless number of sensors                will have to maintain its coherency despite network glitches,
(wireless mote sensors, RFID, smart phones, and yet-to-come             sensors failures, the addition and removal of part of
devices) enrich the world with digital information. This layer          knowledge and other kind of contingencies.
(represented as the bottom layer in Fig. 2) will be constituted
by a huge number of heterogeneous and dynamically varying
devices. The data at this basic level is at the finest possible
granularity, and because of that will be hardly manageable and
understandable by application components (i.e., too much
data, too sparse knowledge).
Overlay knowledge networks are distributed data structures
encoding specific aspects of the application components’
operational environment. Overlay knowledge networks are
easily accessible by the components and provide easy-to-use
context information [MamZ05]. These overlay knowledge
networks come into play to organize the data of the bottom
layer into higher-level and more semantically expressive
concepts. An example of this idea would be an overlay
knowledge network that aggregates the data produced in a
region of the underlying network to offer application
components a single aggregated value (e.g., the average)
representing the whole region. In other words, data produced
by the bottom sensors can be aggregated at different level of
abstractions. This aggregation produce discrete data elements
each one managing portions of the continuum sensor space.               Figure 2. Continuum pervasive network with an arbitrary
These elements of the overlay knowledge network are                     number of overlays describing context at different
represented in the higher layers of Fig. 2 and the upward               granularity
arrows represent the process of creating higher-level concepts
from low-level sensors.                                                            III. ISSUES AND CURRENT APPROACHES
This upward direction is not the only possible. In several              Several new technologies and mechanisms are needed to
situation, overlay knowledge network need to integrate and              fulfill the above vision and to create general purpose
contextualize high-level concepts to a lower layer using sensor         pervasive applications. In particular, we think that the main
data. This integration is represented by the bottomward arrows          challenge is to provide applications with suitable overlay
in Fig. 2.




                                                                   44
knowledge networks to gather, understand and exploit context             route the message towards the destination. When compared to
information at the proper level of abstraction for their                 local processing of data, wireless transmission is extremely
application task. If a suitable context-representation is                expensive. Researchers at the University of California,
available, often the application task becomes easy, since                estimate that sending a single bit over radio is at least three
application components see clearly from their context how to             orders of magnitude more expensive than executing a single
achieve the task [MamZ05].                                               instruction [ShrP04]. Last but not least, this approach is very
From our perspective, there are three main research fields that          sensitive to reading errors and sensors faults. If a node, broken
are fruitfully tackling the above problems by exploiting                 or malicious, produces fake data, there is no straightforward
overlay knowledge networks.                                              way to filter it out.
                                                                         To overcome the above problems, in-network filtering,
1. Data Retrieval and Aggregation comprises a number of                  processing and aggregation techniques can be used to
    researches trying to get data from a distributed sensors in          conserve the scarce energy resources and improve data
    an efficient way. In this context, overlay knowledge                 quality. From the information sink point of view in network
    networks are used to create the routing structures to collect        data aggregation has two main advantages. The first one
    and aggregate data.                                                  consist on a reduction of the potentially overwhelming data
2. Macro Programming deals with programming a                            streams produced by the sensors. The second one, due to the
    distributed system without explicitly defining single                activity of filtering and processing, is to reduce the complexity
    entities activities, but letting a compiler or a distributed         and the amount of data gathered letting further analysis more
    middleware to translate high-level task into individual              manageable. Probably, during the next few years, due to the
    component activities in an automatic way. In this context,           increase of the size and density of sensor networks these
    overlay knowledge networks are used to create regions and            advantages will quickly become determinant and every
    areas in a distributed systems allowing to suitably                  application will use some mechanisms where some sort of “in
    differentiate application execution disregarding individual          network” aggregation will be implemented natively.
    components’ activities.
3. Data Integration allows to integrate data from various
    sources (Web services and pervasive sensors) to offer
    application components an all-encompassing view of the
    operational environment (context). In this context, overlay
    knowledge networks are used to actually represent the
    integrated view that will be provided to application
    components.

In the next subsections we will present a survey of current
research initiatives in these areas, showing also how the
different areas themselves complements one another and
pursue from different perspective the same ultimate goals.
                                                                         Figure 3. A spanning tree is created in the sensor network
A. Data Aggregation and Retrieval                                        to route the collected data to a root node.
The main goal of a sensor network (and of the majority of
pervasive computing systems) is to collect data from the                 The work described in [Jel05] distinguishes reactive and
environment and to suitably present the data to application              proactive protocols for computing aggregate functions in a
components. For this reason several researches try to devise             sensor network.
mechanism to retrieve, collect and possibly aggregate data
form a sensor network. The most common approach to collect               x Reactive protocols try to respond on demand to queries
data from the network consists in deploying data collector                  injected by nodes. If the answer is found in some region of
(i.e., sink) nodes which subscribe to some type of data flowing             the network, it is routed directly to the issuer node (see
from sensing nodes about some particular phenomena. Once a                  Fig. 3). Examples of this approach are well described in
data collector is registered to the network, each node starts to            [IntG00, MadF02].
periodically send data to it. For example there may be a sink            x Proactive protocols continuously provide aggregated data
interested in receiving data from a particular region “A”                   using some function and aim to diffuse meaningful values
between 2pm and 6pm if the temperature in that zone exceed                  on every nodes in the networks in an adaptive way (see
50°. Each day, during the selected time frame, sensors which                Fig. 4). “Adaptive” means that if sensed values change
detect temperatures over the selected threshold will send data              over time, the output of the algorithm should track
to the sink. This is the simplest possible approach to retrieve             variations reasonably quickly. Proactive protocols are
data but has several disadvantages. In general since different              often useful when aggregation is used as a building block
sensor nodes detect the same phenomenon, it is likely that                  for completely decentralized solutions to complex tasks
there will be an high degree of redundancy in the data flowing              [Jel05].
to the sink from different sources. Moreover each node
located between a source and sink has to spend energy to




                                                                    45
The above computation of aggregate functions is a key
building block for many applications. In fact, aggregate data
can be regarded as a simplified view of the components
operational environment. Components may find simpler to
access the aggregate value rather than distill the individual
sensor readings.
Some examples of most used aggregated values are network
size, average load, average uptime, location and description of
hot spots, and so on. Local access to global information is
often very useful, if not indispensable for building
applications that are robust and adaptive. For example a fire
alarm system has to trigger an alarm if the average
temperature inside a building exceed a certain threshold or a            Figure 4. A gossip algorithms is run by nodes to aggregate
distributed storage system has to know the overall free space            data and report them back to an inquiring node.
over various device before processing a write() request. To
reach the goal of a local access to global network features we           In the next paragraph we briefly highlight some general
have mainly two choices.                                                 examples of either reactive and proactive algorithm
                                                                         applications.
x The first one consists of gathering on some sinks all the              Data aggregation and retrieval is at the basis of a number of
   (aggregated on not) sensor readings. After that we have to            relevant application in the context of pervasive computing and
   diffuse the global aggregated values into the overall                 sensor network. Currently the main application of sensor
   network. This approach is simple and straightforward but              networks is environmental monitoring. This application
   has several serious limitations. The main one is the poor             consist of deploying a suitable number of ad hoc wireless
   scalability. In fact as the network size grows, the amount            connected sensors in a region. Such devices periodically read
   of data that the sink has to manage become quickly                    some environmental properties and route the acquired data
   overwhelming.                                                         towards a base station that is in charge of gathering and
                                                                         storing them. A good example of this kind application has
x On the other side we can use gossip based aggregations
                                                                         been deployed on a natural reserve island in front of the
   methods [Jel05]. Using this kind of algorithm local sensor
                                                                         Maine coast [Pol06]. There a hundred of sensors collect data
   readings are not to be convoyed to a sink, but can stay on
                                                                         from the birds nest, monitoring their micro climate. The data
   sensors. The core of these protocols is a simple gossip-
                                                                         being collected are sent over the Internet and publicly
   based communication scheme in which each node
                                                                         available over the web.
   periodically selects some other random node to
                                                                         Another promising application, which has not yet been fully
   communicate with. During this communication the nodes
                                                                         developed, is object tracking. This activity consists of
   update their local approximate values by performing some
                                                                         recognize and subsequently track moving targets over a
   aggregation specific and strictly local computation based
                                                                         monitored field. To achieve this task sensors do not have to
   on their previous approximate values. After some
                                                                         collect massive amount of data to a central station for further
   iterations the local approximate value converge to the
                                                                         analysis, but the network have to process sensed information
   global value. The main advantages of these methods are
                                                                         and produce a simplified view of the physical world in which
   that they are simple, scalable and provide local access to
                                                                         the object being tracked is readily visible. This application has
   global values without any additional burden.
                                                                         been originally conceived in the military setting to drive
                                                                         vehicles in un-trusted areas. A promising new approach of this
The last reported feature is really important in our vision. In a
                                                                         application involves multi sensory tracking. With this
world full of sensors and actuators, users will need simple
                                                                         mechanism the same phenomenon can be recognized by
(i.e., aggregated) representations of the area of the network
                                                                         means of different sensory inputs. For example, a car reaching
where they will be immersed. Using traditional routing based
                                                                         a blind spot in a camera network could be tracked using sound
aggregation algorithm, due to their inherent “reactive” nature,
                                                                         sensors.
will require, for each query, the building of a dedicated tree
and to wait answers from an unknown number of sensors                    B. Macro Programming
(which will may be very high). Instead, using gossip based               A key challenge in pervasive computing is to provide
algorithm, any user will be able to get, without any additional          powerful programming models to facilitate the development
burden for the network, a simplified view of the area.                   of applications in dynamic and heterogeneous environments.
In general, the resulting aggregate value distributed across the         One of the main conceptual difficulties is that we have direct
network becomes an instance of overlay knowledge network.                control only on the agents’ local activities, while the
The overlay in fact extracts low level sensor reading to higher          application task is often expressed at the global scale
level concepts (i.e. aggregate values).                                  [Zam04]. Bridging the gap between local and global activities
                                                                         is not easy, but it is possible: distributed algorithms for
                                                                         autonomous sensor networks like the ones presented in the
                                                                         previous subsection have been proposed and successfully




                                                                    46
verified, routing protocols is MANET (in which devices                  a handle to) all the sensor in a given geographic region
coordinate to let packets flow from sources to destinations)            (described e.g. by its latitude and longitude). A low-level
have already been widely used. The problem is still that the            distributed middleware in then in charge to set-up suitable
above successful approaches are ad-hoc to a specific                    routing structures to actually address the proper sensors.
application domain and it is very difficult to generalize them          Abstract Regions (AR) [NewA04] is another macro
to other scenarios.                                                     programming approach to define regions in a sensor network.
One promising research initiative in this direction is macro            Rather than focusing on geographic regions like in Spatial
programming. The idea is to specify the global application              Programming, AR focus on network regions (e.g., x-hop
tasks to be achieved and leaving to a compiler or a distributed         neighbors, spanning tree and planar meshes). A high-level
middleware [HadM06, Nag02, NagM04] the tasks of mapping                 language allows to specify the network region, while low level
these global task into individual component activities. To              algorithm create the actual routing structure to handle the
build these languages there are two fundamental challenges:             proper nodes.
                                                                        Regiment is a functional macro programming [WelN04]
x devise a global language suitable for a relevant class of             language that generalize both the previous approaches.
   applications                                                         Regiment allows to define regions in the network able to
x devise a set of distributed algorithms to map the language            represent spatially distributed, time-varying collections of
   into the component activities.                                       node state. The programmer uses the language to express
                                                                        interest in a group of nodes with some geographic, logical, or
The above two tasks aim at hiding from the programmer low               topological relationship, such as all nodes within k radio hops
level details such as the heterogeneity and the scale of the            of some anchor node. A distributed middleware is then in
underlying network.                                                     charge to map the regions into suitable sensor-level
In the last few years a number of research initiatives                  coordination protocols. Similar approaches to define regions
addressing macro programming have been proposed in several              in a distributed system according to spatial and functional
application scenarios.                                                  characteristics have been presented in [BecH04]
In the Amorphous Computing project [Nag02], a macro-                    A more comprehensive survey of currently proposed macro-
programming language is used to control shape formation in a            programming languages can be found in [HadM06].
reconfigurable sheet composed of thousands of identically-              In general, all the reported macro-programming approaches
programmed, locally-interacting robotic agents. The desired             uses suitable overlay knowledge networks to control the
global shape is specified at an “abstract” level as a folding           distributed program. In most of the proposals, overlay
construction on a continuous sheet of paper (i.e., origami).            knowledge networks are used to define the regions where the
This construction is then automatically compiled to produce             components activities will be different. In Spatial
the program run by the identically-programmed agents. The               Programming, for example, the overlay knowledge network is
global language allows to define the regions where the sheet            represented by the data structure identifying the region where
has to fold, leaving to the compiler the identification of the          data should be collected by the application.
low level action needed to actually reconfigure (i.e., bend) the        To create complex, dynamic and flexible services, it is
robots.                                                                 mandatory to rely on general-purpose software infrastructure
Similar approaches for the control of shape and motion in a             facilitating the programming task. The ability to program a
modular robot (i.e. a collection of simple autonomous actuator          distributed system without explicitly and directly defining
with few degrees of freedom connected with each other) have             individual entities’ activities will be a fundamental asset in
been recently proposed [StoN04, WerB06]. In these                       this direction.
approaches a global description of the shape to be formed or            C. Data Integration
of the gait to be followed is provided to the robot, either by
representing the shape in some coordinate frame, or by                  Pervasive computing applications will be naturally integrated
adopting a description functionally specifying how the robot            with Web services and Internet resources. Not only Web
has to bend its actuators to move. Such a global description is         services will be a natural technology to access pervasive
then compiled into low level messages and actions to drive              applications remotely, but it could also provide further context
and coordinate the individual modules.                                  information to the pervasive device. For example, sensors
TinyDB [MadF02] and Cougar [YaoG02] provide a high-level                could get from the Internet the average temperature of the
SQL or XML-based query interface to sensor network data.                region they are in, and compare their sensor readings with that
The query is expressed by means of a high-level language                average. With this regard, we think that in the next future
indicating the data to be gathered in a declarative way. A              application will integrate together data coming from the
compiler translates the query into the low-level sensor                 Internet and data coming from the real world (sensors) and
activities needed for the creation of the proper data collection        actually merge it together in a coherent framework providing
and aggregation distributed algorithms.                                 advanced context-aware applications.
Spatial Programming (SP) [Bor04] is a macro programming                 In this context, overlay knowledge networks are used to merge
approach to program a sensor network. This approach allows              the collected data together, and to provide such data to
to define regions in the network adopting a high-level                  application components in a coherent view.
semantic. In SP, for example, it is possible to address (and get        A number of recent projects from different research
                                                                        communities (data mining, distributed systems, semantic Web,




                                                                   47
Web services, etc.) are tackling the challenge of data                    user movements and have them displayed on the map of the
integration across multiple providers.                                    visited place. Moreover, the support for RFID allows to access
One interesting research in this area is described in [PerP04].           likely-to-be-soon-available tourist information stored in RFID
The goal of this project is to develop a context-awareness                tags attached to art-pieces. From the diary perspective, this
system to detect and infer domestic activities performed by the           allows to store the visited art-pieces’ location together with
users. The proposed approach is to infer the activities of the            their description on the journey map. In addition, our service
user on the basis of the objects he touches. For example, by              could also provide with important logistic information. For
sensing that the user touches a “teapot”, some “teabags”,                 example, the action of reading the tag of the user’s car at a
“glasses” and “spoons”, the system can infer that the user’s              certain location triggers a new car-placemark on Google Earth
action is “making tea”. This kind of knowledge could be of                showing the actual position of the car. This allows the tourist
use in a number of smart-home scenarios. To implement such                to easily recall where the car has been parked.
an idea, the system relies on RFID tags associated to (and                Another service, allows multiple users to share their list of
identifying) everyday objects, and gloves integrated with                 placemarks and their current location. Again, this service can
RFID reader worn by the user. This allows the system to                   be employed in several scenarios, and we focused on
detect, rather naturally, what the user is touching.                      supporting a group of tourists cooperatively visiting a place.
This stream of data coming from pervasive devices requires                Such a situation applies to a class of students or to a group of
models of activities to detect what the user is doing. Such               boy-scouts, where each person can visit the place
models are automatically mined from the Web. In particular,               independently, while keeping in touch and sharing
the system connects to specific “How to” sites, describing                information with the other members. To this end the service
how to perform a specific activity, extracts the labels                   allows to share GPS data with other members and with the
associated to the object being used, and creates a Bayesian               group leader (e.g., the teacher may be in need of monitoring
network describing probabilistically the objects involvement              the location of all the students). Moreover, placemarks pointed
in the different activities. The model is finally, checked                by one person may be shared across al the group. This can be
against the data coming form the RFID reader to infer the                 useful to share opinions or interesting sightings, but also to
activities being carried on.                                              easily agree on some meeting points. For example, by sharing
In our opinion, this project is a perfect example of the fact that        placemarks, all the users can spot a suitable place (e.g., a pub)
pervasive and Web resources complement each other, and by                 that is in the middle of them and agree to meet there (see
integrating them, it is possible to obtain novel and powerful             Figure 5).
services.                                                                 Other approaches in this direction, developed by other
Another relevant approach is presented in [Eag03]. The goal               research groups, [PatL04] combine GPS data and maps to
of this work is to infer users context by capturing their speech.         create a probabilistic model of the user activities. This
The voice of the user is record by a PDA carried on by the                approach allows to the system to learn the user motion routine
user. The voice signal is sent over a wireless network to a               (e.g., where does he go, where does he park the car, etc.) and
server that process the signal and transcribes the speech. The            possibly to check anomalies against the learned trend.
server connects to a Web service called Concept Net [Liu04]                                                         file1.kml
that is based on a knowledge network describing common-                                    
sense activities. Concept Net is, in fact, a huge repository of                            
                                                                                           

commonsense sentences (e.g., you’d order food in a New Y ork C ity restaurant) and a suitable API to access and mine the Ne w Yor k Cit y repository.

-74.0 06393 ,40.7 14172 ,0 By providing ConceptNet with the speech transcription, the service is able to infer the most likely context for the user. For example, the speech: “Hi, today I’m going to have a cheeseburger and a beer” would let ConceptNet infer that the View KML on the Web. Reload user context is “ordering food at a resturant”. Such the file to see any change information is then sent back to the PDA for further actions. Another interesting mechanism to combine sensor data and Web information involves the usage of GPS as sensors and Web-retrieved maps from open GIS-tool like Google Earth (http://earth.google.com). In [Cas06], we describe two services in this direction. A first service allows a user equipped with a RFID reader and a GPS device to see his RFID Reader actual location and past movements, and to dynamically create Figure 5. Integration of GPS data and Web maps. Google Earth placemarks of the tagged objects being read with the RFID reader at the right location. This service can be Finally, another source of information that researchers are fruitfully employed in a number of situations. In particular, we trying to integrate is that coming from images widely focused on the scenario in which a tourist wants to available and tagged by services like Flickr (www.flickr.com). automatically build and maintain a diary of his journey. To The idea at the core of some recent researches is to try to this end, the proposed service allows to keep track of all the match pictures taken from cameras with those available on the 48 Internet. This would allow to get information about objects information in a general way? How can we retrieve and access without the need of tagging them artificially. For example, the such huge amount of knowledge? Which kind of autonomic image of a tower taken by a camera phone could be matched algorithms should we enforce to add robustness and self- against a data base of images to properly recognize it as the organization properties to those systems? Pisa leaning tower [Jia06]. Our future research within the CASCADAS European project All the above examples show rather clearly that the approach will try to address some of these questions. of integrating resources and data from pervasive systems and Web resources in a promising research avenue. REFERENCES [Bal06] H. Balakrishnan, S. Madden, V. Bychkovsky, K. Chen, W. Daher, M. IV. CONCLUSIONS Goraczko, H. Hu, B. Hull, A. Miu, E. Shih, "CarTel: A Mobile Sensor Computing System", MIT CSAIL Report, 2006. In this paper we presented our vision for next future pervasive [BeaB06] J. Beal, J. Bachrach, "Infrastructure for Engineered Emergence on computing systems. In our opinion, these systems will be Sensor/Actuator Networks", IEEE Intelligent Systems, 21(2):10- general purpose and users will be able to install and execute 19,2006 applications both on their private pervasive computing [BecH04] C. Becker, M. Handte, G. Schiele, K. Rothermel, “PCOM - A Component System for Pervasive Computing”, IEEE infrastructure (e.g., in smart home scenarios), and in publicly International Conference on Pervasive Computing and available ones (e.g., citywide infrastructures offering tourist Communications, Orlando (FL) ,USA , 2004. information and services). Given the extreme heterogeneity of [Bor04] C. Borcea, D. Iyer, P. Kang, A. Saxena, L. Iftode, "Spatial this scenario, its inherent dynamism and – most importantly – Programming using Smart Messages: Design and Implementation", International Conference on Distributed the incredible amount of data the system will be able to Computing Systems, Tokio, Japan, 2004. produce, applications will be required to match and comply [Bor05] G. Borriello, “RFID: Tagging the World”, Communication of the those characteristics. Applications will have to autonomously ACM, ACM Press, 48(9):34-79, 2005. adapt their behavior to different circumstances ranging from [But06] D. Butler, “2020 Computing: everything, everywhere”, news@nature.com, 22 March 2006. the scale of the pervasive network, to the privacy-level being [Cas06] G. Castelli, M. Mamei, A. Rosi, F. Zambonelli, “Browsing the requested by the users. To achieve such a flexibility World: bridging pervasive computing and the Web”, applications will have to be highly context-aware (to International Workshop on Ubiquitous Geographical Information meaningfully interact with their environment) and autonomic. Services, Munster, Germany, 2006. [Chu06] C. Park, P. Chou, Y. Sun, “A Wearable Wireless Sensor Platform To this end, they will be able to gather relevant context for Interactive Art Performance”, IEEE International Conference information both from the pervasive network sensing the on Pervasive Computing and Communications, Pisa, Italy, 2006. environment and from global-accessible Internet services. We [CurG05] C. Curino, M. Giani, M. Giorgetta, A. Giusti, A. Murphy, G. also introduced how considering the system as composed of a Picco, “TinyLIME: Bridging Mobile and Sensor Networks through Middleware”. IEEE International Conference on “continuum” of sensors and devices, rather than a discrete Pervasive Computing and Communications, Kauai Island, HW collection of them, may provide useful ideas and abstractions (USA), 2005. to deal with the above challenges. [Dan06] W. Daniel, T. Pintaric, F. Ledermann, S. Dieter, "Towards In addition, we presented the key mechanisms and researches Massively Multi-User Augmented Reality on Handheld Devices", International Conference on Pervasive Computing, trying to fulfill the above vision: Munich, Germany, 2005. [Dob07] S. Dobson, S. Denasiz, A. Fernandez, D. Gaiti, E. Gelenbe, F. x Retrieve and aggregate data will provide developers with Massacci, P. Nixon, F. Saffre, N. Schmidt, F. Zambonelli, "A advanced tools to get data from a distributed system in an Survey of Autonomic Communications", ACM Transactions on Autonomous and Adaptive Systems, ACM Press, to appear, efficient way. 2007. x Macro Programming a distributed system deals with [Eag03] N. Eagle, P. Singh, and A. Pentland, “Common sense conversations: programming a distributed system without explicitly understanding casual conversation using a common sense defining single entities activities, but letting a compiler or database”. Workshop on Artificial Intelligence, Information Access, and Mobile Computing, Acapulco, Mexico, 2003 distributed middleware to translate high-level task into [Eag05] N. Eagle and A. Pentland, "Social Serendipity: Mobilizing Social individual component activities. This will allow Software", IEEE Pervasive Computing, IEEE CS Press, 4(2):28- developers to design systems composed of a huge number 34, 2005. of components that will be able to carry on complex [Esp01] F. Espinoza, P. Persson, A. Sandin, H. Nystrom, E. Cacciatore, M. Bylund, "GeoNotes: Social and Navigational Aspects of coordinated activities. Location-Based Information Systems", International Conference x Integrate data gathered from various sources allows to offer on Ubiquitous Computing, Atlanta (GE), USA, 2001. application components a coherent view of their context. [HadM06] S. Hadim, N. Mohamed,"Middleware Challenges and Approaches for Wireless Sensor Networks", IEEE Distributed Systems Online, 7(3), 2006. In particular, we tried to present how the concept of overlay [HarK05] R. Hariharan, J. Krumm, E. Horvitz, "Web-Enhanced GPS", knowledge networks may be at the basis of most of the International Workshop on Location and Context Awareness, proposal, and how overlay knowledge network may represent Munich, Germany, 2005. a framework to develop applications in future pervasive [HigB01] J. Hightower, G. Borriello, "Location Systems for Ubiquitous Computing", IEEE Computer, IEEE CS Press, 34(8):57-66, computing scenarios. 2001. In our opinion, these researches are only at the beginning of [IntG00]C. Intanagonwiwat, R. Govindan and D. Estrin, “Directed diffusion: addressing satisfactorily the requirements of future scenarios A scalable and robust communication paradigm for sensor and several questions remain open: How to represent context 49 networks”, International Conference on Mobile Computing and [PatL04] D. Patterson, L. Liao, K. Gajos, M. Collier, N. Livic, K. Olson, Networking, Rome, Italy, 2000. S. Wang, D. Fox, H. Kautz, “Opportunity Knocks: a System to [Jel05] M. Jelasity, A. Montresor, O. Babaoglu, “Gossip-Based Aggregation Provide Cognitive Assistance with Transportation Services”, in Large Dynamic Networks”, ACM Transaction on Computer International Conference on Ubiquitous Computing, Tokyo, Systems, ACM Press, 23(3):219-252, 2005. Japan, 2004. [Jia06] M. Jia, X. Fan, X. Xie, M. Li, W. Ma, "Photo-to-Search: Using [PerP04] M. Perkowitz, M. Philipose, D. Patterson, K. Fishkin. “Mining Camera Phones to Inquire of the Surrounding World", Models of Human Activities from the Web”. International World International Conference on Mobile Data Management, Nara, Wide Web Conference, New York (NY), USA, 2004. Japan, 2006. [Pol06] J. Polastre, R. Szewcyk, A. Mainwaring, D. Culler, J. Anderson, [Jon01] C. Jones, K. Sivalingam, P. Agrawal, J. Chen, "A Survey of "Analysis of Wireless Sensor Networks for Habitat Monitoring", Energy Efficient Network Protocols for Wireless Networks", Wireless Sensor Networks, Kluwer Academic Publishers, 2004. Wireless Networks, Kluwer Academic Publisher, 7(4):343-358, [Rie06] M. Rieback, B Crispo, A. Tanenbaum, “Is Your Cat Infected with a 2001. Computer Virus?”, IEEE International Conference on Pervasive [JonG05] Q. Jones, S. Grandhi, “P3 Systems: Putting the Place Back into Computing and Communications, Pisa, Italy, 2006. Social Networks”, IEEE Internet Computing, IEEE CS Press, [Sat05] I. Satoh, “A Location Model for Pervasive Computing 9(5):38-46, 2005. Environments”, Proceedings of IEEE International Conference [JRDMS] James Reserve Data Management System, on Pervasive Computing and Communications, Kauai Island, http://dms.jamesreserve.edu HW (USA), 2005. [LegT06] C. Legner, F. Thiesse, “RFID-Based Facility Maintenance at [ShrP04] Nisheeth Shrivastava, Chiranjeeb Buragohain, Divyakant Agrawal Frankfurt Airport”, IEEE Pervasive Computer, IEEE CS Press, and Subhash Suri, “Medians and Beyond: New Aggregation 5(1):34-39, 2006. Techniques for Sensor Networks,” ACM Conference on [Liu04] H. Liu, P. Singh, "ConceptNet: A Practical Commonsense Embedded Networked Sensor Systems (SenSys 2004), 2004. Reasoning Toolkit", BT Technology Journal, Kluwer Academic [Sri06] M. Srivastava, M. Hansen, J. Burke, A. Parker, S. Reddy, G. Publishers, 22(4):211-226, 2004. Saurabh, M. Allman, V. Paxson, D. Estrin, “Wireless Urban [MadF02] S. Madden, M. Franklin, J. Hellerstein, W. Hong. "TAG: A Tiny Sensing Systems”, CENS Technical Report #65 , 2006. AGgregation Service for Ad-Hoc Sensor Networks", Symposium [StoN04] K. Stoy, R. Nagpal, "Self-Reconfiguration Using Directed Growth", on Operatign Systems Design and Implementation, Boston (MA) International Symposium on Distributed Autonomous Robotic ,USA, 2002. Systems", Toulouse, France, 2004. [MamQZ06] M. Mamei, R. Quaglieri, F. Zambonelli, “Making Tuple Spaces [Wan04] R. Want, “Enabling Ubiquitous Sensing with RFID”, IEEE Physical with RFID Tags”, ACM Symposium on Applied Computer, IEEE CS Press, 37(4):84-86, 2004. Computing, Dijon, France, 2006. [Wan06] R. Want, “An Introduction to RFID Technology”, IEEE [MamZ05] M. Mamei, F. Zambonelli, “Physical Deployment of Digital Pervasive Computer, IEEE CS Press, 5(1):25-33, 2006. Pheromones Through RFID Technology”, IEEE Swarm [WelN04] M. Welsh, R. Newton, "Region streams: functional Intelligence Symposium, Pasadena (CA), USA, 2005. macroprogramming for sensor networks", International [Nag02] R. Nagpal, "Programmable Self-Assembly Using Biologically- Workshop on Data Management for Sensor Networks, Toronto, Inspired Multiagent Control", Joint Conference on Autonomous Canada, 2004. Agents and Multi-Agent Systems, Bologna, Italy, 2002. [WerB06] J. Werfel, Y. Bar-Yam, D. Rus, R. Nagpal, "Distributed [NagM04] R. Nagpal, M. Mamei, "Engineering Amorphous Computing construction by mobile robots with enhanced building blocks", Systems", Methodologies and Software Engineering for Agent International Conference on Robotics and Automation, Orlando Systems, Kluwer Academic Publishing, 2004. (FL), USA, 2006. [NatR06] B. Nath, F. Reynolds, R. Want, “RFID Technology and [WerL06] G. Werner-Allen, K. Lorincz, M. Ruiz, O. Marcillo, J. Johnson, Appliations”, IEEE Pervasive Computing 5(1):22-69, 2006. J. Lees, M. Welsh, “Deploying a Wireless Sensor Network on an [NewA05] R. Newton, Arvind, M. Welsh, "Building up to Active Volcano.”, IEEE Internet Computing, IEEE CS Press, Macroprogramming: An Intermediate Language for Sensor 10(2):18-25, 2006. Networks", International Symposium on Information Processing [YaoG02] Y. Yao, J. Gehrke, "The Cougar approach to in-network query in Sensor Networks, Los Angeles (CA), USA, 2005. processing in sensor networks", ACM Sigmod Record, ACM Press, 31(3):9-19, 2002. [Zam04]F. Zambonelli, V. Parunak, "Towards a Paradigm Change in Computer Science and Software Engineering: a Synthesis", The Knowledge Engineering Review, 18(4), 2004. 50