skip to main content
10.1145/1739230.1739252acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

AspectMatlab: an aspect-oriented scientific programming language

Published:15 March 2010Publication History

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.

References

  1. abc. The AspectBench Compiler. Home page http://aspectbench.org.Google ScholarGoogle Scholar
  2. AspectJ Eclipse Home. The AspectJ home page. http://eclipse.org/aspectj/, 2003.Google ScholarGoogle Scholar
  3. P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: An extensible AspectJ compiler. In AOSD, pages 87--98. ACM Press, Mar. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Casey. The MetaLexer lexical specification language. Master's thesis, McGill, Sept 2009.Google ScholarGoogle Scholar
  5. K. Chen and C.-H. Chien. Extending the field access pointcuts of AspectJ to arrays. Journal of Software Engineering Studies, 2(2):93--102, June 2007.Google ScholarGoogle Scholar
  6. T. Ekman and G. Hedin. The Jastadd extensible Java compiler. In OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications, pages 1--18, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Harbulot and J. R. Gurd. A join point for loops in AspectJ. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 63--74, New York, NY, USA, 2006. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. M. F. JoÃčo M. P. Cardoso and M. P. Monteiro. Adding aspect-oriented features to Matlab, March 2006. Proceedings of SPLAT workshop at AOSD '06 http://www.aosd.net/workshops/splat/2006/papers/cardoso.pdf.Google ScholarGoogle Scholar
  9. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In ECOOP, volume 2072, pages 327--353, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Kuzins. Efficient implementation of around-advice for the AspectBench compiler. Master's thesis, Oxford University, September 2004.Google ScholarGoogle Scholar
  11. R. Lämmel and K. De Schutter. What does aspect-oriented programming mean to Cobol? In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 99--110, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. D. F. Richard L. Burden. Numerical Analysis, eigth edition. Thomson Books/Cole, Belmont, California, 2005.Google ScholarGoogle Scholar
  13. D. S. Watkins. Fundamentals of Matrix Computations, second edition. John Wiley and Sons, 2002.Google ScholarGoogle Scholar

Index Terms

  1. AspectMatlab: an aspect-oriented scientific programming language

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development
        March 2010
        242 pages
        ISBN:9781605589589
        DOI:10.1145/1739230

        Copyright © 2010 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 March 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate41of139submissions,29%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader