User Tools

Site Tools


Sidebar

Jump to
AmbientTalk
CRIME
iScheme

start

This is an old revision of the document!


Welcome to Ambient-Oriented Programming

Welcome to our website on Ambient-Oriented Programming, an exciting new paradigm of computing geared towards promoting and programming spontaneous interactions between different mobile and/or embedded devices.

This webpage is also the home of AmbientTalk, our experimental programming language to develop such applications. The current implementation of AmbientTalk is relatively stable and can be downloaded here. A tutorial on the language can be found here.

This webpage is under construction! Please consult the old website until this website has been constructed.

So what is AmbientTalk all about?

Ambient-Oriented programming is a programming <acronym title=“A set of characteristics exhibited by all ambient-oriented programming languages”>paradigm</acronym> whose properties are derived from the characteristics of hardware platforms for mobile computing. Mobile hardware devices are often provided with wireless networks facilities, allowing them to engage in collaboration with their environment. However, the <acronym title=“Every device acts as an independent computing unit”>autonomous</acronym> nature of these devices as well as the <acronym title=“Connections are broken as users move about”>volatile connections</acronym> over their wireless infrastructure has its repercussions on the software that employs them. The basic assumption of the Ambient-Oriented Programming paradigm is that languages should incorporate possible network failures at the heart of their programming model.

From this observation, several characteristics of programming languages can be derived. Informally we state that an ambient-oriented language is : * <span id=“keyword”>Prototype-based</span> The mismatch between classes and distribution is well-documented and further aggravated in the context of mobile computing. * <span id=“keyword”>Non-blocking</span> To avoid harming the autonomy of the mobile devices, no device should be blocked awaiting either to send a message or receive a result. * <span id=“keyword”>Communication-Aware</span> To encompass network failures, objects should be able to keep a log of their own activities, allowing for error recovery. * <span id=“keyword”>Resource-Aware</span> Service discovery is an integral part of any ambient-oriented language since resources are encountered dynamically in the ever-changing network topology surrounding a device.

More information can be found in the Papers section.

start.1150364949.txt.gz · Last modified: 2006/06/15 11:52 (external edit)