Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
weca [2011/06/27 04:36] aspectscript |
weca [2011/06/27 05:04] aspectscript |
| ====== WeCa: Modular and Flexible Causality Control on the Web ====== |
| |
[[http://en.wikipedia.org/wiki/Ajax_%28programming%29|Ajax]] has allowed JavaScript programmers to create interactive, collaborative, and user-centered Web applications, known | [[http://en.wikipedia.org/wiki/Ajax_%28programming%29|Ajax]] has allowed JavaScript programmers to create interactive, collaborative, and user-centered Web applications, known |
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. | 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: | Here, you can find examples where WeCa is used: |
| |
* [[otm/ordering_of_messages|Eliminating Nondeterministic Behaviors]]. | * [[otm/ordering_of_messages| Controlling Message Causality]] |
| |
* [[otm/the_matching_of_causal_sequences|Reasoning About Distributed Computations]]. | * [[otm/the_matching_of_causal_sequences|Reacting to Distributed Causal Relations]] |
| |
| |
| |
| |