AspectScript: expressive aspects for the web

  • Authors:
  • Rodolfo Toledo;Paul Leger;Éric Tanter

  • Affiliations:
  • University of Chile -- Santiago, Chile;University of Chile -- Santiago, Chile;University of Chile -- Santiago, Chile

  • Venue:
  • Proceedings of the 9th International Conference on Aspect-Oriented Software Development
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

JavaScript is widely used to build increasingly complex Web applications. Unsurprisingly, these applications need to address cross-cutting concerns. Therefore support for aspect-oriented programming is crucial to preserve proper modularity. However, there is no aspect-oriented extension of JavaScript that fully embraces the characterizing features of that language: dynamic prototype-based programming with higher-order functions. In this paper, we present AspectScript, a full-fledged AOP extension of JavaScript that adopts higher-order programming and dynamicity as its core design principles. In AspectScript, pointcuts and advices are standard JavaScript functions, bringing the benefits of higher-order programming patterns to define aspects. In addition, AspectScript integrates a number of state-of-the-art AOP features like dynamic aspect deployment with scoping strategies, and user-defined quantified events. We illustrate AspectScript in action with several practical examples from the realm of client Web applications, and report on its current implementation. AspectScript is a practical extension that provides better modularity support to build Web applications, and that will eventually make it possible to empirically validate the benefits brought by advanced aspect language mechanisms in an evergrowing application domain.