User Tools

Site Tools


at:urbiflock

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:urbiflock [2008/08/26 19:34] tvcutsemat:urbiflock [2008/09/04 16:21] elisag
Line 31: Line 31:
   * nearby friend flockrs: isFriend & isNearby   * nearby friend flockrs: isFriend & isNearby
  
-==== Architecture====+==== Architecture ====
 An ad hoc RETE-network. Events are triggered by: An ad hoc RETE-network. Events are triggered by:
   * discovery: ''joined(uid,flockr)'' / ''left(uid,flockr)''   * discovery: ''joined(uid,flockr)'' / ''left(uid,flockr)''
   * profile changes: ''changed(uid,flockr,updatedProfile)''   * profile changes: ''changed(uid,flockr,updatedProfile)''
-  * friend changes: ''friendAdded(uid,flockr)'' / friendRemoved(uid,flockr)''+  * friend changes: ''friendAdded(uid,flockr)''''friendRemoved(uid,flockr)''
  
 These events are received by the local flockr user object and propagated to all local proximities. Proximities translate these events into addUser / removeUser events to be processed by flocks. To process these events, flocks register themselves on their dependent proximity. These events are received by the local flockr user object and propagated to all local proximities. Proximities translate these events into addUser / removeUser events to be processed by flocks. To process these events, flocks register themselves on their dependent proximity.
 +
 +As a first implementation of the RETE-network, maybe we can start from the oo matching that Tom implemented, so that functions are templates. For example: 
 +
 +<code>
 +def flockrTemplate := template: {
 +def name := *; // wildcard, can be anything
 +def age := constraint: { _ < 25 }; // must be younger than 25
 +def address := template: {
 +def street := *; // any street, but street name must be filled in
 +def city := "Brussel"; // city must equal this string
 +// address may have arbitrary other data
 +};
 +def greet(); // person must have a greet method
 +} taggedAs: [ Flockr ]; // object must be tagged as a Flockr
 +</code>
  
 ==== Applications ==== ==== Applications ====
Line 45: Line 60:
   * [[uf:guanotes|Guanotes]]: a messenger application that sends post-its to flocks.   * [[uf:guanotes|Guanotes]]: a messenger application that sends post-its to flocks.
  
-==== TODO ==== +==== To think about ==== 
-  * [[uf:persistence|Persistence]]+  * [[uf:persistence|Persistence]]: saving/loading framework and application data and prefs.
   * [[uf:privacy|Privacy]]: restrict access of applications to a user's flocks   * [[uf:privacy|Privacy]]: restrict access of applications to a user's flocks
at/urbiflock.txt · Last modified: 2015/02/04 19:06 by elisag