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
otm [2011/01/16 19:45]
aspectscript
otm [2011/08/03 02:30] (current)
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.+  * ** 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 seqDef = {+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(seqDef);+OTM.deploy(statefulAspect);
 //executing the a and b functions //executing the a and b functions
 a(); a();
Line 76: Line 72:
 <div style="display:none"> <div style="display:none">
 <pre id="preHtml"> <pre id="preHtml">
-<b>This is the list of events seen and matched by the tm:</b>+<b>This is the list of events seen and matched by the stateful aspect:</b>
 <div id="jps"></div> <div id="jps"></div>
 </pre> </pre>
  • otm.1295221538.txt.gz
  • Last modified: 2011/01/16 19:45
  • by aspectscript