This shows you the differences between two versions of the page.
Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
weca [2011/02/04 16:54] aspectscript |
weca [2011/06/27 05:04] aspectscript |
[[http://en.wikipedia.org/wiki/Ajax_%28programming%29|Ajax]] have allowed JavaScript programmers to create interactive, collaborative, and user-centered Web applications, known as [[http://en.wikipedia.org/wiki/Web_2.0|Web 2.0 Applications]] (W2As). W2As behave as distributed systems because processors are user machines that are used to send and retrieve messages between them. Unsurprisingly, these applications need to address the same causality issues present in distributed systems like nondeterministic behaviors for the same input and reasoning about distributed computations. JavaScript programmers overcome these issues using rudimentary and alternative methods that ignore fully the distributed computing theory. In addition, these methods need to modify intrusively W2As in order to work. | ====== WeCa: Modular and Flexible Causality Control on the Web ====== |
| |
**WeCa** is a non-intrusive mechanism to eliminate nondeterministic behaviors and to reason about distributed computations. WeCa is inspired by [[http://en.wikipedia.org/wiki/Distributed_computing|distributed computing]] and [[http://en.wikipedia.org/wiki/Aspect-oriented_programming|aspect-oriented programming]] ideas like [[http://en.wikipedia.org/wiki/Vector_clock|vector clocks]] and [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.102.7917|stateful aspects]]. Currently, the WeCa implementation | [[http://en.wikipedia.org/wiki/Ajax_%28programming%29|Ajax]] has allowed JavaScript programmers to create interactive, collaborative, and user-centered Web applications, known |
supports [[http://www.mozilla.com/|Mozilla Firefox]] and uses [[http://pleiad.cl/otm|OTM]], an Open Trace-based Mechanism to define stateful aspects, that observes and reacts to JavaScript application executions. | as Web 2.0 Applications. These Web applications behave as distributed systems because processors are user machines that are used to send and receive messages between one another. Unsurprisingly, these applications have to address the same causality issues present in distributed systems like the need a) to control the causality between messages sent and responses received and b) to react to distributed causal relations. JavaScript programmers overcome these issues using rudimentary and alternative techniques that largely ignore the distributed computing theory. In addition, these techniques are not very flexible and need to intrusively modify these Web applications. In this paper, we study how causality issues affect these applications and present WeCa, a practical library that allows for modular and flexible control over these causality issues in Web applications. In contrast to current proposals, WeCa is based on [[http://en.wikipedia.org/wiki/Aspect-oriented_programming|aspects]] and [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.102.7917|stateful aspects]], [[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=603392|message ordering strategies]], and [[http://en.wikipedia.org/wiki/Vector_clock|vector clocks]]. We illustrate WeCa in action with several practical examples from the realm of Web applications. For instance, we analyze the flow of information in Web applications like Twitter using WeCa. |
| |
| {{ :wov2.png?430x300 |}} |
| |
| |
| Here, you can find examples where WeCa is used: |
| |
| * [[otm/ordering_of_messages| Controlling Message Causality]] |
| |
| * [[otm/the_matching_of_causal_sequences|Reacting to Distributed Causal Relations]] |
| |
| |
| |
| |