User Tools

Site Tools


Sidebar

Jump to
AmbientTalk
CRIME
iScheme

start

This is an old revision of the document!


Ambient-Oriented Programming

Welcome to our website on Ambient-Oriented Programming, a novel programming paradigm geared towards promoting and programming spontaneous interactions between different mobile and/or embedded devices.

:at:atlogo.jpg This webpage is also the home of AmbientTalk, our experimental programming language to develop applications for software running on mobile ad hoc networks. The current implementation of AmbientTalk is relatively stable. The best way to get started is to download the language and to read the tutorial.

What is AmbientTalk about?

Ambient-Oriented programming is a programming paradigm 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 autonomous nature of these devices as well as the volatile connections 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. Our own experimental language, AmbientTalk, differs from most traditional languages because:

  • It employs a purely event-driven concurrency framework, founded on actors.
  • It abandons the RPC abstraction in favor of asynchronous, non-blocking message passing. Because the system automatically buffers such messages while the receiver of the message is disconnected, the programmer can abstract over temporary network failures by default!
  • It has built-in programming language constructs for objects to discover one another in the local ad hoc network. Peer-to-peer service discovery is built into the language.
  • It features a dynamic OO kernel language built upon the principles of prototype-based programming. More importantly, the kernel language is reflective and hence extensible from within the language itself.

Check out the introduction to AmbientTalk for a hands-on example showing you the benefits in actual code.

AmbientTalk is not our only research artifact. There is also CRIME, a data-driven programming language which explores the logic programming paradigm to tackle similar coordination issues in mobile ad hoc networks.

Contact

The AmbientTalk user list, for questions and general information on AmbientTalk: ambienttalk-user at prog.vub.ac.be. If you want to contact any one of us personally, please see the People pages for personal contact details.

Further Reading

Ambient-Oriented Programming, Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo D'Hondt, Wolfgang De Meuter. In “OOPSLA '05: Companion of the 20th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications. Pages 31-40. San Diego, U.S.A. ACM Press.”, 2005 [ download ]

Ambient-Oriented Programming in AmbientTalk, Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo D'Hondt, Wolfgang De Meuter. In “Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP), Dave Thomas (Ed.), Lecture Notes in Computer Science Vol. 4067, pp. 230-254, Springer-Verlag.”, 2006 [ download ]

Ambient-Oriented Programming, Jessie Dedecker, Ph.D. Thesis, Vrije Universiteit Brussel. [ download ]

More information can also be found in the Papers section.

Research Topics

start.1185876361.txt.gz · Last modified: 2007/07/31 12:08 (external edit)