otm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
otm [2011/01/26 12:41]
aspectscript
otm [2011/03/28 18:43]
aspectscript
Line 7: Line 7:
   * ** The life cycle semantics**. This semantics defines the evolution of matching of a sequence passes until it matches.   * ** The life cycle semantics**. This semantics defines the evolution of matching of a sequence passes until it matches.
  
-  * ** The spawning semantics**. This semantics defines when a sequence spawns another sequence using the same specification (e.g. advice) and sharing the history of what the sequence has matched until that moment. For example, tracematches spawn a new sequence if it only contains different bindings. +  * ** The spawning semantics**. This semantics defines when a sequence spawns another sequence using the same specification (e.g. advice) and sharing the history of what the sequence has matched until that moment. For example, tracematches spawn a new sequence if it only contains different bindings with respect to other sequences
  
   * ** The advice protocol semantics**.  This semantics defines how advices are applied when spawned sequences and their spawners match. The customization of this semantics is inspired by the [[http://portal.acm.org/citation.cfm?id=1408689|Dynamic AspectJ]] proposal.   * ** The advice protocol semantics**.  This semantics defines how advices are applied when spawned sequences and their spawners match. The customization of this semantics is inspired by the [[http://portal.acm.org/citation.cfm?id=1408689|Dynamic AspectJ]] proposal.
Line 15: Line 15:
  
 **Sequences**. In addition, sequences are first-class values and are specified using plain JavaScript functions, bringing the full benefits of the base language, in particular, the combination of higher-order functions and objects. To the best of our knowledge, there is no proposal that allows developers to define sequences expressively and to customize crucial semantics of a TM. **Sequences**. In addition, sequences are first-class values and are specified using plain JavaScript functions, bringing the full benefits of the base language, in particular, the combination of higher-order functions and objects. To the best of our knowledge, there is no proposal that allows developers to define sequences expressively and to customize crucial semantics of a TM.
- 
- 
- 
-**Causality**. Although OTM is an open implementation of existing TMs, OTM can be used to address distributed system issues that are present in Web applications that use [[http://en.wikipedia.org/wiki/Ajax_(programming)|Ajax technologies]] to send messages between the client(s) and servers. We have addressed two issues: [[otm/ordering of messages]] and [[otm/the matching of causal sequences]].  
  
 (Under construcction) Do you want to try the Boutique Web application example? Please, visit the [[otm/paperExample|paper example page]]. (Under construcction) Do you want to try the Boutique Web application example? Please, visit the [[otm/paperExample|paper example page]].
Line 50: Line 46:
 <pre id="preCode"> <pre id="preCode">
 //== helper code == //== helper code ==
-var SEs = OTM.SequenceExpressions;+var SQs = OTM.Sequences;
 var jpsDiv = document.getElementById("jps"); var jpsDiv = document.getElementById("jps");
 var a = function(){ var a = function(){
Line 60: Line 56:
 //==== //====
  
-var tm = {+var statefulAspect = {
     kind: OTM.AFTER,     kind: OTM.AFTER,
-    seqExpSEs.seq(SEs.call(a), SEs.call(b)),+    sequenceSQs.seq(SQs.call(a), SQs.call(b)),
     advice: function (jp){     advice: function (jp){
             jpsDiv.innerHTML += "[MATCH:ab after:" + jp + "] ";             jpsDiv.innerHTML += "[MATCH:ab after:" + jp + "] ";
     }     }
 }; };
-OTM.deploy(tm);+OTM.deploy(statefulAspect);
 //executing the a and b functions //executing the a and b functions
 a(); a();
  • otm.txt
  • Last modified: 2011/08/03 02:30
  • by aspectscript