User Tools

Site Tools


uf:totam

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
uf:totam [2010/10/20 17:54] elisaguf:totam [2020/04/28 19:16] elisag
Line 20: Line 20:
  
 Figure above illustrates how a scoped tuple is propagated through the TOTAM network. It depicts two types of locations, the blue and red locations corresponding to two teams of a multi-player game scenario where users (blue team) can use their PDA’s to chase dangerous (virtual) gangsters (red team) in the outdoors. The scope of the propagated tuple has been limited to blue locations. Figure (a) illustrates that a tuple is injected from the location with a star. This location is connected to four blue locations and one red location. As the scope of the tuple is limited to blue locations the tuple is only sent to the four blue locations. From those four locations the tuple is transitively propagated obeying the scope of the tuple until all connected blue locations are reached without being transmitted to a red location. Note that one blue location is not transitively connected to the sending device and thus does not receive the tuple. Figure (b) illustrates that a blue location moved into the range of the isolated blue location and thus, transmits the tuple to it. Again the tuple is not transmitted to nearby red locations. It is important to note from this operational sketch that the first isolated location receives a tuple without being connected at any time with the start location in which the tuple was originally inserted. Figure above illustrates how a scoped tuple is propagated through the TOTAM network. It depicts two types of locations, the blue and red locations corresponding to two teams of a multi-player game scenario where users (blue team) can use their PDA’s to chase dangerous (virtual) gangsters (red team) in the outdoors. The scope of the propagated tuple has been limited to blue locations. Figure (a) illustrates that a tuple is injected from the location with a star. This location is connected to four blue locations and one red location. As the scope of the tuple is limited to blue locations the tuple is only sent to the four blue locations. From those four locations the tuple is transitively propagated obeying the scope of the tuple until all connected blue locations are reached without being transmitted to a red location. Note that one blue location is not transitively connected to the sending device and thus does not receive the tuple. Figure (b) illustrates that a blue location moved into the range of the isolated blue location and thus, transmits the tuple to it. Again the tuple is not transmitted to nearby red locations. It is important to note from this operational sketch that the first isolated location receives a tuple without being connected at any time with the start location in which the tuple was originally inserted.
 +
  
 ===== API ===== ===== API =====
Line 36: Line 37:
 <code>  <code> 
 // a “hallo” message tuple from wolf. // a “hallo” message tuple from wolf.
-def halloTuple := tuple: [Message, “wolf”, “hallo”];+def halloTuple := tuple: ["Message", “wolf”, “hallo”];
 // a template for message tuples from wolf. // a template for message tuples from wolf.
-def wolfTuples := tuple: [Message, “wolf”, var: `content];+def wolfTuples := tuple: ["Message", “wolf”, var: `content];
 // a template for any message tuples. // a template for any message tuples.
-def msgTuples := tuple: [Message, var: `from, var: `content];+def msgTuples := tuple: ["Message", var: `from, var: `content];
 </code> </code>
  
Line 75: Line 76:
     def decideStore(ts) {true};     def decideStore(ts) {true};
     //sender-side protocol     //sender-side protocol
-    def inScope(descriptor){ true };+    def inScope(senderDescriptor,receiverDescriptor){ true };
     def decideDie(ts){false};     def decideDie(ts){false};
   };   };
Line 86: Line 87:
 //define a new propagation protocol //define a new propagation protocol
 def blueProtocol := propagationProtocol: { def blueProtocol := propagationProtocol: {
-  def inScope(descriptor) { descriptor.team == "blue" };+  def inScope(senderDescriptor,receiverDescriptor) {  
 +    receiverDescriptor.team == "blue" };
 }; };
 // attach the protocol to a tuple // attach the protocol to a tuple
-def aBlueTuple := tuple: [Message, "hallo"]  +def aBlueTuple := tuple: ["Message", "hallo"]  
-withPropagationProtocol: blueProtocol};+withPropagationProtocol: blueProtocol;
 // inject the tuple to the network // inject the tuple to the network
 def publication := inject: aBlueTuple; def publication := inject: aBlueTuple;
Line 103: Line 105:
  
 In order to notify the removal of a tuple, TOTAM sends an antituple for the removed tuple. For every tuple there is (conceptually) a unique antituple with the same format and content, but with a different sign. All tuples injected by an application have positive sign while their antituples have a negative sign. Whenever a tuple and its antituple are stored in the same tuple space, they immediately annihilate one another, i.e. they both get removed from the tuple space. By means of antituples, TOTAM can “unsend” tuples injected to the network. In order to notify the removal of a tuple, TOTAM sends an antituple for the removed tuple. For every tuple there is (conceptually) a unique antituple with the same format and content, but with a different sign. All tuples injected by an application have positive sign while their antituples have a negative sign. Whenever a tuple and its antituple are stored in the same tuple space, they immediately annihilate one another, i.e. they both get removed from the tuple space. By means of antituples, TOTAM can “unsend” tuples injected to the network.
 +
  
  
Line 115: Line 118:
 **TOTAM: Scoped Tuples for the Ambient**, C. Scholliers, E. Gonzalez Boix, W. De Meuter. Proceedings of the Second International DisCoTec Workshop on Context-aware Adaptation Mechanisms for Pervasive and Ubiquitous Services (CAMPUS 2009), from Electronic Communications of the EASST, eds. 2009.  **TOTAM: Scoped Tuples for the Ambient**, C. Scholliers, E. Gonzalez Boix, W. De Meuter. Proceedings of the Second International DisCoTec Workshop on Context-aware Adaptation Mechanisms for Pervasive and Ubiquitous Services (CAMPUS 2009), from Electronic Communications of the EASST, eds. 2009. 
 ([[ http://prog.vub.ac.be/Publications/2009/vub-prog-tr-09-07.pdf | pdf]]) ([[ http://prog.vub.ac.be/Publications/2009/vub-prog-tr-09-07.pdf | pdf]])
 +
 +<note>The paper above and this webpage may have slightly differ in the syntax for TOTAM. This webpage has been updated to fit the current implementation of TOTAM.
 +</note>
uf/totam.txt · Last modified: 2021/09/24 10:49 by elisag