The recent progress of wireless networks technologies and mobile hardware technologies has lead to the emergence of a new generation of applications. These applications are deployed on mobile devices equipped with wireless infrastructure which collaborate spontaneously with other devices in the environment forming mobile ad hoc networks. Distributed programming in such setting is substantially complicated by the intermittent connectivity of the devices in the network and the lack of any centralized coordination facility. Any application designed for mobile ad hoc networks has to deal with these new hardware phenomena. Because the effects engendered by such phenomena often pervade the entire application, an appropriate computational model should be developed that eases distributed programming in a mobile network by taking these phenomena into account from the ground up. In the previous ECOOP edition, we presented and demonstrated AmbientTalk, a distributed object-oriented programming language specially designed for mobile ad hoc networks.
This demonstration showcases AmbientTalk/2, the latest incarnation of the AmbientTalk programming language which supplants its predecessor while preserving its fundamental characteristics. The language is still a so-called ambient-oriented programming language which allow objects to abstract over transient network failures. This demo will highlight the new design choices in AmbientTalk/2 and the rationale behind them. The most important ones are the adoption of an event-driven concurrency model that provides AmbientTalk/2 with finer grained distribution abstractions making it highly suitable for composing service objects across a mobile network, and the integration of leasing techniques for distributed memory management.
The demo is conceived as a hands-on experience in using the main features of the language where we show and discuss the following:
AmbientTalk/2 is available at http://prog.vub.ac.be/amop with documentation and examples.