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 [2009/10/08 14:04] – tvcutsem | start [2010/07/27 16:04] – kpinte | ||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | Welcome to our website on Ambient-Oriented Programming, a novel programming paradigm | + | Ambient-Oriented Programming |
- | {{: | + | {{: |
< | < | ||
Line 12: | Line 12: | ||
====== What is AmbientTalk about? ====== | ====== 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. | + | 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 nearby devices in 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, | From this observation, | ||
* It employs a purely // | * It employs a purely // | ||
- | * It abandons the RPC abstraction in favor of // | + | * It abandons the RPC abstraction in favor of // |
- | * 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 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. | + | * It features a functional, object-oriented |
Check out the [[at: | Check out the [[at: | ||
Line 26: | Line 26: | ||
====== Why another programming language? ====== | ====== Why another programming language? ====== | ||
- | "What does a high-level language accomplish? It frees a program from much of its accidental complexity. An abstract program consists of conceptual constructs: operations, data types, sequences, and communication. The concrete machine program is concerned with bits, registers, conditions, branches, channels, disks, and such. To the extent that the high-level language embodies the constructs one wants in the abstract program and avoids all lower ones, it eliminates a whole level of complexity that was never inherent in the program at all." - Frederick Brooks, //No Silver Bullet: Essence and Accidents of | + | "What does a high-level language accomplish? It frees a program from much of its accidental complexity. An abstract program consists of conceptual constructs: operations, data types, sequences, and communication. The concrete machine program is concerned with bits, registers, conditions, branches, channels, disks, and such. To the extent that the high-level language embodies the constructs one wants in the abstract program and avoids all lower ones, it eliminates a whole level of complexity that was never inherent in the program at all." |
Software Engineering// | Software Engineering// | ||
====== Contact ====== | ====== Contact ====== | ||
- | The [[http://prog.vub.ac.be/ | + | The [[http://soft.vub.ac.be/ |
====== Further Reading ====== | ====== Further Reading ====== | ||
Line 43: | Line 43: | ||
* [[research: | * [[research: | ||
* [[research: | * [[research: | ||
+ | * [[research: | ||
* [[research: | * [[research: | ||
* [[research: | * [[research: |
start.txt · Last modified: 2021/09/24 10:20 by elisag