Seminar: Open Reflective Infrastructure for Open Networks (ORION)

November 12th 2007
Organized by:
Center for Web Research (DCC), PLEIAD Laboratory (DCC), PROG Lab (VUB)

Av. Blanco Encalada 2120, Auditorio cuarto piso. Departamento de Ciencias de la Computación, Universidad de Chile.

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 devices.

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 Networks.
13:00-14:00 Break.
14:00-14:30 Elisa Gonzalez 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.

PDF Slides: here

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.

PDF Slides: here

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.

PDF Slides: here

Ambient References: Addressing objects in mobile ad hoc networks
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.

PDF Slides: here

Proximity is in the Eye of the Beholder: A Conceptual Framework
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.

PDF Slides: here