start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
start [2007/03/13 23:17] – * stijnm | start [2018/04/12 23:03] – elisag | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Welcome to Ambient-Oriented Programming ====== | + | ~~NOTOC~~ |
- | Welcome to our website on Ambient-Oriented Programming, | + | |
- | This webpage | + | [[http:// |
- | ===== What is AmbientTalk all 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, | + | AmbientTalk |
- | * **Prototype-based** The mismatch between classes and distribution is well-documented and further aggravated in the context of mobile computing. | + | |
- | * **Non-blocking** To avoid harming the autonomy of the mobile devices, no device should be blocked awaiting either to send a message or receive a result. | + | |
- | * **Communication-Aware** To encompass network failures, objects should | + | |
- | * **Resource-Aware** 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. | + | |
- | ==== Further Reading ==== | + | [[https:// |
- | **Ambient-Oriented Programming**, | + | </note> |
- | In " | + | |
- | **Ambient-Oriented Programming in AmbientTalk**, Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo D' | + | |
- | [ [[http://prog.vub.ac.be/Publications/2006/vub-prog-tr-06-11.pdf|download]] ] | + | |
+ | * Or, download a stand-alone version | ||
- | **Ambient-Oriented Programming**, | + | ====== What is AmbientTalk about? ====== |
- | [ [[http:// | + | |
+ | Ambient-Oriented programming is a paradigm geared towards mobile computing. Mobile hardware (such as cell phones) is mostly equipped with wireless networking, allowing it to collaborate with nearby devices in its environment. However, because wireless network links are volatile (basically: when devices move out of wireless range, the connection drops), network failures occur much more frequently than in traditional networks. The basic assumption of the Ambient-Oriented Programming paradigm is that languages should incorporate network failures at the heart of their programming model, and not treat them as " | ||
- | More information | + | Our own experimental language, AmbientTalk, |
+ | * It employs a purely // | ||
+ | * It abandons the RPC abstraction in favor of // | ||
+ | * It has built-in programming language constructs for objects to discover one another | ||
+ | * It features a dynamic OO kernel language built upon the principles of prototype-based programming (based on Scheme, Self and Smalltalk). The kernel language supports reflection using [[http:// | ||
+ | * The language syntax derives primarily from the 'curly brace' family of languages, but it mixes in the keyworded messaging syntax from Smalltalk as well. This, together with AmbientTalk' | ||
+ | * The current implementation of AmbientTalk embraces the JVM as a platform. It's easy for AmbientTalk programs to use Java libraries, and it's easy for Java objects to use !AmbientTalk as an embedded scripting language. This interaction is safe: even when AmbientTalk objects are " | ||
- | ===== Research Topics ===== | + | Check out the [[at: |
+ | |||
+ | The screencast below shows how to implement a simple echo server for mobile ad hoc networks. It introduces AmbientTalk' | ||
+ | |||
+ | < | ||
+ | <object width=" | ||
+ | </ | ||
+ | |||
+ | AmbientTalk is not our only research artifact. We have ported the ideas of Ambient-oriented Programming to Scheme, leading to the [[ischeme: | ||
+ | |||
+ | AmbientTalk' | ||
+ | |||
+ | ====== Contact ====== | ||
+ | The [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ====== Further Reading ====== | ||
+ | |||
+ | If you're interested in the Ambient-oriented Programming paradigm in general, check out the [[research: | ||
+ | |||
+ | |||
+ | If you're interested in the AmbientTalk programming language, check out the [[research: | ||
+ | |||
+ | Since 2007 AmbientTalk refers to AmbientTalk/ | ||
+ | |||
+ | ====== Research Topics | ||
* [[research: | * [[research: | ||
- | * [[research:exceptions|Ambient-Oriented Exception Handling]] | + | * [[research:rp|Reactive Programming]] |
+ | * [[research: | ||
* [[research: | * [[research: | ||
* [[research: | * [[research: | ||
+ | * [[research: | ||
* [[research: | * [[research: | ||
- | + | | |
- | ===== Contact ===== | + | * [[research: tuples | Tuple Space-based Abstractions]] |
- | + | * [[at: | |
- | | + |
start.txt · Last modified: 2021/09/24 10:20 by elisag