User Tools

Site Tools


at:tutorial:distribution

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
at:tutorial:distribution [2007/06/19 16:09] tvcutsemat:tutorial:distribution [2007/07/26 10:30] – Reformulated stijnm
Line 5: Line 5:
 ====== Distributed Programming ====== ====== Distributed Programming ======
  
-This tutorial chapter discusses how AmbientTalk virtual machines can discover and communicate with each other over the network.  +Building on the actor-based concurrency model explained in the [[actors|previous chapter]], this chapter discusses the distribution provisions of AmbientTalk. For actors to communicate across the boundaries of a single device, actor's need to be capable of discovering one another's presence and need to be resilient to intermittent disconnections of their communication partners.
-The integration of distribution was one of the main concerns in the design of AmbientTalk programming model+
  
-More specifically, as a distributed programming language that adheres to the Ambient-Oriented Programming paradigm, AmbientTalk incorporates partial failures and discovery lookup facilities at the heart of its distributed programming model. Rather than creating stubs and skeletons to manage remote communications, AmbientTalk integrates them transparently to the developer thanks to its concurrency model based on actors and far references. Far references are in fact a vital feature of the distributed model of AmbientTalk that allows the language to be able to handle the so-called volatile connections featured in mobile ad hoc networks.  This chapter mainly explains the language abstractions to export and discover other remote objects, and handle partial failures. But firstlet us start simply by showing how to enable the network functionality.+These requirements correspond to the cornerstones of the  Ambient-Oriented Programming paradigm. The seamless integration of language support for dealing with partial failures and performing service discovery, hinge on AmbientTalk'concurrency model based on actors and far references. This chapter will explore the discovery mechanisms to create far references which span different devices, and illustrate how such far references are able to deal with intermittent disconnections in mobile ad hoc networks.  
 + 
 +Before delving in these topicswe illustrate how to activate the network facilities of AmbientTalk in the next section.
  
 ===== Starting the Network.. ===== ===== Starting the Network.. =====
Line 33: Line 34:
 </code> </code>
  
-When an object its exported by its actor, it becomes discoverable by other actors by means of the service type. Internally, this means that the object is placed in the export table of its actor. As shown in the example, a service type is represented by a type tag. This means that services types are not associated with a set of methods, but they denote an abstract publication topic that objects exports. As a type tag, a service type can thus be a subtype of one or more other service types. For example, an object could offer a color printing services by exporting the following stripe:+When an object its exported by its actor, it becomes discoverable by other actors by means of the service type. Internally, this means that the object is placed in the export table of its actor. As shown in the example, a service type is represented by a type tag. This means that services types are not associated with a set of methods, but they denote an abstract publication topic that objects exports. As a type tag, a service type can thus be a subtype of one or more other service types. For example, an object could offer a color printing services by exporting the following type tag:
 <code> <code>
 deftype ColorPrinter <: Printer; deftype ColorPrinter <: Printer;
at/tutorial/distribution.txt · Last modified: 2009/01/30 16:13 by tvcutsem