Using smart objects as the buildings blocks of pervasive
Hellenic Open University &
Computer Technology Institute
Awareness systems are a class of computer mediated
communication systems that help individuals or groups
build and maintain a peripheral awareness of each other.
Traditionally awareness systems have been studied at the
workplace, with awareness of co-workers being a useful
by-product of rich media interconnections between them.
Awareness systems for informal social use are still in their
infancy as a technology and as a research area. Such
systems promise to address pressing social problems:
elderly living alone, families living apart for large parts of
the working week, monitoring the well being of an ill
relative, etc. The ASTRA platform, which is being
developed in the context of the EU research project
ASTRA, provides a generalized solution to the
development of awareness applications that are based on
the concept of pervasive awareness, i.e., where awareness
information is automatically generated as a result of using
personal and home devices and smart objects, which
capture and exchange information about the user semi-
autonomously. In this paper, we shall present how smart
objects in a person’s environment can be used to capture
and convey awareness information under this person’s
Ubiquitous computing, smart objects, awareness systems,
service oriented architecture
Pervasive awareness systems are a class of computer
mediated communication systems that help individuals or
groups build and maintain a peripheral awareness of each
other. Traditionally awareness systems have been studied at
the workplace , with awareness of co-workers being a
useful by-product of rich media interconnections between
them. Awareness systems for informal social use are still in
their infancy as a technology and as a research area. Such
systems promise to address pressing social problems:
elderly living alone, families living apart for large parts of
the working week, monitoring the well being of an ill
relative, etc. 
An approach for conceptualization of awareness systems in
the current domain research proposes the description of the
awareness in reference of the activities that a person is
made aware of . Based on this approach, Metaxas and
Markopoulos  introduced an abstract formal model of
awareness systems that incorporates related concepts and
supports reasoning regarding social aspects of using
awareness systems. Their model draws the basic notions of
focus and nimbus by the work of Rodden et al. , who
applied them in a spatial model of group interaction, in
order to address mutual levels of awareness within a virtual
environment. Early works in the domain of informal social
communication like the concepts developed by the
Presence project  or the Casablanca project  were
created as installations that users could use as they were.
The ASTRA platform, which is being developed in the
context of the EU research project ASTRA , provides a
generalized solution to the development of awareness
applications that are based on the concept of pervasive
awareness, i.e., where awareness information is
automatically generated as a result of using personal and
home devices and smart objects, which capture and
exchange information about the user semi-autonomously.
The ASTRA platform and the assorted end-user tools
implement the principles of Theory of Connectedness, an
extension to the focus - nimbus model. Briefly, focus
represents a sub-space within which a person focuses their
attention, while nimbus represents a sub-space across
which a person makes their activity available to others.
In this paper, we shall present how smart objects in a
person’s environment can be used to capture and convey
awareness information under this person’s control. In the
next section, we shall give the basic approach and notions
we use in order to represent the problem domain. Then, we
shall describe how the solution to the problem is support
with ubiquitous computing technology and provide an
example scenario using the proposed technology.
Copyright is held by the authors.
UbiComp '08 Workshop <Workshop 4:
esign and Integration Principles
or Smart Objects (DIPSO 2008)>
September 21st, 2008
Ubicomp '08 Workshop 4: Design and Integration Principles for
Smart Objects (DIPSO 2008), September 21, 2008, Seoul, Korea.
Copyright is held by the author/owner(s).
BASIC MODELLING FRAMEWORK
In order to support the development of awareness
applications, we consider that people conduct their
activities within an ambient intelligence space using smart
objects and that it is possible to access and combine the
services offered by these objects. Our approach is based on
the following concepts (Figure 1):
! AmI space: An AmI space is to a physical space the
same as to that what an artifact is to an object. To be
more precise, an AmI space embeds sensing, actuating,
processing and networking infrastructure in a physical
(usually closed) space and offers a set of digital
! Artifacts: An artifact is a tangible object augmented
with computation and communication capabilities. Its
properties and services are digitally expressed.
! Services: These are offered by an artifact or the AmI
space. They could be considered as virtual artifacts.
! Ambient Ecology: It is the set of artifacts contained in
an AmI spaces and services offered therein; artifacts
may be connected, thus offering more complex
! Plugs: They are the interface of an artifact and
constitute an expression of its properties, capabilities
and services recognizable by other artifacts or services.
! Synapses: They are associations between two
compatible plugs. When a property of a source artifact
changes, the new value is propagated through the
synapse to the target artifact. The initial change of
value caused by a state transition of the source artifact
causes finally a state transition to the target artifact. In
that way, synapses are a realization of the functional
context of the artifact.
! Spheres: An activity sphere is deployed over the
Ambient Ecology of an AmI space and uses its
resources (artifacts, networks, services etc) to serve a
specific goal of its owner. It usually consists of a set of
interrelated tasks; the sphere contains models of these
tasks and their interaction. The sphere instantiates the
task models within the specific context composed by
the capabilities and services of the container AmI
space and its contained artifacts. In this way, it
supports the realization of concrete tasks.
AN EXAMPLE OF AMBIENT ECOLOGIES
Consider the following scenario:
Students of the Distance Education University (DEU)
usually live in disparate locations all over the country. Each
of them has his personal matters, but they all have in
common their studies at DEU. Punch and Judy are two
students of the “Software Design” Teaching Unit; in the
past week they have been collaborating in order to study
and submit a common project.
Punch is 33 years old, single, working hard and
overcommitted. He lives in Athens and likes technology
and is keen on using new gadgets he discovers in the shops.
Judy is a 27-year old single woman, who lives in a small
apartment in Santorini. She is a travel agent, likes natural
products and dislikes technology. Both have installed in
their smart homes an Ambient Ecology to support their
Figure 1. The concepts of artifact, plug and synapse
Punch’s Study sphere consists of the following artifacts:
eBook, eChair, eDeskLamp and eDesk. The eDesk can
sense light intensity, temperature, weight on it, and
proximity of a chair. The eChair can tell whether someone
was sitting on it. The eDeskLamps can remotely be turned
on and off. The eBook can tell whether it is open or closed
and determine the amount of light that falls on it. Collective
artifact operation is accomplished by establishing synapses
between the constituent artifacts, in order to realize the
When this CHAIR is NEAR the DESK
ANY BOOK is ON the DESK,
SOMEONE is sitting on the CHAIR
The BOOK is OPEN
TURN the LAMP ON.
On the contrary, Judy’s sphere is rather simple and only
uses the services of an eClock, an eLamp and a
PictureFrame. Whenever she starts her study, she sets the
eClock timer to 90’ and connects it to the eLamp; after 90’,
the eClock alarm goes off (without making any sound, of
course) and forces the eLamp to flash two times, via their
AWARENESS SYSTEM AND APPLICATIONS
The purpose of an awareness application is to convey a
person’s condition, need or want to a community of users
who have subscribed to this application. Usually, an
awareness application is developed by a person, who
subsequently publishes it to a community, or invites people
to subscribe to it.
To the ambient ecology concepts described above we add
two basic concepts that originate from modeling of
! Focus: A person’s focus is the set of conditions,
situations or events that this person is interested in. A
person’s focus may include another person’s nimbus. It
is modeled as a set of events that happen in this
person’s AmI space.
! Nimbus: A person’s nimbus is the set of conditions,
situations or events that this person makes public, i.e.
makes them available to become part of some other
persons’ focus. A person may interact with his nimbus
by causing events in his AmI space.
Consider a very simple example. Suppose that Punch every
now and then likes to go to the local pub, particularly when
he doesn’t feel like studying, but he hates going out alone.
So he has created a simple awareness application that he
calls “out to the pub” and he has invited his friends to join
An awareness application can be considered as a set of
conditions and events that convey specific meaning to a
defined community of persons. So, regarding the “out to
the pub” application. Punch has created some rules which
signify when he wants to activate this application; for
example, he wants to go out when he is not studying or not
sleeping or not cooking, but he does not want to go out
when he has company at home. His friends have done the
same; of course, each person can create his own rules that
activate this application.
So, in order to define an awareness application, a person
! Provide a short textual description of the application
and describe its various instances
! Define the conditions that trigger the application – this
is his nimbus
! Define the other persons he wants to be aware of this
application – they have to include this applications in
So a community is the set of persons that a person allows to
have access to his nimbus.
Note that a person may subscribe to an awareness
application published by another person. In this case, he
has to include this application to his focus.
Based on this framework, we then describe a ubiquitous
computing awareness application as an activity sphere,
which is instantiated on the ambient ecologies in the
different AmI spaces of the various application users .
Each instantiation makes use of the different resources in
each AmI space and of the artifacts in each ambient
ecology and is realized as a set of synapses between the
artifacts and the provided services into the AmI space. In
order to manipulate their focus, nimbus and awareness
applications, people use the artifacts in the AmI space.
In order to support the realization of ubiquitous awareness
applications, we have developed a two-tier architecture in
! A centralized remote server is used to store the
awareness application descriptions and the community
! Local (user) servers are used to support the
instantiation of focus and nimbus.
The ASTRA server runs the ASTRA platform, which
provides different end-user services and is responsible for
integrating system services, such as ontology manager and
service discovery. The platform adopts a Service Oriented
Architecture (SOA) and makes its resources available as
independent services that can be accessed without
knowledge of their underlying platform implementation.
The platform offers:
! Awareness services: These services provide awareness
information and are built on the services at the lower
! Collaborative services: These services are providing
abstractions that are relevant to the users when they are
developing awareness applications, such as users,
communities, and places.
! Technical services: These services are necessary to
support, e.g. the discovery and composition of
services, both at run time and during end user
The ASTRA platform uses TCP/IP networking and Web
Service interfaces for the SOA components. A open-source
OSGi implementation called Knopflerfish was chosen for
ASTRA. OSGi was chosen due to its very elegant and easy
way of deploying services.
The Awareness Manager supports users in controlling
incoming and outgoing awareness information (i.e. their
focus and nimbus). It is based on a realization of the
publish/subscribe model . People who subscribe to the
same awareness application are regarded as a virtual
community. When an event is published by a peer in the
community, all the other subscribers are notified.
The Community Manager provides representation and
management of communities of users of awareness
applications. This module stores centrally information
about the addresses and profiles of the community
members, and directly cooperates with aAwareness
The local subsystem is built upon GAS and uses GAS-OS
as the supporting middleware. We have designed the
Gadgetware Architectural Style (GAS) as a generic
architectural style for activity spheres . GAS adopts the
principles of software component technology and service
oriented architectures and applies these to the domain of
ubiquitous computing, in order to describe the process
whereby people configure and use complex collections of
interacting artifacts . Thus, a component in the
ubiquitous computing domain is an artifact, physical or
digital, which is independently built and delivered as an
autonomous functional unit that offers interfaces by which
it can be connected with other components to compose a
larger system, without compromising its shape or
functionality. The above definition emphasizes the fact that
any sphere component provides its functionality in the form
of well-defined services; these are accessible via interfaces.
Each artifact in a person’s AmI space runs the GAS-OS
middleware . This enables the discovery of artifact
services by the end-user tools and their composition in the
context of awareness applications. The GAS-OS
middleware provides ubiquitous computing application
designers and developers with a runtime environment that
can execute the activity task models, as they are
instantiated on the artifacts that exist in a specific AmI
space. It provides the necessary communication layer as
well as the abstraction layer (interaction model) that
enables an artifact to collaborate with other artifacts and
take part in activity spheres .
An ASTRA user has to define how his focus and nimbus
will be realized within an AmI space. For example, Punch
has to describe the rules that trigger the awareness
application “out to the pub” and also those rules that help
the local system deduce his current condition. These rules
are defined using the services and states of artifacts in the
AmI space. So, Punch could define a rule stating that
“when I am not working and it is Sunday evening and I
switch my TV set off, then I want to go to the pub”. The
information necessary for the system to evaluate this rule
can be gathered as follows:
! Not working: this information describes Punch’s
current condition; it can be received from a central
“point of intelligence” in the house, or deduced as a
result of a different set of rules, the description of
which lies outside the scope of this paper
! Sunday morning: this piece of context refers to time
and can be received from a calendar service of the AmI
! TV set off: this other piece of context can be directly
retrieved from the artifact TV set, which is part of the
ambient ecology in Punch’s home
When this rule fires, then an event is sent by the local
ASTRA subsystem to the ASTRA server. This event is
associated with the “out to the pub” awareness application
and is propagated to all of its subscribers by the Awareness
In a similar manner, Punch can define rules describing how
he wants to be notified of events that are caused by the
other subscribers in the “out to the pub” application.
Examples of such rules are: “when I am in the living room,
and the TV set is on display a message on the TV screen,
otherwise flash the floor lamp twice”, or “when I am in the
kitchen, show message in the photo frame”, etc.
Using the GAS approach, people can define their focus or
nimbus using artifact combinations. In GAS terms, this
means that the system or the user has to look for the
artifacts that have properties matching the task
requirements, select the most appropriate ones and combine
the respective plugs into functioning synapses. In the above
example, Punch has to create a synapse between the day
plug of an artifact calendar and the on/off plug of the TV
The ASTRA end user tools use a web interface and connect
to the ASTRA platform via a specific API. The tools
support user management, rule editing, and application
management, in a way that semantically relates to the focus
/ nimbus model, albeit using of a more familiar terminology
for end users (Figure 2).
The SOAP protocol has been chosen for communication
and data exchange between ASTRA tools and ASTRA
platform. SOAP is a simple XML based protocol to let
applications exchange information over HTTP. It is an
open standard maintained by the World Wide Web
Consortium – W3C. ASTRA tools implement a SOAP
client using PHP SOAP extension. The ASTRA platform
exports its methods as SOAP web services. The tools
interface is written in XHTML 1.0 Strict, a W3C
Recommendation that is compatible with HTML 4.01 and
it is supported by all modern web browsers.
The tools contain the following interlinked modes:
Awareness Connections manager (where the user can
define their Focus or Nimbus), Pervasive Application
manager (where the user can associate their awareness
focus or nimbus to a ubiquitous awareness application), and
User and Communities manager.
The approach taken in the ASTRA project, when scaled up,
has the risk of imposing a heavy semantic load to the user,
as he will have to be able to distinguish between various
notifications that he will receive and interpret correctly the
different events they represent. An obvious solution to this
is to use the screens that are available in the ambient
ecology (i.e. TV set, mobile, PDA etc) to display
semantically rich textual messages, or to use voice
synthesis to explain the meaning of the notification. Both
these approaches, however, are intrusive, in the sense that
they will require the person to shift his attention to the
event. A more complicated approach that we are looking
into in the project is to use ontologies to create semantically
rich descriptions of events and services and then use user-
defined policies to deal with conflicts of event
interpretation. For example, when the notifications for two
events from different awareness applications are similar,
then more detailed information has to be conveyed, so as
the person can distinguish between them.
Figure 2. Sample ASTRA end user tools
AN EXAMPLE AMBIENT AWARENESS APPLICATION
Now we shall develop the previous example, so as to use
the ambient ecology to convey awareness information:
DEU offers to its students a set of services in order to
improve their communication and collaboration, but also
aiming to create among them the sense of a community.
These services include a forum for exchanging ideas, e-
mail accounts and access to teleconferencing facilities.
However, these services are hardly a match for the need of
students to feel everyday that they are part of a community,
that they are not alone in their endeavor. Recently, DEU is
offering an awareness service based on the ASTRA
platform for a trial period of one academic year to the
student of one specific teaching unit. The ASTRA platform
enables subscribed users to form communities and to
exchange awareness information and applications between
the members of a community.
Punch and Judy have taken advantage of the new DEU
service (of course, it was Punch who had the idea; he
managed to convince Judy by promising that he would
configure her side of the application as well as his). So,
Punch created a DEU Study awareness application and
Judy subscribed to it. Punch included in his Nimbus the
Now Reading state of his sphere and Focused his system on
Judy’s Reading state. On the other hand, Judy included in
her Nimbus the state of her eClock and her PictureFrame;
her Focus was set on Punch’s Now Reading state.
In Punch’s side, whenever he turns on his Study sphere, as
his eLamp is switched on, his awareness system sets the
value of his Now Reading state in his Nimbus. The ASTRA
system communicates Punch’s Nimbus to Judy. Judy has
Focused on Punch’s Now Reading state, and has connected
it to her PictureFrame; whenever it changes, her eLamp
flashes and Punch’s picture appears. In parallel, as Punch
has set his Focus on Judy’s Reading state, whenever she
takes a break (as a result of her eClock’s timer reaching
zero), his eLamp flashes. Figure 3 shows the awareness
system described in the example.
In this paper, we have presented a novel service oriented
architecture that supports the composition and management
of ubiquitous computing awareness applications. The aim
of this class of applications is to support communication
among people without interfering with their task-at-hand.
The architecture presented uses smart objects in the
person’s space as conveyors of this person’s awareness
condition or want. The person can configure these objects
using special end user tools, which support the discovery of
artifact services and their combination in a simple way, as
well as the definition of awareness applications using first-
order logic rules on these services.
A two tier system has been developed to support this
service: in the person’s local space, interaction among
smart objects is achieved with the use of GAS principles;
these allow the integration of artifacts running specialized
middleware GAS-OS, or other commonly available
systems, such as UPnP. In the server side, the specialized
ASTRA platform was developed, which offers services for
the management of applications and user communities.
Research on ASTRA project continues in order to evaluate
and improve the concepts and tools presented in the paper.
The described work has been partially supported by EU
FP6 IST STREP project ASTRA (Awareness Services and
Systems – Towards theory and ReAlization), under Grant
agreement No. 29266.
1. ASTRA IST/FET Open project, available in
2. Dourish, P. and Belloti, V., Awareness and
Coordination in Shared Workspaces. In Proc. CHI 92.
3. Drossos, N., Goumopoulos, C., and Kameas, A., A
conceptual model and the supporting middleware for
composing ubiquitous computing applications. Journal
of Ubiquitous Computing and Intelligence, American
Scientific Publishers, 1(2), 1-13.
4. Drossos, N. and Kameas, A., Building composeable
smart objects. In Proc. DIPSO 2007.
5. Eugster, P., Felber, P., Guerraoui, R. and Kermarrec, A.,
The many faces of publish/subscribe. ACM Computing.
Surveys, 35, 114–131.
6. Gaver, W. and Hooker, B., The Presence Project.
London, RCA: CRD Publishing
7. Hindus, D., Mainwaring, S. D., Leduc, N., Hagström,
A. E., and Bayley, O., Casablanca: designing social
communication devices for the home. In Proc. CHI 01.
8. IJsselsteijn, W.A., van Baren, J., and van Lanen, F.,
Staying in touch: Social presence and connectedness
through synchronous and asynchronous communication
media. In Proc. HCII 2003 volume 2.
9. Kameas, A., Bellis, S., Mavrommati, I., Delaney, K.,
Colley, M., and Pounds-Cornish, A., An Architecture
that Treats Everyday Objects as Communicating
Tangible Components. In Proc. PerCom03.
10.Kameas, A., Mavrommati, I. and Markopoulos, P.,
Computing in tangible: using artifacts as components of
Ambient Intelligent Environments. In Riva, G.,
Vatalaro, F., Davide, F. and Alcaniz, M. (eds) Ambient
Intelligence, IOS Press, 121-142.
11.Metaxas, G., and Markopoulos, P., Aware of what? A
formal model of Awareness Systems that extends the
focus-nimbus model. In Proc. EIS 2007.
12.Rodden, T., Populating the Application: A Model of
Awareness for Cooperative Applications. In Proc.
13.Schmidt, K., The problem with “awareness”:
Introductory remarks on “awareness in CSCW”. In
Proc. CSCW 2002.
14.Zaharakis I. D. and Kameas A. D., Emergent
Phenomena in AmI Spaces”. The EASST Newsletter,
Volume 12 (March 2006 / No. 2006 - 12), pp. 82-96.
Figure 3. The awareness system of the example