Language Definition

Although AspectMatlab's design is mostly inspired by AspectJ, there are distinctive features of our language which are based upon two driving principles: (1) the ability to crosscut the multidimensional MATLAB array accesses and loops, and (2) the ability to bind the context information from the join point shadow as part of the action declaration. While designing the syntax for the aspect constructs, we focused on achieving a couple of goals. First, enriching the patterns structure for enhanced selective matching and secondly, not to deviate from the existing language constructs for the sake of better accessibility for existing MATLAB programmers.

This chapter elaborates the design of an aspect-oriented extension to a scientific programming language. We discuss the structure of an Aspect and all the constructs an aspect may contain, i.e., Properties, Patterns, Methods and Actions. It provides important details about the features of MATLAB we extended and on which we based our design. We discuss supported types of patterns and actions in detail. We also describe ways to create compound user-defined patterns and how to weave actions in different orders.



Subsections
Toheed ASLAM 2010-04-24