AspectMatlab: an aspect-oriented scientific programming language

  • Authors:
  • Toheed Aslam;Jesse Doherty;Anton Dubrau;Laurie Hendren

  • Affiliations:
  • McGill University, Montréal, Québec, Canada;McGill University, Montréal, Québec, Canada;McGill University, Montréal, Québec, Canada;McGill University, Montréal, Québec, Canada

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper introduces a new aspect-oriented programming language, AspectMatlab. Matlab® is a dynamic scientific programming language that is commonly used by scientists because of its convenient and high-level syntax for arrays, the fact that type declarations are not required, and the availability of a rich set of application libraries. AspectMatlab introduces key aspect-oriented features in a way that is both accessible to scientists and where the aspect-oriented features concentrate on array accesses and loops, the core computation elements in scientific programs. Introducing aspects into a dynamic language such as Matlab also provides some new challenges. In particular, it is difficult to statically determine precisely where patterns match, resulting in many dynamic checks in the woven code. Our compiler includes flow analyses which are used to eliminate many of those dynamic checks. This paper reports on the language design of AspectMatlab, the amc compiler implementation and related optimizations, and also provides an overview of use cases that are specific to scientific programming.