Popis: |
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. AmbientTalk is a state-of-the-art ambient-oriented programming language developed at the Software Languages Lab of the Vrije Universiteit Brussel. 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. |