AOJS: Aspect-Oriented JavaScript programming framework for web development

Hironori Washizaki, Atsuto Kubo, Tomohiko Mizumachi, Kazuki Eguchi, Yoshiaki Fukazawa, Nobukazu Yoshioka, Hideyuki Kanuka, Toshihiro Kodaka, Nobuhide Sugimoto, Yoichi Nagai, Rieko Yamamoto

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    18 Citations (Scopus)

    Abstract

    JavaScript is a popular scripting language that is particularly useful for client-side programming together with HTML /XML on the Web. As JavaScript programs become more complex and large, separation of concerns at the implementation level is a significant challenge. Aspect orientation has been a well known concept to realize improved separation; however, existing mechanisms require modifications in the target modules for aspect weaving in JavaScript (i.e., not "complete" separation). In this paper, we propose an Aspect-Oriented JavaScript framework, named "AOJS", which realizes the complete separation of aspects and other core modules in JavaScript. AOJS can specify function executions, variable assignments and file initializations in JavaScript programs as the joinpoints of aspects. Moreover, AOJS guarantees the complete separation of aspects and core program modules by adopting a proxy-based architecture for aspect weaving. By utilizing these features, we confirmed that AOJS offers improved modifiability and extendability for JavaScript programming.

    Original languageEnglish
    Title of host publicationProceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09
    Pages31-35
    Number of pages5
    DOIs
    Publication statusPublished - 2009
    Event8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th International Conference on Aspect-Oriented Software Development, AOSD.09 - Charlottesville, VA
    Duration: 2009 Mar 22009 Mar 6

    Other

    Other8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th International Conference on Aspect-Oriented Software Development, AOSD.09
    CityCharlottesville, VA
    Period09/3/209/3/6

    Fingerprint

    Aspect oriented programming
    HTML
    XML

    Keywords

    • aojs
    • aspect-oriented programming
    • javascript
    • separation of concerns
    • web development

    ASJC Scopus subject areas

    • Computational Theory and Mathematics
    • Software

    Cite this

    Washizaki, H., Kubo, A., Mizumachi, T., Eguchi, K., Fukazawa, Y., Yoshioka, N., ... Yamamoto, R. (2009). AOJS: Aspect-Oriented JavaScript programming framework for web development. In Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09 (pp. 31-35) https://doi.org/10.1145/1509276.1509285

    AOJS : Aspect-Oriented JavaScript programming framework for web development. / Washizaki, Hironori; Kubo, Atsuto; Mizumachi, Tomohiko; Eguchi, Kazuki; Fukazawa, Yoshiaki; Yoshioka, Nobukazu; Kanuka, Hideyuki; Kodaka, Toshihiro; Sugimoto, Nobuhide; Nagai, Yoichi; Yamamoto, Rieko.

    Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09. 2009. p. 31-35.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Washizaki, H, Kubo, A, Mizumachi, T, Eguchi, K, Fukazawa, Y, Yoshioka, N, Kanuka, H, Kodaka, T, Sugimoto, N, Nagai, Y & Yamamoto, R 2009, AOJS: Aspect-Oriented JavaScript programming framework for web development. in Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09. pp. 31-35, 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th International Conference on Aspect-Oriented Software Development, AOSD.09, Charlottesville, VA, 09/3/2. https://doi.org/10.1145/1509276.1509285
    Washizaki H, Kubo A, Mizumachi T, Eguchi K, Fukazawa Y, Yoshioka N et al. AOJS: Aspect-Oriented JavaScript programming framework for web development. In Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09. 2009. p. 31-35 https://doi.org/10.1145/1509276.1509285
    Washizaki, Hironori ; Kubo, Atsuto ; Mizumachi, Tomohiko ; Eguchi, Kazuki ; Fukazawa, Yoshiaki ; Yoshioka, Nobukazu ; Kanuka, Hideyuki ; Kodaka, Toshihiro ; Sugimoto, Nobuhide ; Nagai, Yoichi ; Yamamoto, Rieko. / AOJS : Aspect-Oriented JavaScript programming framework for web development. Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09. 2009. pp. 31-35
    @inproceedings{83c5a266b7d24dd194f5094e8885cf6d,
    title = "AOJS: Aspect-Oriented JavaScript programming framework for web development",
    abstract = "JavaScript is a popular scripting language that is particularly useful for client-side programming together with HTML /XML on the Web. As JavaScript programs become more complex and large, separation of concerns at the implementation level is a significant challenge. Aspect orientation has been a well known concept to realize improved separation; however, existing mechanisms require modifications in the target modules for aspect weaving in JavaScript (i.e., not {"}complete{"} separation). In this paper, we propose an Aspect-Oriented JavaScript framework, named {"}AOJS{"}, which realizes the complete separation of aspects and other core modules in JavaScript. AOJS can specify function executions, variable assignments and file initializations in JavaScript programs as the joinpoints of aspects. Moreover, AOJS guarantees the complete separation of aspects and core program modules by adopting a proxy-based architecture for aspect weaving. By utilizing these features, we confirmed that AOJS offers improved modifiability and extendability for JavaScript programming.",
    keywords = "aojs, aspect-oriented programming, javascript, separation of concerns, web development",
    author = "Hironori Washizaki and Atsuto Kubo and Tomohiko Mizumachi and Kazuki Eguchi and Yoshiaki Fukazawa and Nobukazu Yoshioka and Hideyuki Kanuka and Toshihiro Kodaka and Nobuhide Sugimoto and Yoichi Nagai and Rieko Yamamoto",
    year = "2009",
    doi = "10.1145/1509276.1509285",
    language = "English",
    isbn = "9781605584508",
    pages = "31--35",
    booktitle = "Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09",

    }

    TY - GEN

    T1 - AOJS

    T2 - Aspect-Oriented JavaScript programming framework for web development

    AU - Washizaki, Hironori

    AU - Kubo, Atsuto

    AU - Mizumachi, Tomohiko

    AU - Eguchi, Kazuki

    AU - Fukazawa, Yoshiaki

    AU - Yoshioka, Nobukazu

    AU - Kanuka, Hideyuki

    AU - Kodaka, Toshihiro

    AU - Sugimoto, Nobuhide

    AU - Nagai, Yoichi

    AU - Yamamoto, Rieko

    PY - 2009

    Y1 - 2009

    N2 - JavaScript is a popular scripting language that is particularly useful for client-side programming together with HTML /XML on the Web. As JavaScript programs become more complex and large, separation of concerns at the implementation level is a significant challenge. Aspect orientation has been a well known concept to realize improved separation; however, existing mechanisms require modifications in the target modules for aspect weaving in JavaScript (i.e., not "complete" separation). In this paper, we propose an Aspect-Oriented JavaScript framework, named "AOJS", which realizes the complete separation of aspects and other core modules in JavaScript. AOJS can specify function executions, variable assignments and file initializations in JavaScript programs as the joinpoints of aspects. Moreover, AOJS guarantees the complete separation of aspects and core program modules by adopting a proxy-based architecture for aspect weaving. By utilizing these features, we confirmed that AOJS offers improved modifiability and extendability for JavaScript programming.

    AB - JavaScript is a popular scripting language that is particularly useful for client-side programming together with HTML /XML on the Web. As JavaScript programs become more complex and large, separation of concerns at the implementation level is a significant challenge. Aspect orientation has been a well known concept to realize improved separation; however, existing mechanisms require modifications in the target modules for aspect weaving in JavaScript (i.e., not "complete" separation). In this paper, we propose an Aspect-Oriented JavaScript framework, named "AOJS", which realizes the complete separation of aspects and other core modules in JavaScript. AOJS can specify function executions, variable assignments and file initializations in JavaScript programs as the joinpoints of aspects. Moreover, AOJS guarantees the complete separation of aspects and core program modules by adopting a proxy-based architecture for aspect weaving. By utilizing these features, we confirmed that AOJS offers improved modifiability and extendability for JavaScript programming.

    KW - aojs

    KW - aspect-oriented programming

    KW - javascript

    KW - separation of concerns

    KW - web development

    UR - http://www.scopus.com/inward/record.url?scp=77952279944&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=77952279944&partnerID=8YFLogxK

    U2 - 10.1145/1509276.1509285

    DO - 10.1145/1509276.1509285

    M3 - Conference contribution

    AN - SCOPUS:77952279944

    SN - 9781605584508

    SP - 31

    EP - 35

    BT - Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09

    ER -