This page provides an overview of the presentations we have prepared related to Ambient-Oriented Programming. A PDF version of each set of slides is available, together with a brief abstract describing it.
We describe AmbientTalk, a distributed object-oriented language designed specifically for developing programs that run in mobile ad hoc networks (MANETs). AmbientTalk deals with the universal characteristics of MANETs (e.g. the fact that objects only have intermittent connectivity) at the language level, thus raising the level of abstraction for the programmer. AmbientTalk is based on adaptations of the actor model whose event-driven approach to concurrency matches well with the dynamic nature of MANETs. More specifically, AmbientTalk reuses ideas from the E programming language and unifies objects and actors into a consistent OO framework. We show how this framework, founded on asynchronous message passing and futures, behaves well in a distributed MANET setting. Finally, we highlight AmbientTalk's more experimental distributed programming language features. In particular, we describe ambient references: anonymous remote object references that bundle object discovery and communication into a single abstraction.
The talk gives a general overview of the AmOP paradigm. The introduction describes the novel applications engendered by Ambient Intelligence and Ubiquitous Computing. Subsequently, the hardware characteristics present in such environments are described. Based on these hardware characteristics, the AmOP paradigm is constructed. Each of the foundational properties of the AmOP paradigm is discussed in turn.
The second part of the talk is devoted to the AmbientTalk programming language. The language is very briefly introduced as an actor-based OO language. Particular emphasis is placed on why AmbientTalk is an ambient-oriented programming language.
This talk introduces ambient-oriented programming, a novel and exciting paradigm addressing ad hoc networks of mobile devices. The talk first introduces the most fundamental characteristics of such mobile devices, and continues to show how to deal with them in current-day programming languages. This typically involves using particular programming idioms to deal with e.g. communication and discovery. However, most of these idioms are either cumbersome to use in practice, or are ill-supported by the current technology.
Subsequently, we present AmbientTalk along with a set of language constructs geared specifically towards expressing idioms for communication and discovery in a meaningful way. The ambient-oriented programming paradigm is finally presented as the general foundation underlying the language constructs AmbientTalk offers to deal with asynchronous communication and discovery.
Presented : DCC - University of Chile (Santiago de Chile) Aug-17-2006
The presentation introduces ambient references, which are remote object references for mobile networks. The presentation first describes the problems encountered when programming in mobile networks using traditional remote object referencing abstractions. From these problems, four required criteria are postulated to which remote object referencing abstractions for mobile networks should adhere. Finally, ambient references are introduced as a novel OO language abstraction that adheres to the four required criteria.
Presented : Dynamic Languages Symposium, OOPSLA - Portland, Oregon, Oct-22-2006