User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
start [2010/07/12 15:46] tvcutsemstart [2010/07/31 12:57] – *Added stijnm
Line 3: Line 3:
 Ambient-Oriented Programming is a novel programming paradigm for programming spontaneous interactions between mobile and/or embedded devices. Ambient-Oriented Programming is a novel programming paradigm for programming spontaneous interactions between mobile and/or embedded devices.
  
-{{:at:atlogo.jpg?80  |:at:atlogo.jpg}} This page is also the home of AmbientTalk, our experimental programming language to develop applications for software running on mobile ad hoc networks. To get started, you can read the [[at:tutorial:tutorial|tutorial]] or [[http://code.google.com/p/ambienttalk/#The_Essence_of_AmbientTalk_in_10_Steps|the essence of AmbientTalk in 10 steps]]. To experiment with the language, you can download [[http://code.google.com/p/ambienttalk/wiki/EclipsePlugin|IdeAT, our Eclipse plug-in for AmbientTalk]] or simply download a stand-alone version of [[at:download|the interpreter]] and develop code using your favorite text editor.+{{:at:atlogo.jpg?80  |:at:atlogo.jpg}} This page is also the home of AmbientTalk, our experimental programming language to develop applications for software running on mobile ad hoc networks. To get started, you can read the [[at:tutorial:tutorial|tutorial]] or [[http://code.google.com/p/ambienttalk/wiki/EssenceOfAmbientTalk|the essence of AmbientTalk in 10 steps]]. To experiment with the language, you can download [[http://code.google.com/p/ambienttalk/wiki/EclipsePlugin|IdeAT, our Eclipse plug-in for AmbientTalk]] or simply download a stand-alone version of [[at:download|the interpreter]] and develop code using your favorite text editor (an [[http://soft.vub.ac.be/pipermail/ambienttalk/2010-July/000043.html|Emacs mode]] and a [[http://soft.vub.ac.be/amop/downloads/at2textmate.zip|TextMate bundle]] are available).
  
 <note> <note>
Line 22: Line 22:
 Check out the [[at:introduction|introduction]] to AmbientTalk for a hands-on example showing you the benefits in actual code. Alternatively, glance at the [[at:byexample|key expressions]] in the language to get a 60-second overview of the language's design and intents. Check out the [[at:introduction|introduction]] to AmbientTalk for a hands-on example showing you the benefits in actual code. Alternatively, glance at the [[at:byexample|key expressions]] in the language to get a 60-second overview of the language's design and intents.
  
-AmbientTalk is not our only research artifact. There is also [[crime:introduction|CRIME]], a data-driven programming language which explores the logic programming paradigm to tackle similar coordination issues in mobile ad hoc networks.+You can also watch the following screencast where we show how to implement a simple echo server for mobile ad hoc networks. We introduce AmbientTalk's support for peer-to-peer service discovery, asynchronous messages, futures and how remote object references are resilient to network failures by default:
  
-====== Why another programming language? ======+<html> 
 +<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13727131&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=13727131&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a href="http://vimeo.com/13727131">AmbientTalk Screencast: a simple echo server</a> from <a href="http://vimeo.com/user4375573">Tom Van Cutsem</a> on <a href="http://vimeo.com">Vimeo</a>.</p> 
 +</html>
  
-"What does a high-level language accomplish? It frees a program from much of its accidental complexityAn abstract program consists of conceptual constructs: operationsdata types, sequences, and communicationThe concrete machine program is concerned with bits, registersconditions, 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 BulletEssence and Accidents of +AmbientTalk is not our only research artifactWe have ported the ideas of Ambient-oriented Programming to Schemeleading to the [[ischeme:ischeme]] languageThere is also [[crime:introduction|CRIME]]a data-driven programming language which explores the logic programming paradigm to tackle similar coordination issues in mobile ad hoc networks. 
-Software Engineering//+ 
 +AmbientTalk's [[http://soft.vub.ac.be/Publications/2007/vub-prog-tr-07-16.pdf|mirages]] have inspired the development of [[http://wiki.ecmascript.org/doku.php?id=harmony:proxies|proxies]] in [[http://www.youtube.com/watch?v=A1R8KGKkDjU|ECMAScript harmony]].
  
 ====== Contact ====== ====== Contact ======
Line 40: Line 43:
 ====== Research Topics ====== ====== Research Topics ======
   * [[research:ambientrefs|Ambient References]]   * [[research:ambientrefs|Ambient References]]
-  * [[research:recap|Reactive Context-Aware Computing]]+  * [[research:rp|Reactive Programming]] 
 +  * [[research:recap|Reactive Context-Aware Programming]]
   * [[research:context|Context-Dependent Behaviour Adaptations]]   * [[research:context|Context-Dependent Behaviour Adaptations]]
   * [[research:dgc|Distributed Garbage Collection]]   * [[research:dgc|Distributed Garbage Collection]]
 +  * [[research:rfid|Mobile RFID-enabled Applications]]
   * [[research:modelling|Modelling for Ambient Intelligence]]   * [[research:modelling|Modelling for Ambient Intelligence]]
   * [[research:biomodels|Biologically-Inspired Programming Models]]   * [[research:biomodels|Biologically-Inspired Programming Models]]
start.txt · Last modified: 2021/09/24 10:20 by elisag