Open Reflective Infrastructure for Open Networks (ORION)
November 12th 2007
Av. Blanco Encalada 2120, Auditorio cuarto piso.
Departamento de Ciencias de la Computación, Universidad
The last two years the DCC has been collaborating with
the PROG lab of the Vrije Universiteit Brussel (Belgium)
under the ORION project. ORION brings together researchers
in the domain of programming language design and reflection,
to propose language features for open networks of mobile
You are cordially invited to attend the ORION seminar,
which is intended to disseminate and discuss the research
performed that was facilitated by the project. The seminar
will be held on monday nov. 12th in the fourth floor auditorium
of the Computer Science Department (Av. Blanco Encalada
2120), and will be in English.
12:00-13:00 Tom Van Cutsem (VUB): AmbientTalk:
Object-oriented Event-driven Programming in Mobile Ad hoc
14:00-14:30 Elisa Gonzales Boix (VUB):
Language constructs for Leasing in Mobile Ad hoc Networks.
14:30-15:00 Johan Fabry (UChile): Abstracting
connection volatility through tagged futures.
15:00-15:30 Tom Van Cutsem (VUB): Ambient
References: Addressing objects in Mobile Ad hoc Networks.
15:30-16:00 Victor Ramiro (UChile): Proximity
is in the Eye of the Beholder: A Conceptual Framework.
Abstracts of the talks:
AmbientTalk: Object-oriented Event-driven Programming
in Mobile Ad hoc Networks
We describe AmbientTalk: a domain-specific language for
orchestrating service discovery and composition in mobile
ad hoc networks. AmbientTalk is a distributed object-oriented
language whose actor-based, event-driven concurrency model
makes it highly suitable for composing service objects across
a mobile network. The language is a so-called ambient-oriented
programming language which treats network partitions as
a normal mode of operation. We describe AmbientTalk's object
model, concurrency model and distributed communication model
in detail. We also highlight influences from other languages
and middleware that have shaped AmbientTalk's design.
An introductory presentation of the language will be followed
by a coding session demonstrating that AmbientTalk/2 is
a practical language that can be used to glue together Java
applications running across wirelessly connected phones
and PDAs, running on top of the Java J2ME platform. In this
live programming session we develop a tiny yet functional
distributed application for mobile devices from scratch.
Along the way, we highlight AmbientTalk/2's language constructs
for event-driven concurrent and distributed programming.
Language constructs for Leasing in Mobile Ad hoc Networks
In mobile ad hoc networks, distributed programming is
substantially complicated by the intermittent connectivity
of the devices in the network and the lack of any centralized
coordination facility. Because transient disconnections
are omnipresent in mobile networks, remote object references
are expected to abstract over network disconnections by
default. However, this design decision has repercussions
on distributed memory management, as disconnected remote
references can prevent an object from being reclaimed. To
address this issue, we integrate memory management based
on leasing directly into the remote reference abstraction,
leading to the concept of a leased object reference. We
describe an instantiation of the leased object reference
model in AmbientTalk, explore the language design issues
and the integration with other language features.
Abstracting connection volatility through tagged futures
The property of connection volatility, fundamental to
the ambient intelligence (AmI) domain, makes it hard to
develop AmI applications. The underlying reason for this
is that the code for this concern is scattered and tangled
with the core functionality of the application. We present
the abstraction mechanism for connection volatility that
we have created, which allows for this concern to be implemented
in a non-tangled fashion. The core of our mechanism consists
in extending the existing concept of futures with meta-data,
i.e. tags, to specify values to be used in an offline state.
The implementation of our abstraction mechanism, in Java,
is called Spoon Graffiti. The meta-data of the futures is
described using annotations and the intended behavior is
achieved trough source-code processing, using the Spoon
annotation processor. As a result of using tagged futures
and Spoon Graffiti, the specification of offline behavior
of an AmI application can be performed in a non-tangled
way, which significantly eases development.
Ambient References: Addressing objects in mobile ad hoc
A significant body of research in ubiquitous computing
deals with mobile networks, i.e. networks of mobile devices
interconnected by wireless communication links. Due to the
very nature of such mobile networks, addressing and communicating
with remote objects is significantly more difficult than
in their fixed counterparts. This talk reconsiders the remote
object reference concept -- one of the most fundamental
programming abstractions of distributed programming languages
-- in the context of mobile networks. We describe four desirable
characteristics of remote references in mobile networks,
show how existing remote object references fail to exhibit
them, and subsequently propose ambient references: remote
object references designed for mobile networks.
Proximity is in the Eye of the Beholder: A Conceptual
We study a conceptual framework to plug proximity as a
first-class concept in the AmbientTalk language. This means
developers will be able to create and share different notions
of proximity and evaluate them with the context information
at the service discovery stage. The contribution of this
work is to support a wide variety of proximity notions such
that the device interactions can be scaled and tailored
to the content of interest level.