http://www.cs.washington.edu/homes/djg/papers/oopsla2010jsaspects.pdf

James's Review

Motivation

  • Current meta-programming syntax of writing Firefox extensions for Javascript requires wrapping and monkey-patching, both of which can be improved by using an AOP approach.

Contributions

  • Dynamic-weaving (details in section 4.1)
  • Weaving into function closures
  • Dynamic disablement

Areas of Potential Improvement

  • Evaluation of Performance: The paper did not provide any absolute performance measurement in response times (ms.) Author used his own Javascript compiler to compare the performance of monkey-patching (not-AOP) and his proposed AOP syntax. Paper would be more effective if it provides some concrete comparisons of how the performance of paper’s JIT compiler would compare to existing Javascript engines such as Firefox’s Rhino and Chrome’s V8.

  • C# Implementation hinders practicality: The initial goal of the paper is to provide an easier syntax to develop Firefox extensions. However, because the paper’s JIT complier is implemented in C#, so far there’s still not a functioning web-browser that supports the Aspect-oriented development of the original Firefox extensions.

  • Statement_containing(): Syntax is not much more graceful than pure monkey-patching. Good thing the author’s AOP supports containing the environment for function-closures.

  • Not supporting event-dispatch: Control flow in Javascript is hugely event-driven. So far JIT compiler still does not support event-displatch (section 4.3.5)

Discussion

  • Section 4.3.3 Why: Each base pointcut pi must be the same type of poincut – all callee, all field, or all sstatement_containing(). Is it practical?

  • Implementing a debugger: Based on the way the paper implemented dynamic-weaving of closures in run-time, how easy/difficult do you think it would be to implement a console-based debugger like the one offered by Safari/Chrome?

Belief

  • Good attempt to pioneer and apply an aspect-oriented approach for meta-programming and writing extensions for Javascript applications. Liked the structure and flow of paper in which it used specific examples to showcase the need for AOP.

  • Would appreciate the paper more if details in evaluation and performance are better thought out.

  • Look forward to seeing IE to support Firefox extensions, whether developed with or without AOP-Javascript.

-- Main.tklo - 30 Nov 2010

Peng's Review

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2010-11-30 - tklo
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback