AspectMatlab | McIR and analysis and transformation engine | mcVM and McJIT | Matlab to Fortran | Domain-Specific Scientific Languages



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.


A beta-release of the amc compiler is freely available to download here. A detailed user manual is also available. (.html) (.pdf). Also, see release note for information about additional features that have been added in the most recent version.

Once you have a copy of amc.jar, you can execute the jar directly with a list of standard Matlab files along with AspectMatlab aspect files.

For example, one might run java -jar amc.jar myFunc.m myAspect.m.

You will find woven code generated by amc in weaved directory in the current working directory, which can be executed using any Matlab system.


Scientific Use Cases

A list of aspect and base programs along with amc generated woven code is given here.


If you have any questions or you find a problem with amc compiler, contact us, Laurie Hendren ( or Toheed Aslam (
Projects Publications Software People FAQs