This is an old revision of the document!


Table of Contents

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 TOTA in combination with the RETE engine we built for the proximities.

The idea is to build a framework similar to TOTA, called AmbientTOTA, on top of our RETE engine to be able to exchange and percolate guanotes. So, we will instanciate our AmbientTota with Guanotes objects. A Guanotes actually extend tuple objects with some flockr-dependent behaviour.

Here comes the primitive operations to interact with the AmbientTota framework:

//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 match:{ | tuple |
  
}

A tuple in our system is just the object contained in the RETE engine token offering the following API:

def decidePropagation() -> boolean
def doAction ();
def changeTupleContent() -> tuple
def decideStore () -> boolean
uf/guanotes.1222429381.txt.gz · Last modified: 2008/09/26 13:55 by elisag
 
 
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki