at:tutorial:distribution
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
at:tutorial:distribution [2007/05/04 09:05] – * elisag | at:tutorial:distribution [2007/07/26 11:03] – Updated stijnm | ||
---|---|---|---|
Line 5: | Line 5: | ||
====== Distributed Programming ====== | ====== Distributed Programming ====== | ||
- | This tutorial | + | Building on the actor-based concurrency model explained in the [[actors|previous chapter]], this chapter discusses |
- | The integration | + | |
- | More specifically, | + | These requirements correspond |
+ | |||
+ | Before delving in these topics, we illustrate | ||
===== Starting the Network.. ===== | ===== Starting the Network.. ===== | ||
Line 14: | Line 15: | ||
AmbientTalk provides an unique native object, named '' | AmbientTalk provides an unique native object, named '' | ||
- | When the virtual machine goes online, | + | When the virtual machine goes online, the built-in |
+ | |||
+ | Taking a virtual machine | ||
< | < | ||
Line 24: | Line 27: | ||
AmbientTalk provides language support to make some objects available to other objects residing in remote actors by means of the '' | AmbientTalk provides language support to make some objects available to other objects residing in remote actors by means of the '' | ||
< | < | ||
- | defstripe | + | deftype |
def service := object: { | def service := object: { | ||
def print(aDoc) { | def print(aDoc) { | ||
Line 33: | Line 36: | ||
</ | </ | ||
- | 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 [[actors# | + | 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 |
< | < | ||
- | defstripe | + | deftype |
</ | </ | ||
Line 57: | Line 60: | ||
< | < | ||
- | We are using a future to get the return value of the '' | + | We are using a future to get the return value of the '' |
</ | </ | ||
Line 69: | Line 72: | ||
Let us consider again the example instant messenger application described in previous section to further explain the semantics of AmbientTalk' | Let us consider again the example instant messenger application described in previous section to further explain the semantics of AmbientTalk' | ||
- | When an object discovers a service type, the '' | + | When an object discovers a service type, the '' |
- | - Objects are always passed by far reference, except for isolate objects which are passed by copy. | + | - Objects are always passed |
- Native data types are always passed by copy. | - Native data types are always passed by copy. | ||
- | |||
When a remote far reference receives a messages, it flushes the message to the remote object providing that it is connected. If the remote far reference is disconnected, | When a remote far reference receives a messages, it flushes the message to the remote object providing that it is connected. If the remote far reference is disconnected, | ||
Line 118: | Line 120: | ||
< | < | ||
- | As you may have noticed, the '' | + | As you may have noticed, the '' |
</ | </ | ||
at/tutorial/distribution.txt · Last modified: 2009/01/30 16:13 by tvcutsem