User Tools

Site Tools


uf:guanotes

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
uf:guanotes [2008/09/26 13:57]
elisag
uf:guanotes [2009/11/18 15:12]
elisag
Line 1: Line 1:
-====== Guanotes ====== 
- 
-==== The concept==== 
- 
-Guanotes application allows flockrs to post notes, called guanotes, to the ambient ( i.e any device available in the surroundings ranging from other flockr device to devices installed on public places such as KK). This is a concept similar to Stickies application in Mac but guanotes can hop from one device to another.    
- 
-Flockrs can thus discover other flockrs guanotes, store them and exchange them later with other flockrs such that guanotes can be percolated through the entire Urbiflock.  
- 
-Flockrs can also subscribe to a particular type of guanotes such that they are automatically notified whenever they meet a flockr carrying guanotes of that particular type. 
- 
-Another idea is that flockrs can stop the percolation of guanotes. For example, if a flockr detects that a spam guanote or a guanote with unapropiate content, it could stop its propagation.  
- 
-==== Design ==== 
- 
-To implement Guanotes, we are going to reuse the concepts developed by  [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.9742|TOTA]]. This could be combined with the RETE engine we built for the proximities, in the future to reason about multiple tuples.  
- 
-The idea is to build a framework similar to TOTA, called AmbientTOTA, to be able to exchange and percolate guanotes. So, we will instantiate our AmbientTota with Guanotes objects. A guanote actually extends tuple objects with some flockr-dependent behaviour. 
- 
-Here comes the primitive operations to interact with the AmbientTota framework: 
- 
-<code> 
-//publishes a tuple into the ambient ( ~ inject in TOTA) 
-def inject(tuple) { 
-  export: tuple as: Tuple 
-}; 
- 
-// places a listener on to the local TS ( ~ subscribe in TOTA) 
-// it returns a publication object to be able to unsusbscribe  
-when: template matches:{ | tuple | 
-   
-} 
- 
-//Templates are currently boolean expressions on tuples.  
-Example of template applied to guanotes: 
-{ |guanote|  guanote.flock == "KK" } 
-</code> 
- 
-A tuple in our system is just the object contained in a local TS offering the following API to propagate itself:  
- 
-<code> 
-// called in every tuple at pass()  
-def decidePropagation() -> boolean 
-// specifies operations on the local TS 
-def doAction (); 
-// specifies operations on the tuple itself  
-def changeTupleContent() -> tuple 
-// if true -> note gets added to local TS 
-def decideStore () -> boolean 
-// if true -> tuple gets unexported and deleted from local TS. 
-//new operation not in TOTA 
-def decideDie() -> boolean  
-</code> 
  
uf/guanotes.txt ยท Last modified: 2009/11/18 15:12 by elisag