at:urbiflock
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:urbiflock [2008/09/05 11:22] – tvcutsem | at:urbiflock [2010/10/19 19:18] – * elisag | ||
---|---|---|---|
Line 3: | Line 3: | ||
==== What is Urbiflock? ==== | ==== What is Urbiflock? ==== | ||
- | Urbiflock is a Facebook-like application framework | + | UrbiFlock is a framework sculpted for the development of //pervasive social network applications//: |
+ | |||
+ | Urbiflock is a Facebook-like application framework | ||
+ | |||
+ | Users can also build applications and plug them into the Urbiflock | ||
==== Terminology ==== | ==== Terminology ==== | ||
- | * Flock: a group of proximate users | + | * Flockr: a user of the Urbiflock framework |
- | * Flockr: a user of the urbiflock framework | + | * Flock: a group of users |
* To flock: to become part of a group | * To flock: to become part of a group | ||
- | ==== Modules | + | ==== Demo ==== |
- | * [[uf: | + | |
- | * [[uf: | + | < |
- | * [[uf: | + | <object width=" |
- | * isNearby: physical proximity | + | </ |
- | * isFriend: static encoding of friendship relationships | + | |
- | * doesProfileMatch: | + | ==== Target Platforms ==== |
- | * combinators: | + | The Urbiflock framework has been written in the AmbientTalk language. As such, no configuration |
- | | + | |
- | | + | AmbientTalk runs on a regular J2SE Java Virtual |
- | * [[uf:application|Application]]: define the API of an " | + | Machine supporting version 1.3 or higher, Java 2 micro edition (J2ME) platform, under the connected device configuration (CDC), and Android Platform version 1.6 or higher. |
+ | |||
+ | We have implemented a AWT UI interface for Urbiflock' | ||
+ | |||
+ | We are currently working on an Android UI interface for Urbiflock' | ||
+ | |||
+ | The Urbiflock framework is available in the AmbientTalk distribution library under the frameworks/ folder. Visit [[http:// | ||
+ | |||
+ | ==== Urbiflock architecture ==== | ||
+ | |||
+ | The architecture of the Urbiflock framework shown below is divided in three layers: applications, Urbiflock core, and Urbiflock infrastructure. | ||
+ | {{ :uf:urbiflock_architecture.png? | ||
- | A flock is defined as a list of references to ' | + | The application layer includes the API of an " |
+ | * [[uf: | ||
+ | * [[uf: | ||
+ | * [[uf: | ||
- | Predefined Flocks: | + | There are also several user applications in the framework: |
- | * friend flockrs: isFriend | + | * [[uf:guanotes|Guanotes]]: |
- | * nearby flockrs: isNearby | + | * [[uf:ir8u|IR8U]]: |
- | * nearby friend flockrs: isFriend & isNearby | + | * [[uf:iflocku|IFlockU]] (Coming): a friend suggestor based on profile similarity and time spent in proximity. |
- | ==== Architecture ==== | + | The Urbiflock' |
- | An ad hoc RETE-network. Events are triggered by: | + | |
- | * discovery: '' | + | |
- | * profile | + | |
- | * friend changes: '' | + | |
- | These events are received by the local flockr user object and propagated to all local proximities. Proximities translate these events into addUser / removeUser events | + | * [[uf:flockr|Flockr]]: A flockr represents a user in the framework. A flockr is also the gateway that other applications can use to get information about the user or about the applications that the user has installed. |
+ | * [[uf: | ||
- | As a first implementation | + | * [[uf: |
+ | * [[uf: | ||
+ | * [[uf:totam|TOTAM]]: | ||
- | < | + | The infrastructure layer consists of three low-level abstractions on which the framework core is based: a RETE engine which orchestrates the flock composition, and the service discovery and communication APIs to discover and communicate with nearby applications, respectively. |
- | def flockrTemplate | + | |
- | 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 | + | |
- | def city := " | + | |
- | }; | + | |
- | def greet(); // person must have a greet method | + | |
- | } taggedAs: [ Flockr ]; // object must be tagged as a Flockr | + | |
- | </ | + | |
- | ==== Applications | + | ===== Further Reading ===== |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | ==== To think about ==== | + | **Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications**. E. Gonzalez Boix, A. Lombide Carreton, C. Scholliers, T. Van Cutsem, W. De Meuter, T. D' |
- | | + | |
- | | ||
- | * [[uf: |
at/urbiflock.txt · Last modified: 2015/02/04 19:06 by elisag