AOJS: JavaScript Aspect-Oriented Programming Framework for JavaScript with Completely Separated Aspect Description JavaScript Web JavaScript JavaScript AOJS (Aspect-Oriented JavaScript) AOJS 1 JavaScript World Wide Web(WWW) (Aspect-oriented Programming; AOP) [1] (weaving; ) WWW JavaScript HTML JavaScript [2 5] JavaScript JavaScript Waseda University, Hitachi, Ltd., Fujitsu Laboratories ltd., Toshiba Solutions Corporation, NEC Corporation, Fujitsu Laboratories ltd., National Institute of Infomatics,
FOSE2008 [6 10] JavaScript Web Web JavaScript JavaScript JavaScript JavaScript JavaScript JavaScript JavaScript JavaScirpt JavaScript Web JavaScript JavaScript JavaScript AOJS(Aspect-Oriented JavaScript) AOJS AOJS JavaScript JavaScript Web Web JavaScript AOJS JavaScript HTTP 2 AOJS AOJS 2.1 AOJS Web Web AOJS 1 Web AOJS Web JavaScript
Aspect-Oriented Programming Framework for JavaScript with Completely Separated Aspect Description 1 Web JavaScript JavaScript 1 1. Web JavaScript : HTML JavaScript Web Web 2. JavaScript : Web Web 3. : JavaScript 4. JavaScript : JavaScript Web JavaScript Web 5. JavaScript : Web JavaScript 2.2 AOJS JavaScript JavaScript 2 AOJS XML after retvalue var varname before after function functionname before after inilializefile JavaScript inilializefile
FOSE2008 2 AOJS 1 JavaScript HTML script JavaScript 1 JavaScript AOJS /myfunc/foo/x JavaScript var function varname functionname /y y /fib gen 1/ret fib gen 1 x 2.3 JavaScript AOJS 2 1 JavaScript 3 JavaSciript 4 JavaScript 2 JavaScript 2 1
Aspect-Oriented Programming Framework for JavaScript with Completely Separated Aspect Description 3 JavaScript 4 3 1 <inilializefile>init.js</inilializefile> - 3/ <var varname= /fib gen 1/ret > ret = x + y 3/6 <var varname= /y > y = ret 3/5 <var varname= /y > y = 200 3/18 <function functionname = /fib gen 2 > fib gen 2() 3/21 2.4 5 before/after () /
FOSE2008 5 6 JavaScript ( ) 3/5 3 2 (/y) (/fib gen 1/ret) (/fib gen 2) 6 JavaScript 2.5 2.5.1 $1,$2 2.5.2 x x[0] 2.5.3 Web JavaScript JavaScript
Aspect-Oriented Programming Framework for JavaScript with Completely Separated Aspect Description 7 2.5.4 (Design by Contract) 2.5.5 JavaScript JavaScript Web JavaScript AOJS JavaScript 3 Java Perl JavaScript JavaCC AOJS : AMD Athlon 3500+ 4GB Memory Debian/GNU Linux 4.0r3 Apache 2.2.3 Squid 2.6 : Intel Core2Duo U7500 2GB Memory Ubuntu Desktop 8.04 3.1 3 JavaScript AOJS Web JavaScript 2 6 JavaScript Web fib 2 fib gen 2 sendlog init.js XmlHttpRequest 7 AOJS ( 2) Web
FOSE2008 2 [ ] 3 23 0.516 prototype.js [11] 2517 20.6 3 Web + + [ / ] (HTML) 1272 143.6 1290 (JavaScript) 1232 1.77 1327 [ ; ] (HTML) 0 4 0 (JavaScript) 0 560 1 3.2 Web 3 JavaScript prototype.js [11] 2 10 2.5.3 prototype.js 9 3 2 JavaScript JavaScript 3.3 Web HTML JavaScript (1)Web (2) (3) Web Apache Apache Benchmark Tool 1 10 5 1 Web AOJS 1 3 HTML Web JavaScript HTML JavaScript 550 1ms 0 1 Squid HTML JavaScript 1
Aspect-Oriented Programming Framework for JavaScript with Completely Separated Aspect Description 4 AspectJS [2] ulibjs Aspect [3] Cerny.js [5] JavaScript AspectJS JavaScript Dojo [6] Ext JS [7] The Yahoo! Uesr Interface Library (YUI) [8] ajaxpect [9] id name HTML JavaScript [4] HTML Mozilla Firefox JavaScript watch/unwatch [10] AOJS AOJS Web HTML JavaScript link AOJS HTML AOJS JavaScript Web Web [12] AOJS HTML JavaScript Stamey [13] PHP HTML JavaScript Aspect-oriented PHP(AOPHP) PHP AOJS 5 JavaScript AOJS AOJS Web JavaScript AOJS JavaScript-AOP JavaScript HTTP AOJS JavaScript
FOSE2008 AOJS JavaScript JavaScript (SSR)2008 GRACE [ 1 ] Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda, Cristina Lopes, Jean- Marc Loingtier, and John Irwin. Aspect-oriented programming. In Proceedings European Conference on Object-Oriented Programming, Vol. 1241, pp. 220 242. Springer-Verlag, 1997. [ 2 ] Zero. Aspectjs. http://zer0.free.fr/aspectjs/. [ 3 ]. ulibjs aspect. http://www.sip.eee.yamaguchi-u.ac.jp/kou/javascript/ Aspect.html. [ 4 ],,. Javascript. 2008, pp. 69 70., 1 2008. [ 5 ] Robert Cerny. Cerny.js. http://www.cerny-online.com/cerny.js. [ 6 ] Dojo. http://dojotoolkit.org/. [ 7 ] Ext js. http://extjs.com/. [ 8 ] The yahoo! user interface library. http://developer.yahoo.com/yui/. [ 9 ] Google. ajaxpect. http://code.google.com/p/ajaxpect/. [ 10] Mozilla Foundation. Core javascript 1.5 reference:global objects:object:watch. http:// developer.mozilla.org/ja/docs/core_javascript_1.5_reference:global_objects:object: watch. [ 11] Prototype Core Team. prototype.js. http://prototypejs.org/. [12],.. XII, pp. 13 18, 2005. [ 13] John Stamey, Bryan Saunders, and Simon Blanchard. The aspect-oriented web. In the 23rd annual international conference on Design of communication: documenting & designing for pervasive information, pp. 89 95, 2005.