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. AspectMatlab Compiler (amc) includes flow analyses which are used to eliminate many of those dynamic checks.
- Paper:  AspectMatlab: An Aspect-Oriented Scientific Programming Language
- Thesis:  AspectMatlab: An Aspect-Oriented Scientific Programming Language
- Technical Report:  AspectMatlab: An Aspect-Oriented Scientific Programming Language
- Paper:  Typing Aspects for MATLAB
- Paper:  AspectMatlab++: Annotations, Types, and Aspects for Scientists
- Thesis:  AspectMatlab++: Developing an Aspect-Oriented Language for Scientists
We are proud to release AspectMatlab++.
New features in this release:
- Several new patterns: annotate, type, and dimension
- New functionality for around advice on loops with body keyword
- Improved code weaving strategies for better performance
- New GUI that can be called from within MATLAB
We also include several new general purpose aspects which aid with several tasks ranging from ensuring type safety to managing units.
How to use the compiler:
- Download the AspectMatlab compiler.
- Extract amc.jar, along with the other files to a convenient location
- Run the “RunAMC.m” function in Matlab.
- Select the desired aspects to weave and the desired functions to weave, add them, and then press “Weave”
- The woven code can be found in a newly created “weaved” directory
A reference guide to AspectMatlab can be found here.